petergyger
Goto Top

Suchen in Excel

Guten Morgen

Ausgangslage:
Exceldatei. 4 Tabellen. Lösung ohne VBA gesucht.

Tabellen 1 -3:
Spalte C mehrere tausende MAC Adressen stehen (Doppelpunkt Format).
Spalte D unterschiedlich kombinierte Textbausteine. U.a. "fixed IP Address". D.h. der Ausdruck steht in verschiedener Kombination in den Zellen der Spalte D.

Tabelle 4:
Spalte B stehen mehrere MAC. Diese sollen verglichen werden mit den MAC Adressen der Tabellen 1-3 (Spalte C).
Wenn eine Übereinstimmung besteht, soll der Text in der Spalte D der Tabellen 1-3 auf den Text ""fixed IP Address" überprüft werden.
Wenn auch dieser Test positiv ausfällt, die Zeile in der Tabelle 4 hervorheben. Bzw. mit einem Text anzeigen.

Usetzung:
Suchen über mehrere Tabellen funktioniert.
Vergleichen eines Teil des Textes (VBA: MID$) klappt nicht. Bzw. noch nicht die richtige Funktion gefunden.
Hat jemand eine Idee?

Vielen Dank

Beste Grüsse

Content-Key: 3852479525

Url: https://administrator.de/contentid/3852479525

Printed on: April 20, 2024 at 04:04 o'clock

Member: radiogugu
radiogugu Sep 06, 2022 at 05:22:22 (UTC)
Goto Top
Moin.

Ich würde hier wahrscheinlich mit einer verschachtelten Wenn Funktion mit Sverweisen herangehen und es damit probieren.

Ich würde für jede der drei Quelltabellen ein Hilfsfeld / eine Hilfsspalte in die Tabelle vier packen, damit die Verschachtelung nicht zu groß wird.

Nachdem Motto:

wenn(istfehler(sverweis(B3;Tabelle1'C3:D50000;2;0));"FehlerTab1";sverweis(B3;Tabelle1'C3:D50000;2;0))  

Wenn dann dieses Feld einen bestimmten Wert hat, eine vierte Spalte in Tabelle vier verwenden und dort entsprechend die Daten kumulieren bzw. auswerten.

Gruß
Marc
Mitglied: 3803037559
Solution 3803037559 Sep 06, 2022 updated at 08:53:11 (UTC)
Goto Top
Sverweis über mehrere Tabellen geht auch ohne Verschachtelung
Sverweis - mehrere Tabellen durchsuchen
Vergleichen eines Teil des Textes (VBA: MID$) klappt nicht. Bzw. noch nicht die richtige Funktion gefunden.
SUCHEN() ist dein Freund.

multi_search.xlsx

Cheers
certguy
Member: PeterGyger
PeterGyger Sep 06, 2022 at 18:10:38 (UTC)
Goto Top
Hallo certguy

Gerade zu Hause angekommen. Danke für die Mühe mit einer Beispieldatei.
Die Funktionen "suchen" / "finden" waren mir heute Morgen nicht present.

Gerade die Kürze und dadurch gegebene Lesbarkeit der Formel beeindruckt micht.
Ich schaue mir das Morgen an, wenn ich etwas Schlaf hatte.

Beste Grüsse
Member: PeterGyger
PeterGyger Sep 07, 2022 updated at 02:25:37 (UTC)
Goto Top
Guten Morgen certguy

Meine Umsetzung ist fehlerhaft. Kannst Du Dir das kurz anschauen?
Das Resultat lautet "Falsch" obwohl ich einen Testrecord mit identischer MAC und dem Teilstring angelegt habe.

Korrekt ist, dass die gesuchte Mac Address in der Spalte B[x] ist. Für den Test Zeile 2 - also B2
Korrekt ist, dass der gesuchte Wert in der Spalte C der anderen Tabelle ist
Korrekt ist, dass der gesuchte String "IPv4 Fixed Address" lautet

Schritt 1
Text angepasst
Schritt 2
Tabellennamen ersetzt
=WENNFEHLER(WENN(SUCHEN("IPv4 Fixed Address";SVERWEIS($B2;INDIREKT("'"&INDEX(  
{"604";"606";"607"};  
VERGLEICH(1;(ZÄHLENWENN(INDIREKT("'"&  
{"604";"606";"607"}  
&"'!C:C");$B2)>  

Schritt 3
2 weitere Tabellen hinzugefügt:
=WENNFEHLER(WENN(SUCHEN("IPv4 Fixed Address";SVERWEIS($B2;INDIREKT("'"&INDEX(  
{"604";"606";"607";"608";"614"};  
VERGLEICH(1;(ZÄHLENWENN(INDIREKT("'"&  
{"604";"606";"607";"608";"614"}  
&"'!C:C");$B2)>  
0)+0;0))&"'!$C:$D");2;0));WAHR;FALSCH);FALSCH)  

Schritt 4

Funktion zusammen gesetzt und eingefügt
Test Zeile erstellt:
MAC Addr aus der Ausgangstabelle in der Tabelle 614 Spalte C eingetragen
String in der gleichen Tabelle / Zeile in Spalte F eingetragen: "IPv4 Fixed Address, Lease, PTR Record, IPv4 DHCP Range"

=WENNFEHLER(WENN(SUCHEN("IPv4 Fixed Address";SVERWEIS($B2;INDIREKT("'"&INDEX({"604";"606";"607";"608";"614"};VERGLEICH(1;(ZÄHLENWENN(INDIREKT("'"&{"604";"606";"607";"608";"614"}&"'!C:C");$B2)>0)+0;0))&"'!$C:$D");2;0));WAHR;FALSCH);FALSCH)  

Besten Dank!

Beste Grüsse
Mitglied: 3803037559
3803037559 Sep 07, 2022 updated at 05:48:45 (UTC)
Goto Top
Zeile in Spalte F eingetragen:
Das ist dein Fehler! Die Formel geht ja davon aus das der zu prüfende String in Spalte D steht so wie du oben unter Punkt C. geschrieben hast. Ist das nicht der Fall dann musst du den Sverweis Bereich um die Spalte erweitern $C:$F und den Spaltenindex für die zurückzugebende Spalte auf 4 setzen!
=WENNFEHLER(WENN(SUCHEN("IPv4 Fixed Address";SVERWEIS($B2;INDIREKT("'"&INDEX({"604";"606";"607";"608";"614"};VERGLEICH(1;(ZÄHLENWENN(INDIREKT("'"&{"604";"606";"607";"608";"614"}&"'!C:C");$B2)>0)+0;0))&"'!$C:$F");4;0));WAHR;FALSCH);FALSCH)  
Member: PeterGyger
PeterGyger Sep 07, 2022 at 06:45:48 (UTC)
Goto Top
Hallo certguy

Danke für das debuggen!

Im ersten Post ist mir eine Verwechslung unterlaufen.
Der Text ist in der Spalte "F".

Wenn der Text in der Spalte "F" steht, warum muss ich im Sverweis "$C:$F" angeben?
Reicht "$F" nicht einfach aus?

Beste Grüsse
Mitglied: 3803037559
3803037559 Sep 07, 2022 updated at 07:44:55 (UTC)
Goto Top
Zitat von @PeterGyger:
Wenn der Text in der Spalte "F" steht, warum muss ich im Sverweis "$C:$F" angeben?
Reicht "$F" nicht einfach aus?
Nein reicht nicht, denn SVERWEIS benötigt den Bereich an Spalten in der auch die MAC Adresse steht weil es diese ja erst suchen muss und das macht es nur in der ersten Spalte der Matrix, ausgehend von dieser Spalte wird dann der Index angegeben welcher angibt aus welcher Spalte der Matrix der Wert zurückgegeben werden soll.
Doku lesen hilft tatsächlich 😉
SVERWEIS

Cheers
certguy
Member: PeterGyger
PeterGyger Sep 12, 2022 at 17:50:43 (UTC)
Goto Top
Hallo certguy

Endlich Zeit zum testen.

Die Funktion funktioniert nicht.
D.h. sie zeigt als Ergebnis "FALSCH" an, obwohl ich mit CTRL-F die Zeile die beide Kriterien erfüllen muss finde.

Ich fange jetzt an mit dem aufbrechen der Funktion. D.h. Teil für Teil isoliert testen.
Ich habe im Tabellenblatt den Text ,"IPv4 Fixed Address". Den Text habe ich in Zeile E36 geschrieben.
Ich erhalte Null Treffer mit dieser Formel.
=SUCHEN("IPv4 Fixed Address";A1:F1000)

Also wenn suchen bereits im gleichen Tabellenblatt nicht wie erwartet funktioniert, dann wird das der Schwachpunkt der Formel sein. Mal sehen, wie ich das anders drehen kann.

Beste Grüsse
Mitglied: 3803037559
3803037559 Sep 12, 2022 updated at 20:34:33 (UTC)
Goto Top
Die Funktion funktioniert nicht.
Doch tut sie , siehst du ja im Demo-Sheet 😜

Ich erhalte Null Treffer mit dieser Formel.
=SUCHEN("IPv4 Fixed Address";A1:F1000)
Das ist ja auch falsch. Schau in die Doku dann weißt du auch wieso das was du hier versuchst nicht geht... Ne nee neee
Member: PeterGyger
PeterGyger Sep 13, 2022 at 02:11:45 (UTC)
Goto Top
Guten Morgen Certguy

Dein Demo Sheet habe ich vergessen
Asche auf mein Haupt!

Das schaue ich mir heute Abend gleich nochmals an.

Beste Grüsse