Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1556to1560
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Suchen über drei Spalten, der Reihe nach

Suchen über drei Spalten, der Reihe nach
18.05.2017 18:56:38
Peter
Hallo zusammen
Ich habe zwei Tabellen, in der Tbl "REC" steht in AU das Suchkriterium. Dieses Suchkriterium wird in Tbl "COM" in drei Spalten E, G und H gesucht. Wird in E nichts gefunden, dann soll in G gesucht werden, wird auch in G nichts gefunden, dann soll in H gesucht werden.
Wenn das Suchkriterium gefunden wird, dann soll der Wert in A, in die Tbl REC in Spalte AV geschrieben werden.
Ich versuchte das Problem mit ISTFEHLER zu lösen, unten stehende Formel funktioniert auch bestens, jedoch nur mit der ersten und zweiten Spalten-Suche, resp. Zweiten und Dritten. Wie müsste ich die Formeln mit Wenn verknüpfen? Mein Knopf raucht schon, schaffe es nicht, zu abstrakt für mich.
Folgend nochmals die zwei Tabellen mit den Kriterien gelistet:
1. Tbl "REC": AU steht das Suchkriterium
1. Tbl "REC": AV ist die Zielspalte, da soll das gefunde Ergebnis rein geschrieben werden
2. Tbl "COM": A steht der gefunde Zielwert, der in Tbl REC AV geschrieben wird.
2. Tbl "COM": E steht das erste Suchkriterium
2. Tbl "COM": G steht das zweite Suchriterium, wenn in E nichts gefunden wird, dann in G suchen
2. Tbl "COM": H steht das dritte Suchkriterium, wenn in G nichts gefunden wird, dann in H suchen
Formel für die Suche zuerst in der ersten Spalten E, wenn nichts gefunden wird -> NV, dann suche in der zweiten Spalte G
=WENN(ISTFEHLER(INDEX(COM!$A2:$A473;VERGLEICH(REC!AU2;COM!$E2:$E473;0)));INDEX(COM!A2:A473; VERGLEICH(REC!AU2;COM!$G2:$G473;0));INDEX(COM!$A2:$A473;VERGLEICH(REC!AU2;COM!$E2:$E473;0))) 
Und foglend die zweite Formel, wenn in der zweiten Suchspalte G nichts gefunden wird -> NV, dann suche in der dritten Spalten H.
=WENN(ISTFEHLER(INDEX(COM!$A2:$A473;VERGLEICH(REC!AU2;COM!$G2:$G473;0)));INDEX(COM!A2:A473; VERGLEICH(REC!AU2;COM!$H2:$H473;0));INDEX(COM!$A2:$A473;VERGLEICH(REC!AU2;COM!$G2:$G473;0))) 
das ganze mit geschweiften Klammern, die geschweiften Klammern werden hier nicht angezeigt.
Wie muss ich diese beiden Formeln miteinander verschachteln?
Danke
Viele Grüsse,
Peter

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Spaltenminimum eines Suchbegriffs
18.05.2017 20:22:23
WF
Hi,
das funktioniert einfacher - ich geh jetzt nicht auf Dein Beispiel ein.
In den Spalten E, G und H soll nach x gesucht und die erste Fundstelle (Spaltenzahl) ausgegeben werden:
{=MIN(WENN(E1:E99="x";5;WENN(G1:H99="x";{7.8})))}
WF
AW: Spaltenminimum eines Suchbegriffs, geht nicht
18.05.2017 21:59:42
Peter
Hallo WF
Danke für Deine Antwort, jedoch funktioniert die Formel nicht. Es gibt Zahlen und Texte und die Suchkriterien kommen mehrfach vor.
Mit dieser angepassen Formel habe ich es versucht:
Die geschweiften Klammern bekomme ich nicht rein, wie geht das?
=MIN(WENN(COM!$A$2:$A$473=REC!$AS10;5;WENN(COM!$E$2:$G$473=REC!$AS10;{7.8})))
Gibt es noch eine andere Lösung?
Danke
GN
Peter
Anzeige
das ist eine ARRAY-Formel
18.05.2017 22:23:16
WF
Eingabe Arrayformel:
Du kopierst Dir die Formel.
Dann gehst Du in die Bearbeitungszeile, löschst die {geschweiften Klammern} am Anfang und Ende und schließt ab mit GLEICHZEITIG: Strg Shift Enter (statt Enter allein). Dadurch werden diese Klammern erzeugt.
und bezogen auf Deine obige Formel:
Spalte A ist nicht 5 sondern 1
Weiterhin hast Du die Spalten E:G - das sind nicht 7.8 sondern 5.6.7
Die Formel müsste so aussehen:
{=MIN(WENN(COM!$A$2:$A$473=REC!$AS10;1;WENN(COM!$E$2:$G$473=REC!$AS10;{5.6.7})))}
WF
AW: Fehler in Formel, anstatt 5.6.7 -> 5.67
18.05.2017 23:24:02
Peter
Hallo WF
Danke für Deine Info, jedoch wird angezeigt, dass die Formel einen Fehler aufweist und die unten stehende Korrektur wird vorgeschlagen. Die Array-Klammern kenne ich schon, ich habe mich dabei offensichtlich schlecht ausgedrückt, ich weiss nicht wie ich diese hier im Forum angezeigt bekomme.
Betreffend der Korrekturvorschlag von Excel, -> anstatt 5.6.7 wird 5.67 geschrieben, der Punkt zwischen 6 und 7 wird gelöscht. Weiss Du woran das liegt?
(Die geschweiften Klammern schreibe ich in Excel, eben ich weiss nicht wie ich diese hier im Forum angezeigt bekomme?
=MIN(WENN(COM!$A$2:$A$473=REC!$AS11;1;WENN(COM!$E$2:$G$473=REC!$AS11;{5.67})))
Danke
Viele Grüsse,
Peter
Anzeige
Bist du Schweizer und verwendest somit ...
18.05.2017 23:54:47
Luc:-?
…den DezimalPunkt anstelle des deutschen Kommas, Peter?
Dann resultiert Xls KorrekturVorschlag allein daraus! Die Schweiz hat andere Einstellungen — auch für MatrixKonstanten, die seltsamerweise auch nicht mit den Us-/englischen übereinstimmen. Die Matrix­Konstante müsste dann so aussehen: {5\6\7} Original-US/englisch so: {5,6,7}
Gruß, Luc :-?
Besser informiert mit …
AW: Formel angepasst, -> falscher Wert, Testdatei
19.05.2017 06:45:01
Peter
Hallo Luc und WF
Ja ich bin Schweizer, und habe die Formel nun entsprechend angepasst, danke für Deinen wertvollen Hinweis. Jeoch läuft die Formel trotzdem nicht, sie funktioniert, jedoch wird nicht der richtig Wert gefunden. Ich habe nun eine Testdatei hochgeladen.
Warum wird der falsche Wert gefunden?
https://www.herber.de/bbs/user/113685.xlsm
Danke
Viele Grüsse,
Peter
Anzeige
5 ist der richtige Wert !
19.05.2017 08:25:40
WF
Die Formel sucht die Spalte, in er das Suchkriterium erstmals vorkommt.
Das ist Spalte E und das ist die fünfte Spalte.
Der Wert in Spalte A ist dann
=INDEX(COM!A:A;VERGLEICH(REC!$AS4;COM!E:E;0))
Das kann man auch in eine einzige Formel fummeln.
WF
zusammengefummelt in AT4
19.05.2017 08:58:08
WF
{=INDEX(COM!A:A;VERGLEICH(REC!$AS4;BEREICH.VERSCHIEBEN(COM!A:A;0;MIN(WENN(COM!$A$2:$A$473=REC!$AS4;5; WENN(COM!$E$2:$G$473=REC!$AS4;{5.6.7})))-1;;);0)) }
WF
AW: zusammengefummelt in AT4
19.05.2017 14:42:32
Peter
Hallo WF
Scheint so, als habe ich nun die Lösung gefunden:
mi Array
=WENN(ISTFEHLER(INDEX(COM!A:A;VERGLEICH(REC!$AS124;COM!E:E;0)));WENN(ISTFEHLER(INDEX(COM!A:A; VERGLEICH(REC!$AS124;COM!F:F;0)));INDEX(COM!A:A;VERGLEICH(REC!$AS124;COM!G:G;0));INDEX(COM!A:A; VERGLEICH(REC!$AS124;COM!F:F;0)));INDEX(COM!A:A;VERGLEICH(REC!$AS124;COM!E:E;0))) 
Viele Grüsse,
Peter
Anzeige
viel Vergnügen,
19.05.2017 16:03:01
WF
wenn es sich nicht nur um 3 sondern um 15 Spalten handelt.
grins WF
AW: Bist du Schweizer und verwendest somit ...
19.05.2017 14:41:53
Peter
Hallo Luc
Scheint so, als habe ich nun die Lösung gefunden:
mi Array
=WENN(ISTFEHLER(INDEX(COM!A:A;VERGLEICH(REC!$AS124;COM!E:E;0)));WENN(ISTFEHLER(INDEX(COM!A:A; VERGLEICH(REC!$AS124;COM!F:F;0)));INDEX(COM!A:A;VERGLEICH(REC!$AS124;COM!G:G;0));INDEX(COM!A:A; VERGLEICH(REC!$AS124;COM!F:F;0)));INDEX(COM!A:A;VERGLEICH(REC!$AS124;COM!E:E;0))) 
Viele Grüsse,
Peter
Na, dann... ;-) owT
19.05.2017 15:24:03
Luc:-?
:-?

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige