Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1968to1972
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

doppelte Wenn-Wahr-Abfrage über 2 Dateien

doppelte Wenn-Wahr-Abfrage über 2 Dateien
26.03.2024 10:00:23
Alex
Seid mir gegrüßt.

Sachverhalt:
Tabelle1 (xlsx): Übersicht aller Geräte an einem Standort. Spalte A: ID-Nummer, Spalte B: Seriennummer, Spalte C-Firmware-Version etc
Tabelle2 (xlsx): Export aus einer internen Datenbank, jedes Gerät steht in einer extra Zeile. Alle Daten zu dem jeweiligen Gerät sind alle in einer Zelle mit Komma getrennt.
Bsp.: 123456,ASDF23879789,15.2.7,etc

Ich benötige bitte eine Formel, welche prüft, ob das Gerät mit der Seriennummer von Tabelle1 Zeile 1 die Firmwareversion 15.2.7, oder eine andere in Tabelle 2 A1:A80 hat.
Gleiches dann auch mit dem Gerät Tabelle 1 Zeile 2 etc.

Gruß Alex

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

Betreff
Datum
Anwender
Anzeige
AW: doppelte Wenn-Wahr-Abfrage über 2 Dateien
26.03.2024 10:14:22
Oberschlumpf
Hi Alex,

ich bin ziemlich sicher, du meinst es nicht so, aber...

Du hast nix anderes als einen Auftrag an uns gestellt.
Aber mit Aufträgen solltest du dich besser an einen (kostenpflichtigen) Auftrags-Programmierer wenden.

In einem Forum, egal ob hier oder woanders, MUSST DU schon ein bisschen mehr mitarbeiten.

Du könntest uns bitte per Upload von beiden Dateien jeweils 1 Bsp-Datei mit jeweils genügend Bsp-Daten zeigen, so dass auch wir sehen können, was du erreichen möchtest.
Und mit Datei(en) können wir auch besser testen als ohne.

Ciao
Thorsten
Anzeige
AW: doppelte Wenn-Wahr-Abfrage über 2 Dateien
26.03.2024 13:14:55
Oberschlumpf
Hi Alex,

hier, versuch mal:
https://www.herber.de/bbs/user/168330.zip

Wichtig!
ZIP-Datei zuerst in ein beliebiges Verzeichnis entpacken und erst dann die Datei Tabelle1.xlsm starten

Vielleicht ein "kleines Problem" für dich:
Ich vergaß zu fragen, ob es eine Formellösung SEIN MUSS, oder ob auch die Verwendung von VBA möglich ist.

Da ich mich eher in VBA als in Formeln auskenne, zeige ich dir meine VBA-Idee, die aber (auch?) deine Frage beantwortet...wenn ich die denn richtig verstanden habe ,-)

So, genug langer Vorreden, nun zur Erklärung meiner Datei.

1. Mit Öffnen der Datei Tabelle1.xlsm muss die Ausführung von Makros erlaubt sein
2. Nach Öffnen der Datei siehst du einen neuen Button in der Datei
3. Nach Klick auf den Button wirst du aufgefordert, die von dir erwähnte Export -Datei zu öffnen
4. nun geht alles sehr schnell (zumindest mit den Bsp-Dateien):
- nach Auswahl der richtigen Export-Datei wird diese geöffnet
- mit Hilfe zwei verschachtelter For/Next-Schleifen wird jede Seriennummer aus Tabelle1.xlsM in jeder Zeile der Export-Datei gesucht
- wenn Seriennummer in einer der Export-Zeilen gefunden, wird die Firmware-Version ausgefiltert und in Spalte C in Datei Tabelle1.xlsM eingetragen
- alles wird so lange wiederholt, bis auch für die letzte Zeile in Spalte A in Datei Tabelle1.xlsM die Firmware-Version in Spalte C eingetragen ist
5. Die zuvor geöffnete Export-Datei wird automatisch wieder geschlossen

Hilfts, oder muss es wirklich eine Formellösung sein?

Ciao
Thorsten
Anzeige
AW: doppelte Wenn-Wahr-Abfrage über 2 Dateien
26.03.2024 13:55:33
Alex
Hallo Thorsten,

vielen Dank für deine Arbeit und die Antwort. Leider kann ich auf meinem Arbeits-PC keine Makros ausführen (keine Rechte).
Ich benötige daher also leider eine Formel, die mir das Ergebnis anzeigt.

Anmerkung:
Folgende Formel steht in einer anderen Spalte der Tabelle 1. Hier wird grundsätzlich geschaut, ob die Seriennummer (Tabelle 1, Spalte B, Zeile 8 geht´s los) irgendwo in Tabelle 2 vorhanden ist.

=SUMMENPRODUKT((ISTZAHL(SUCHEN(B8;'Tabelle2.xlsx'!$A$2:$A$1000))*1))

Als Rückgabe bekomme ich die 1 für vorhanden, bzw. die 0 für nicht vorhanden.

Kann man diese Formel so erweitern, dass mir die Firmware-Version zur Seriennummer von B8 angezeigt wird?
Der Suchbereich bleibt immer gleich (Tabelle2 A2 bis A1000).

Gruß Alex
Anzeige
AW: die erbetene Formellösung ...
26.03.2024 19:15:13
neopa C
Hallo Alex,

... für die aktuell aufgezeigten Daten Deiner beiden eingestellten Dateien würde ich z.B. wie folgt definieren.

In C2: =WENNFEHLER(TEIL(INDEX('[168326.xlsx]Export-DB'!$A:$A;AGGREGAT(15;6;ZEILE(A$1:A$1000)/SUCHEN(A2;'[168326.xlsx]Export-DB'!$A$1:$A$1000)^0;1));14;6);"")

und diese nach unten ziehend kopieren.

Sollten allerdings die Anzahl der Zeichen vor der Firmware-Version und die der Firmware-Version unterschiedlich viel sein, rate ich auch zu einer PowerQuery-Lösung wie Ralf schon vorgeschlagen hat.

Gruß Werner
.. , - ...
Anzeige
AW: die erbetene Formellösung ...
27.03.2024 13:26:49
Alex
Seid gegrüßt.

Vielen Dank an dieser Stelle für eure Mühen und Zeit. So ganz bekomme ich es aber leider noch nicht hin.
Hier also ein Auszug mit den korrekten Daten.

Tabelle1: Das geht wirklich erst ab Zeile 8 los.

In der Tabelle1 mit dem Reiter "Kontrolle" soll in C2 geprüft werden, ob die Seriennummer (B2) irgendwo in der Tabelle2 vorhanden ist.
-> Die Nummer gibt es da exakt 1 Mal.
Dann soll in der betreffenden Zeile die Ziffernfolge nach dem dritten Komma (17.4.1 oder was da auch immer steht) mir angezeigt werden.
alles was nach 17.4.1 steht brauche ich nicht in der Anzeige.

https://www.herber.de/bbs/user/168350.xlsx - Datei "Tabelle1" (Kontrolle)
https://www.herber.de/bbs/user/168351.xlsx - Datei "Tabelle2" (Export von DB)

Gruß Alex
Anzeige
AW: dazu bräuchte es nur einer kleinen Formelanpassung ...
27.03.2024 19:31:39
neopa C
Hallo Alex,

... für Deine nun eingestellten Dateien folgende Formel in C8:

=WENNFEHLER(TEIL(INDEX('[168351.xlsx]KS-R-Inv'!$A:$A;AGGREGAT(15;6;ZEILE(A$1:A$1000)/SUCHEN(A8;'[168351.xlsx]KS-R-Inv'!$A$1:$A$1000)^0;1));31+LÄNGE(B8);6);"")
und diese nach unten ziehend kopieren.

(Ergebniswerte gibt es erst ab C9 weil C8 ="" ergibt)

Gruß Werner
.. , - ...
AW: doppelte Wenn-Wahr-Abfrage über 2 Dateien
26.03.2024 10:18:35
ralf_b
Gruß zurück,

erste Frage wer exportiert denn solchen Murks? Hast du Einfluß auf den Export aus der internen Datenbank?
Wenn es nicht anders geht würde ich die Datei erstmal umformatieren mit Powerquery. Das hast du in deinem Excel 2019 auch drin.
Und wahrscheinlich löst es auch gleich dein Problem mit der ersten Datei. Weil, wenn dieser seltsame Export umformatiert wurde, hast du bereits eine ordentliche Tabelle.
Anzeige
AW: doppelte Wenn-Wahr-Abfrage über 2 Dateien
27.03.2024 14:11:59
daniel
Hi
du kannst dir die Firmware mit dieser Formel auslesen:
die Formel ist für deine zweite beispieldatei, also Zelle C8 im Blatt kontrolle.
den Dateinamen (fett) mit ggf Pfad musst du natürlich anpassen, der ist jetzt hier vom Download.
mit dem xmlfilter kann man das Textteilen simulieren, um einfach an die einzelnen Werte des langen Textes zu kommen, ohne diesen mit Text In Spalten aufteilen zu müssen.
die Punkte in der Versionsnummer musste ich durch Unterstriche austauschen, da sonst der xmlFilter ein Datum daraus macht.

=INDEX(XMLFILTERN("&ltx&gt&lty&gt"&WECHSELN(WECHSELN(SVERWEIS("*"&B8&"*";'[168351.xlsx]KS-R-Inv'!$A:$A;1;0);",";"&lt/y&gt&lty&gt");".";"_")&"&lt/y&gt&lt/x&gt";"//x/y");4)


Gruß Daniel
Anzeige
gelöst-doppelte Wenn-Wahr-Abfrage über 2 Dateien
27.03.2024 15:22:47
Alex
Auf sowas wäre ich nie gekommen...

Danke an alle Beteiligten für Zeit, Nerven und überhaupt!

Gruß Alex
AW: gelöst-doppelte Wenn-Wahr-Abfrage über 2 Dateien
27.03.2024 15:43:02
schauan
Du bekommst das wirklich als xlsx und nicht als csv? ... trotzdem nochmal der Hinweis mit einem einfachen SVERWEIS. Falls Du die Daten in Excel noch mit Text in Spalten trennst, reicht das:
=SVERWEIS(B8;'[168351.xlsx]KS-R-Inv'!$B$2:$D$11;3;FALSCH)
(Ergebnisspalte ggf. noch nach Bedarf formatieren)

Aber mit der Lösung kann man sich das natürlich sparen :-)


Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige