Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Wertabfrage aus mehr dimensionaler Matrix

Frage Microsoft Microsoft Office

Mitglied: Nichita

Nichita (Level 1) - Jetzt verbinden

21.09.2014 um 15:53 Uhr, 1505 Aufrufe, 2 Kommentare, 2 Danke

Hallo,

ich möchte einen Wert aus einer Matrix ablesen in Abhängigkeit von 3 Variablen.

Das erste Bild zeigt die Tabelle in der der Wert "Preis pro KG" aus der Matrix eingefügt werden soll.

4f8a87345efb35c9b6ef3c98fb26ea32 - Klicke auf das Bild, um es zu vergrößern

d.h. Ich möchte einen Wert in der Zelle "Preis pro KG"


Hier in Bild 2 sieht man die Matrix aus der der Wert "Preis pro KG" ausgelesen werden soll.

757f0944c6af7513fe54e19d4e04a8a2 - Klicke auf das Bild, um es zu vergrößern


1. Sendungsgewicht, PLZ und Land aus Bild 1 entscheiden über den Wert aus der Matrix in Bild 2.

z.B. Erste Zeile ist Sendungsgewicht 900 KG, PLZ = 5 und Land ist DE
d.h. er soll aus der Matrix den Wert: 7,000 in die Tabelle aus Bild 1 reinschreiben.

Wie lässt sich das mit einer Formel lösen ?

Danke schonmal

Mitglied: colinardo
LÖSUNG 21.09.2014, aktualisiert 07.10.2014
Hallo Nichita,
das lässt sich mit einer Matrix(Array)-Formel erledigen. Ich habe dir dazu mal ein Beispiel-Sheet erstellt:
search_value_in_matrix_249785.xlsx

4cb7107fe43eeedb8094f21bed2716ab - Klicke auf das Bild, um es zu vergrößern

Die Formel verwendet die Funktionen Index() und Vergleich() in Kombination als Matrix-Formel.

BITTE BEACHTEN: Dies ist eine Matrix-Formel. Man muss die Formel mit STRG-SHIFT-ENTER abschließen anstatt nur mit einem "einfachen" Enter. Eine Matrixformel erkennt man in Excel daran das in der Formelzeile die Formel mit geschweiften Klammern eingefasst wird. Diese darf man jedoch nicht manuell eingeben.

Die Formel zerlegt:

Die Funktion Index() liefert aus einer Matrix den jeweiligen Wert mit Hilfe von einer Zeilen- und Spaltenangabe als Nummer. Die Matrix ist im Beispiel die Tabelle mit unseren Quelldaten $A$17:$F$19.

=INDEX($A$17:$F$19; Zeilennummer; [Spaltennummer])

Die Zeilennummer ermitteln wir nun mit der Funktion Vergleich(). Mit dieser suchen wir nach einer 1, welche aber nur zurückgegeben wird wenn das zweite Argument ($A$17:$A$19=C2)*($B$17:$B$19=B2) als Ergebnis eine 1 liefert. Dieses Konstrukt funktioniert nur als Matrix-Formel und nur ergibt nur eine 1 wenn PLZ und LAND in der Zielmatrix übereinstimmen. Die Vergleich-Funktion liefert als Ergebnis die relative vertikale Position in der Matrix, also die passende Zeile.

=INDEX($A$17:$F$19;VERGLEICH(1;($A$17:$A$19=C2)*($B$17:$B$19=B2);0); [Spaltennummer])

Nun kommen wir zur Spalte. Dies machen wir ebenfalls mit der Funktion Vergleich(). Diesmal aber mit einer Liste von Werten: VERGLEICH(D2;{0;501;1001;2001})+2
Dies vergleicht nun das Gewicht unserer aktuellen Zeile mit einer Matrix von Werten die die Grenzen der jeweiligen Gewichtsklassen darstellen. Die Funktion fällt dabei immer auf den nächst niedrigeren Wert in der Matrix zurück und gibt dessen Position aus. Zu dieser Positionsangabe addiert man dann noch die Anzahl an Spalten die in der Matrix vor den Gewichtsklassen stehen.
Damit haben wir unsere gesuchte Spalte und die Formel ist komplett:

=INDEX($A$17:$F$19;VERGLEICH(1;($A$17:$A$19=C2)*($B$17:$B$19=B2);0);VERGLEICH(D2;{0;501;1001;2001})+2)

Hoffe das war soweit verständlich beschrieben

Grüße Uwe
Bitte warten ..
Mitglied: colinardo
23.09.2014, aktualisiert um 22:01 Uhr
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen. Merci.
Bitte warten ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...