Zeichenketten (Bl. 2) in Zeichenketten (Bl.1) suchen + Treffer markieren
#1
Hallo liebe Forengemeinschaft.
 
Ich bin leider noch nicht besonders in der Anwendung von Formeln in EXCEL bewandert, die über völlig triviale Funktionen hinausgehen. Aktuell sehe ich mich jedoch mit etwas konfrontiert, was für mich als Anfänger noch zu kompliziert wirkt, als dass ich es in der Zeit, die mir dafür zur Verfügung steht, selbst herausarbeiten kann, obwohl ich das natürlich gerne möchte.
 
 
Ich habe ein EXCEL-Dokument mit vier Tabellenblättern.
Das erste Tabellenblatt enthält eine Tabelle mir einer Spalte, in welcher eine Auflistung von Buchstaben-Zahlen-Kombinationen im Format wie zum Beispiel „ABCD012345.1“ oder „ABCD543210.2“ oder „ABCD987654.32“ aufgereiht ist.
In den anderen drei Tabellenblättern befindet sich eine Tabelle mit jeweils einer Spalte, welche eine riesige Anzahl solcher Buchstaben-Zahlen-Kombinationen – jedoch OHNE „.x“ bzw. „.xy“ – samt weiterer Beschriftung enthalten; also zum Beispiel „ABCD012345 / Kreativer Inhalt – usw.“ oder „ABCD543210 / Kreativer Inhalt – usw.“.
Jetzt muss ich mir in diesen drei Tabellenblättern alle Zellen farbig markieren lassen, in welchen eine Übereinstimmung mit einer der Buchstaben-Zahlen-Kombinationen – jedoch OHNE „.x“ bzw. „.xy“, also NUR mit den ersten 10 Zeichen – aus der Spalte des ersten Tabellenblattes erfasst wird.
 
Noch mal zur Sicherheit:
Das Tabellenblatt 1 enthält eine Tabelle mit einer Spalte, in welcher zeilenweise nur die einzelnen Buchstaben-Zahlen-Kombinationen (z.B. „ABCD543210.2“ oder „ABCD987654.32“) aufgelistet sind.
Nach diesen Buchstaben-Zahlen-Kombinationen von Tabellenblatt 1 gilt es nun in drei anderen Tabellenblättern (Tabellenblatt 2 bis 4) zu suchen. Dort tauchen diese Buchstaben-Zahlen-Kombinationen allerdings nur in 10-stelliger Form auf und stehen mit Worten und anderen Zeichen gemeinsam in jeweils einer Zelle.
Wenn also im Tabellenblatt 2 bis 4 Zellen gefunden werden, die eine der 10-stelligen Buchstaben-Zahlen-Kombinationen (z.B. „ABCD012345 / Kreativer Inhalt – usw.“ oder „ABCD543210 / Kreativer Inhalt – usw.“) aus der Tabellenspalte von Tabellenblatt 1 beinhalten, sollen diese farblich markiert werden.
Auf Tabellenblatt 1 sind die Buchstaben-Zahlen-Kombinationen von B3 bis B83 aufgelistet.
Diese sollen in den Zeichenketten erst mal von beispielsweise Tabellenblatt 2 in den Zellen A46 bis A7028 mit den langen Zeichenketten gesucht werden. Eine Zelle auf Tabellenblatt 2, in welcher eine der Buchstaben-Zahlen-Kombinationen von Tabellenblatt 1 ausfindig gemacht wurde, soll farblich markiert werden.
 
 
In diesem Sinne habe ich schon mein Glück mit „Bedingte Formatierung“ und verschiedenen Formeln versucht, doch bin offensichtlich noch nicht erfolgreich gewesen, da ich mich damit schwertue, die Formel so anzupassen und zu kombinieren, dass nur ein Teil der Zeichenkette im einer anderen Zeichenkette gesucht wird.
 
 
Aktueller Versuch mit…
=SUMMENPRODUKT((LINKS('Tabellenblatt 1'!'B3:B83;10)=LINKS('Tabellenblatt 2'!A46:A7028;10))*1)
… wird mit einer Fehlermeldung (Die eingegebene Formel enthält Fehler…) quittiert.
 

Ich würde mich wirklich sehr freuen, wenn ihr Excel-Profis auch mir mit Hilfsbereitschaft begegnen würdet. Vielen lieben Dank schon mal.

EDIT: Beispiel-Datei angehängt.


Angehängte Dateien
.xlsx   Beispiel.xlsx (Größe: 14,91 KB / Downloads: 4)
Antworten Top
#2
Moin

Hilfsspalte D in Tabellenblatt 1:
Code:
=XMLFILTERN("<y><z>"&WECHSELN(B6;".";"</z><z>")&"</z></y>";"//z[position()=1]")

Hilfsspalte E in Tabellenblatt 2:
Code:
=ZÄHLENWENNS('Tabellenblatt 1'!$D$3:$D$83;XMLFILTERN("<y><z>"&WECHSELN(A47;"/";"</z><z>")&"</z></y>";"//z[position()=1]"))
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

[-] Folgende(r) 1 Nutzer sagt Danke an shift-del für diesen Beitrag:
  • EXCEL_Noob_hoch10
Antworten Top
#3
EDIT 1: Beispiel-Datei in Post 1 angehängt.
 
Vielen Dank für die erste Antwort @shift-del
 
Hmm, also mit zusätzlichen Hilfs-Spalten? Muss ich mal ausprobieren.
 
EDIT 2:
Um ehrlich zu sein weiß ich noch nicht so ganz, wie... Na ja, ich muss mal schauen, was ich aus deinem Tipp herausfiltern kann.
 
Wenn ich deinen ersten Code auf Tabellenblatt 1 für „Bedingte Formatierung“ einfüge und danach deinen zweiten Code auf Tabellenblatt 2 für „Bedingte Formatierung“ einfüge, dann bekomme ich die Fehlermeldung „Sie dürfen keine Verweise auf andere Arbeitsmappen für Bedingte Formatierung-Kriterien verwenden“. Sowieso habe ich mich gewundert, warum aufgrund der Codes ein Fenster für die Dateisuche geöffnet wird.
Tut mir leid, wenn ich das als leider Unwissender nicht richtig interpretieren konnte.
Antworten Top
#4
EDIT 3:
Okay, ich habe mittlerweile besser verstanden, wie diese Codes funktionieren sollen.
 
Allerdings scheint der Code…
=ZÄHLENWENNS('Tabellenblatt 1'!$D$3:$D$83;XMLFILTERN(""&WECHSELN(A47;"/";"")&"";"//z[position()=1]"))
… so für meinen Fall nicht zu funktionieren, denn – und das hatte ich vergessen zu erwähnen – es gibt eine Menge ausgeblendete Zeilen in Tabellenblatt 2 bis 4.
 
Ich müsste also mehr oder weniger etwas haben, was in Tabellenblatt 2 bis 4 einfach jede Zelle – egal, wo sie in Tabellenblatt 2 bis 4 stehen – nach den 10-stelligen Buchstaben-Zahlen-Kombinationen von Tabellenblatt 1 durchsucht und sie dann bei Übereinstimmung einfährt.
 
Für meinen Fall habe ich es auch mit einer bedingten Formatierung von…
=ZÄHLENWENN('Tabellenblatt 1'!$B1:$B83;LINKS(A1;10)&"*")
… und…
=Vergleich(Links(A1;10)&"*";'Tabelle 1'!$B1:$B83;0)
… versucht, doch leider wird nichts eingefärbt.
Antworten Top
#5
(04.10.2021, 08:28)EXCEL_Noob_hoch10 schrieb: Allerdings scheint der Code…
=ZÄHLENWENNS('Tabellenblatt 1'!$D$3:$D$83;XMLFILTERN(""&WECHSELN(A47;"/";"")&"";"//z[position()=1]"))
… so für meinen Fall nicht zu funktionieren, denn – und das hatte ich vergessen zu erwähnen – es gibt eine Menge ausgeblendete Zeilen in Tabellenblatt 2 bis 4.
Den Zusammenhang habe ich nicht verstanden.

Arbeitsblatt mit dem Namen 'Tabelle1'
ABC
2NoWorking Instructions
31ABCD012345.1ABCD012345
42ABCD543210.2ABCD543210
53ABCD678910.3ABCD678910
64ABCD109876.4ABCD109876

ZelleFormel
C3=XMLFILTERN("<y><z>"&WECHSELN(B3;".";"</z><z>")&"</z></y>";"//z[position()=1]")
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg

Arbeitsblatt mit dem Namen 'Tabelle2'
ABCD
3BeschreibungNummerStatus
4ABCD012345 / Kreativer Inhalt – usw.in Arbeit1OK
5ABCD012345 / Kreativer Inhalt – usw.in Arbeit2OK
6ABCD012345 / Kreativer Inhalt – usw.in Arbeit3OK
7ABCD012345 / Kreativer Inhalt – usw.in Arbeit4OK
8ABCD012345 / Kreativer Inhalt – usw.in Arbeit5OK
9ABCD555551 / Kreativer Inhalt – usw.in Arbeit6OK
10ABCD555551 / Kreativer Inhalt – usw.in Arbeit7OK
11ABCD555551 / Kreativer Inhalt – usw.in Arbeit8OK
12ABCD555551 / Kreativer Inhalt – usw.in Arbeit9OK
13ABCD555551 / Kreativer Inhalt – usw.in Arbeit10OK

Zellebedingte Formatierung...Format
A41: ZÄHLENWENNS(Tabelle1!$B$3:$B$6;XMLFILTERN("<y><z>"&WECHSELN(A4;"/";"</z><z>")&"</z></y>";"//z[position()=1]")&"*")abc
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg

Siehe auch dort:
http://www.office-loesung.de/p/viewtopic.php?f=166&t=870530
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

[-] Folgende(r) 1 Nutzer sagt Danke an shift-del für diesen Beitrag:
  • EXCEL_Noob_hoch10
Antworten Top
#6
Ein riesiges Dankeschön für deine fortlaufende Zeitinvestitionen, deine Verlinkung zum anderen Forum und deine hochwertige Hilfe @shift-del.
 
Dass du den Zusammenhang meiner Anmerkung nicht verstanden hast, ist absolut nachvollziehbar. Meine Anmerkung ist aus mangelndem Know-how entstanden und sollte keine wirkliche Kritik an deinem Vorschlag darstellen. Mir war es leider nicht möglich deine zweite Codezeile so anzuwenden, so dass ich die gewünschte Zellenfärbung erreicht hätte. Stattdessen habe ich durch meine fehlerhafte Anwendung deiner Codezeile Werte in den Zellen angezeigt bekommen, die bei mir den Eindruck erweckt haben, als wenn durch die ausgeblendeten Zeilen die falschen Werte eingelesen wurden. Wie gesagt, es tut mir leid, dass ich das nicht besser verstanden habe.
 
Darf ich bitte noch mal um Unterstützung für die Anwendung deiner zweiten Codezeile bitten?
 
Die erste Codezeile wird ja wie gezeigt in Tabellenblatt 1 neben die Zelle mit zum Beispiel „ABCD012345.1“ eingetragen und dann auf die darunterliegenden Zellen übertragen. Dabei werden die Zellenwerte auf die ersten zehn Stellen ausgelesen und deren Wert in die Zelle, die mit der ersten Codezeile belegt wurde, übertragen. Diese Spalte ist die von dir erwähnte Hilfsspalte und kann ausgeblendet werden.
 
Ich habe mein Glück mit der zweiten Codezeile über „Bedingte Formatierung“ --> „Neue Regel“ --> „Formel zur Ermittlung der zu formatierenden Zellen verwenden“ in das Feld „Werte formatieren, für die diese Formel wahr ist:“ eingetragen und danach die Schaltfläche „Formatieren“ angewählt, um entsprechende Zellenfärbung zu erreichen.
Doch das wird nicht korrekt gewesen sein, da es zum einen nicht funktioniert hat und zum anderen du ja bereits gesagt hattest, dass deine zweite Codezeile in Tabellenblatt 2 in einer weiteren Hilfsspalte untergebracht werden sollte.
 
Wie gesagt, ich entschuldige mich für meine schlechten Kenntnisse, würde dich aber insbesondere deshalb noch mal bitten, mir bezüglich hinsichtlich der Anwendung deiner zweiten Codezeile auf die Sprünge zu helfen, um die Einfärbung der Zellen zu erreichen. Vielen lieben Dank schon mal.
Antworten Top
#7
Wie du in Beitrag #5 erkennen kannst funktioniert die bedingte Formatierung. Hier habe ich auf den Umweg mit einer Hilfsspalte im Blatt Tabelle2 (und nicht Tabellenblatt 2) verzichtet.
Die Lösung ist auf deine Beispieldatei zugeschnitten.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

[-] Folgende(r) 1 Nutzer sagt Danke an shift-del für diesen Beitrag:
  • EXCEL_Noob_hoch10
Antworten Top
#8
Fortlaufender Dank an dich.
 
Ah, okay… Ich habe jetzt mehrere Dinge erkannt, die ich durcheinandergebracht habe, weil ich Dinge von Post #2 und #5 falsch kombiniert habe.
 
Also aktuell habe ich mein Glück in der Reproduktion mit deinen Codezeilen aus Post #5 versucht. Also:
=XMLFILTERN(""&WECHSELN(B3;".";"")&"";"//z[position()=1]")
und
1: ZÄHLENWENNS(Tabelle1!$B$3:$B$6;XMLFILTERN(""&WECHSELN(A4;"/";"")&"";"//z[position()=1]")&"*")
 
Zur zweiten Codezeile habe ich noch mal eine Verständnisfrage und zwar zum Abschnitt B$3:$B$6. Müsste ich an der Stelle nicht C$3:$C$6 bzw. die Werte aus den Zellen der Hilfsspalte auf Blatt Tabelle1 abfragen?
 
Unabhängig davon habe ich die Einfärbung der Zellen in der Beispieldatei mit der bedingten Formatierung leider weder mit B$3:$B$6 noch mit C$3:$C$6 erreichen können, was selbstverständlich an meiner fehlerhaften Umsetzung liegt. Nur ist mir leider noch nicht klar geworden, wo ich den Fehler mache.
Ich habe einfach mal eine Datei Beispiel_v2 erstellt, wo ich so eingetragen habe, wie ich sie bis jetzt fehlinterpretiert habe. Magst du bitte noch mal schauen und mir meinen Fehler erklären?


Angehängte Dateien
.xlsx   Beispiel_v2.xlsx (Größe: 16,59 KB / Downloads: 2)
Antworten Top
#9
Moin

1. Du hast den Output des Tools falsch übernommen. Der Teil "1: " gehört nicht in die bedingte Formatierung und ist nur eine Aufzählung der Regeln.
2. In "Wird angewendet auf" steht nur die Zelle H6 und die ist leer.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

[-] Folgende(r) 1 Nutzer sagt Danke an shift-del für diesen Beitrag:
  • EXCEL_Noob_hoch10
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste