Frage Wie kann ich SVERWEIS in einer IF-Anweisung kombinieren, wobei der Spaltenindex der SVERWEIS-Funktion eine aus einem Text extrapolierte Zahl ist?


Ich habe die folgenden Tabellen in Excel; Product Stock 

und Stock Analysis.

Das Produkt Lagertisch (PST) ist umfangreicher als das, aber für die Zwecke dieser Frage habe ich es niedergelegt.

Ich möchte den Wert in einer Spalte in der Aktienanalysetabelle nachschlagen (SAT) entspricht dem Wert in der Spalte Größe der Tabelle Produktbestand.

In diesem Fall zum Beispiel der Wert in der Spalte "Größe" in meiner Produkt-Tabelle (PST) ist 8 also ich möchte den Wert in der Größe 8 Spalte meiner Aktienanalyse-Tabelle. Wenn mein Wert wäre 5 dann nachschlagen Größe 5 in meiner Aktienanalyse-Tabelle (SAT).

Beachten Sie, dass die Datenvalidierung durchgeführt wurde, um sicherzustellen, dass die Werte in der Spalte "Größe" meiner Produktbestandstabelle auf der angegebenen Dimension basieren und daher nur eine Reihe von Größen aufweisen, die auch die Spalten der Aktienanalysetabelle sind

Es wurde auch eine Formel eingefügt, um sicherzustellen, dass die nächste Zeile der SAT wird immer eine Chargennummer haben, die um eins mehr als die vorherige Reihe ist (d. h., es gibt eine Erhöhung von 1 in der Spalte Charge Nr. für jede neue Reihe), um sicherzustellen, dass keine Chargen wiederholt werden SAT


4
2018-05-02 09:43


Ursprung


Nicht sicher, dass ich es komplett verstehe. Sie haben Ihre Tabellen nicht beschriftet, ich nehme an, die erste ist Ihre PST und die zweite ist Ihre SAT? Welches Ergebnis erwartest du? Sie erwähnen, dass die Größenspalte Ihrer PST 8 ist, was wäre das Ergebnis Ihrer SAT-Tabelle? Ich nehme 7 an? - Kevin Anthony Oppegaard Rose
Ja, ich entschuldige mich, aber als ich die Frage eintippte, schien es mir, dass die Tische beschriftet waren. Ich versuchte jedoch weiter zu erklären. @ g.kov schien mein Problem gelöst zu haben. - MrMarho


Antworten:


Etwas wie das?

enter image description here

Formel in H12 ist:

=VLOOKUP(E12,$C$6:$H$8,MATCH("Size "&F12,$C$5:$H$5,0),FALSE)

Bearbeiten: Wie die Formel in H12 funktioniert.

Der Teil, der eine Spaltennummer angibt,

MATCH("Size "&F12,$C$5:$H$5,0)

Verkettet zuerst das Präfix "Size " mit dem Wert von F12 (= 8), was zu einer Zeichenkette führt "Size 8". Dann es Durchsucht die Zellen in der Kopfzeile $C$5:$H$5  um diese Schlüsselzeichenfolge zu finden und gibt eine Nummer der übereinstimmenden Zelle zurück, nämlich 6 (die letzte Zelle in der Kopfzeile). Dann die Formel

=VLOOKUP(E12,$C$6:$H$8,MATCH("Size "&F12,$C$5:$H$5,0),FALSE)

wird im Wesentlichen

=VLOOKUP(E12,$C$6:$H$8,6,FALSE)

der nach dem Inhalt von sucht E12 (= 1) in der ersten Spalte des Bereichs $C$6:$H$8. Mit anderen Worten, es wählt die Zeile aus entspricht Batch No=1, welches ist 1. Und gegeben die Reihe (= 1) und Spalte (= 6) Zahlen im Bereich $C$6:$H$8, VLOOKUP Gibt einen gespeicherten Wert zurück H6, welches ist 7.


10
2018-05-02 11:20



Ja genau, wonach ich suche. Sie haben gerade 4 Stunden Brainstorming beendet. - MrMarho
Es besteht also keine Notwendigkeit für meine IF-Funktion, da die Datenvalidierung durchgeführt wurde, nehme ich an? - MrMarho
@MrMarho: Nun, es gibt immer einen Platz für Fehler, also liegt es an dir, mit ihnen umzugehen. - g.kov
@fixer1234: hinzugefügt - g.kov


Probieren Sie die index Funktion mit einer Übereinstimmung für die Batch # und den Size-Text:

=INDEX(C6:H8,MATCH($E12,$C$6:$C$8,0),MATCH("Size "&$F12,$C$5:$H$5,0))

2
2018-05-02 16:05



Willkommen bei Super User. Antworten, die erziehen, sind besser als solche, die nur eine Lösung für Schnitt und Vergangenheit bieten, weil sie dem Leser helfen, das nächste Problem zu lösen. Können Sie ein paar Sätze hinzufügen, um zu erklären, wie das funktioniert? Vielen Dank. - fixer1234