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

FINDEN mit mehreren Suchkriterien

FINDEN mit mehreren Suchkriterien
28.02.2021 16:07:33
Sebastian
Hallo,
eigentlich denke ich, dass mir nur ein kleiner Fitzel fehlt, mit dem ich mein Problem lösen kann - ich komme nur partout nicht drauf.
Ich möchte gern mit bedingter Formatierung eine Zelle rot einfärben, wenn in einer bestimmten anderen Zelle "Z30" steht. Sie soll aber auch rot färben, wenn in dieser Zelle "Z32", "Z34" oder "Z36" steht. In besagter Zelle können viele Dinge stehen, wodurch die Zelle so aussehen könnte: "Z1, Z18, Z30, Z31". (hier soll also rot eingefärbt werden)
Das Prinzip möchte ich dann Zeile für Zeile wiederholen, sodass immer nach denselben Bedingung in einer Zelle gesucht und eingefärbt wird.
Ich bin ganz basal rangegangen und habe versucht, mit ODER und FINDEN eine Formel zu basteln. Irgendwie scheint das mit ODER nicht ganz zu funktionieren. Ich habe teilweise wirklich viele Suchbedingungen, teils bis zu 20 Stück, bei der die Zelle dann die Farbe rot annehmen soll. So sah das bspw. aus:
=ISTZAHL(ODER(FINDEN("Z30";J11);FINDEN("Z32";J11);FINDEN("Z34";J11)))
Das wäre natürlich eine wahnsinnig lange Formel bei 20 Suchbedingungen, zumal es eh nicht funktioniert hat.
Ich bin jetzt dazu übergegangen, ein extra Tabellenblatt zu bauen, wo jeder einzelne Suchbegriff eine eigene Zelle hat. Diese Zellen würde ich gerne als Suchbedingung zusammenfassen. Ich hab jedoch bei meiner Recherche und meinem Probieren keinen Weg gefunden, Suchbedingungen als "Bereich" anzugeben.
Denke ich zu umständlich? Fehlt mir ein Wissensteil? Oder lässt sich das ganze gar nicht so einfach umsetzen?
Grüße,
Sebastian

33
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: FINDEN mit mehreren Suchkriterien
28.02.2021 16:12:34
Hajo_Zi
Hallo Sebastian,
Die meisten bauen Deine Datei nicht nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Die meisten möchten es am Original testen um den gleichen Fehler zu erhalten.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten ändern. Schaue Datei
http://hajo-excel.de/gepackt/fremd/Datei_verschluesseln.zip
Das ist nur meine Meinung zu dem Thema.
Falls Link nicht ausgeführt wird:
1. Link kopieren
2. rechte Maustaste neues Fenter.
3. Umschaltstaste drücken und Klick auf den Link
4. STRG+ Link mit Maus aktivieren
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)


Anzeige
AW: nutze dafür ZÄHLENWENN() ...
28.02.2021 16:13:42
neopa
Hallo Sebastian,
... so: =ZÄHLENWENN(J11;{"*Z30*"."*Z32*"."*Z34*"."*Z36*"})
Gruß Werner
.. , - ...

AW: nutze dafür ZÄHLENWENN() ...
28.02.2021 16:24:09
Sebastian
Hallo Werner,
genau sowas hatte ich gesucht. In der Zelle funktioniert das super, jedoch leider nicht in der bedingten Formatierung. Gibt es dafür ein Workaround?
Grüße,
Sebastian

AW: definiere diese als benannte Formel ...
28.02.2021 16:29:20
neopa
Hallo Sebastian,
... und setze danach die benannte Formel in die bedingte Formatierung ein.
Gruß Werner
.. , - ...

AW: es fehlte noch die SUMME() dessen ...
28.02.2021 17:05:08
neopa
Hallo Sebastian,
... also so:
Arbeitsblatt mit dem Namen 'Tabelle1'
 J
11Z7 Z18; Z32; Z56

NameBezug
_bf_ZW=SUMME(ZÄHLENWENN(Tabelle1!J11;{"*Z30*"."*Z32*"."*Z34*"."*Z36*"}))

Zellebedingte Formatierung...Format
J111: _bf_ZWabc
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Gruß Werner
.. , - ...

Anzeige
AW: es fehlte noch die SUMME() dessen ...
28.02.2021 17:47:08
Sebastian
Hallo Werner,
ohne SUMME ist schon ganz gut, denn ich brauche nicht die Anzahl, sondern nur ein mind. 1-maliges Auftauchen des Suchbegriffs.
Der Verweis auf die benannte Zelle klappt auch.
Jedoch habe ich dabei die letzte Problematik noch nicht gelöst: Die bedingte Formatierung soll Zeile für Zeile stattfinden. Wenn also eine neue Zeile eingefügt wird, soll automatisch die bedingte Formatierung dafür mitgeführt werden. Das würde mit dieser Lösung nicht klappen, da ich den Verweis (also die Zelle, wo ZÄHLENWENN stattfindet) mit in die Gesamttabelle einbauen müsste. Das möchte ich aber nicht, da es die Tabelle nur unnötig erweitert.
Ich habe hier mal eine Beispiel-Datei, wo man erkennt, was ich meine.
https://www.herber.de/bbs/user/144310.xlsx
Viele Grüße,
Sebastian

Anzeige
AW: es fehlte noch die SUMME() dessen ...
28.02.2021 18:28:52
onur
Deine Beispielsdatei ist murks, da fehlt noch die Tabelle, die gefärbt werden soll.
WO soll denn WAS gefärbt ? Das WANN kennen wir jetzt, aber sonst nix.

AW: es fehlte noch die SUMME() dessen ...
28.02.2021 18:44:52
Sebastian
Hey Onur,
ich versteh deine Frage nicht - ist doch alles vorhanden?
Es gibt eine Tabelle, in der in Spalte A Texte stehen; Spalte B enthält die bedingte Formatierung, wo, je nachdem, ob in Spalte A ein bestimmter Text auftaucht, eingefärbt wird. Sieht man auch, oder nicht? Und Spalte C enthält die bisherige Umsetzung, also eine Formel, auf die sich die bedingte Formatierung bezieht (da ich diese leider nicht direkt in die bedingte Formatierung einfügen kann)
Wenn ich nun eine neue Zeile für die Tabelle einfüge, funktioniert die bedingte Formatierung natürlich nicht mehr, da die Formel außerhalb der Tabelle steht und nicht mitgezogen wird.
Grüße,
Sebastian

Anzeige
AW: es fehlte noch die SUMME() dessen ...
28.02.2021 19:28:46
Sebastian
Hey Onur,
danke für die Antwort. Genau das hatte ich ganz am Anfang auch probiert.
Problem an der Sache: Ich müsste für JEDE Bedingung eine einzelne bedingte Formatierung machen. Ich habe für mein Vorhaben um die 100 Bedingungen, die dann in bestimmte Farben resultieren.
Die Liste wäre unübersichtlich lang, weswegen ich eine Umsetzung möchte, die die Bedingungen eben in eine Formel zusammenfasst (wie ich das in meinem Eingangspost auch beschrieben hatte).
Viele Grüße,
Sebastian

Anzeige
AW: es fehlte noch die SUMME() dessen ...
28.02.2021 19:31:01
onur
Hast du mal eine Liste der "Bedingungen"? Vielleicht kan man ja Gemeinsamkeiten finden.

AW: es fehlte noch die SUMME() dessen ...
28.02.2021 19:43:14
Sebastian
Ich habe die Beispiel-Datei mal erweitert mit der kompletten Liste.
https://www.herber.de/bbs/user/144315.xlsx
Oben steht die jeweilige Farbe, mit der die Zelle eingefärbt werden soll, wenn drunterstehender Text in einer Zelle auftaucht.
KEINE Rolle soll erstmal spielen, was passiert, wenn man sich zwischen zwei Farben entscheiden muss.
Hilft das?

AW: es fehlte noch die SUMME() dessen ...
28.02.2021 20:19:15
onur
Guckst du hier:
https://www.herber.de/bbs/user/144319.xlsm
So kommst du mit einer BedForm pro Spalte aus - ich habe dir Einige schon angelegt, den Rest musst du selber machen.
Zeilen einfügen/löschen sollte auch kein Problem machen.

Anzeige
AW: es fehlte noch die SUMME() dessen ...
28.02.2021 20:50:40
Sebastian
Das ist genau die Umsetzung, die ich gesucht habe. Vielen Dank dafür!
Ich habe ja Einblick in die Formeln, die du benutzt hast und versuche das gerade zu replizieren, bekomme es aber nicht hin.
Hab ich richtig verstanden, dass sich die BedForm von "Tabelle1" einfach nur auf das Tabellenblatt 2 bezieht? Oder gibt es noch irgendwo versteckte Bezüge?
Und wohin führt der zweite Teil, also =Bed(x:x;A1) (in fett).
Die Zirkelbezüge sind wahrscheinlich nur ein Überbleibsel und nicht weiter relevant, oder?

AW: es fehlte noch die SUMME() dessen ...
28.02.2021 20:56:31
onur
"Die Zirkelbezüge sind wahrscheinlich nur ein Überbleibsel und nicht weiter relevant, oder?" - Jo, einfach die Zelle löschen.
A1 ist die Zelle, die überprüft wird, X:X der Bereich mit der Liste der Texte für diese Bedingung (in diesem Falle auf einem anderen Blatt, da ich sie auf Blatt "BEDS" ausgelagert habe).
Ich habe einfach eine eigene Funktion ("Bed()") geschrieben, da mit Excel alleine die Formel ellenlang wäre.

Anzeige
AW: es fehlte noch die SUMME() dessen ...
28.02.2021 21:07:21
Sebastian
Die Formel ist so simpel, ich verstehe sie und die Logik dahinter auch. Ich übernehme das 1:1.
Es will nicht klappen. ..
Alles, was ich tun muss, ist, die Bedingungen auf ein zweites Tabellenblatt auszulagern (umbenennen in bspw. BEDS, dann in das 1. Tabellenblatt zu gehen, eine BedForm zu erstellen und bei Formel auf das 2. Tabellenblatt zu gehen, die Bedingungen zu markieren (also x:x) und dann die Zelle auszuwählen, wo gesucht werden soll (bspw. J11). Oder bin ich völlig falsch?

AW: es fehlte noch die SUMME() dessen ...
28.02.2021 21:09:53
Sebastian
Ah, ich sehe, dass die Funktion in den Makros versteckt war. Entschuldige bitte!

AW: es fehlte noch die SUMME() dessen ...
28.02.2021 21:10:42
onur
UND du musst ein allg. Modul anlegen und den Code aus meinem Modul1 rüberkopieren.
Auslagern muss du die Bedingungen nicht, ICH habe es getan, weil es so besser aussieht.
Wenn es doch noch Probleme gibt, einfach mal deine Datei posten.

Anzeige
AW: es fehlte noch die SUMME() dessen ...
28.02.2021 20:50:45
Niclaus
Hallo Sebastian, hallo Werner
Ich habe die Datei 144315.xls von Sebastian angeschaut. Und dabei habe ich folgendes Problem: Bei mir wird in Spalte C nur dann "WAHR" ausgegeben, wenn in Spalte A der Wert "Z30" vorkommt. Müsste sich nicht auch WAHR ergeben, wenn in Spalte A "Z32" oder "Z34" vorkommen?
Oder habe ich ein Brett vor dem Bildschirm?
Grüsse Niclaus
Userbild

AW: das lässt sich einfach (er)klären ...
01.03.2021 20:26:06
neopa
Hallo Niclaus,
... die in dieser Datei von Sebastian genutzte Formel, berücksichtigte nicht meinen Hinweis, dass die ZÄHLENWENN()-Formel mit SUMME() geklammert werden muss und zwar als Zellformel mit Matrixformeleingabeabschluss oder ohne dies, in C2 wie folgt hätte eingeben werden müssen:

=SUMMENPRODUKT(ZÄHLENWENN(A2;{"*Z30*"."*Z32*"."*Z34*"}))

und nach unten kopieren.
Allerdings besser ist meine Vorschlag mit einer benannten Formel, wie im gestrigen Beitrag von 17:05 aufgezeigt.
Gruß Werner
.. , - ...

Anzeige
AW: das lässt sich einfach (er)klären ...
01.03.2021 21:51:54
Niclaus
Hallo Werner
Vielen Dank für Deine Rückmeldung. Jetzt klappt es bei mir.
Erschwerend kommt bei uns in der Schweiz dazu: In einer waagrechten Array-Formel heisst es:
=SUMMENPRODUKT(ZÄHLENWENN(A11;{"*Z30*"\"*Z32*"\"*Z34*"}))
In der senkrechten:
=SUMMENPRODUKT(ZÄHLENWENN(A2;{"*Z30*";"*Z32*";"*Z34*"}))
Wir gehören - zumindest im IT-Bereich - zu den Punktländern: Das Dezimaltrennzeichen ist bei uns der Punkt, nicht das Komma. - [Zum Schmunzeln führt im Wikipedia-Artikel «Dezimaltrennzeichen» der Absatz 4.1.]
Mit freundeidgenössischem Gruss
Niclaus

AW: danke, wünsch Dir auch einen guten Tag owT
02.03.2021 12:50:45
neopa
Gruß Werner
.. , - ...

AW: SUMME() ist notwendig ...
28.02.2021 19:26:18
neopa
Hallo Sebastian,
... das und das eingefügte Zeilen kein Problem sind, kann ich Dir aber erst morgen Abend nachweisen, weil derzeit mein Internet am PC bis dahin wegen einer Störung ausgefallen ist.
Schreibe momentan nur vom Smartphone.
Gruß Werner
.. ,- ....

AW: SUMME() ist notwendig ...
28.02.2021 19:31:36
Sebastian
Hey Werner,
dann freue mich auf deine Antwort. Danke für deine Hilfe!
Bis dahin probiere ich mich weiter an Problemlösungen.
Viele Grüße,
Sebastian

AW: nachgefragt ...
01.03.2021 20:22:23
neopa
Hallo Sebastian
... hast Du inzwischen nachvollziehen können, dass bei meinem Vorschlag im gestrigen Beitrag von 17:05 in der benannten Formel die Klammerung mit der Funktion SUMME() notwendig ist? Dies deshalb weil im Text nicht unbedingt Z30 stehen muss sondern ein anderer zutreffender Wert.
Warum hast Du denn nicht meinen Vorschlag mit der benannten Formel (mit SUMME) umgesetzt? Dies löst die von Dir eingangs gestellte Fragestellung für die bed. Formatierung und auch bei Einfügen weiterer Zeilen problemlos.
Die in Deiner eingestellte Datei 144310 gewählte Hilfsformellösung ist dafür weniger gut geeignet.
Auch hätte die Hilfsspaltenformel da etwas anders definiert werden müssen und zwar so: =SUMMENPRODUKT(ZÄHLENWENN(A2;{"*Z30*"."*Z32*"."*Z34*"}))
Gruß Werner
.. , - ...

AW: FINDEN mit mehreren Suchkriterien
01.03.2021 22:03:50
Daniel
Hi
wenn dann so:
=ODER(IstZahl(FINDEN("Z30";J11));IstZahl(FINDEN("Z32";J11));IstZahl(FINDEN("Z34";J11)))
sollten die Begriffe in einem Zellbereich stehen (A1:A3) dann sollte auch folgendes gehen:
=ODER(IstZahl(Finden($A$1:$A$3;J11)))
Gruß Daniel

AW: FINDEN mit mehreren Suchkriterien
02.03.2021 16:01:08
Sebastian
Hey Daniel,
das funktioniert wirklich super! In der BedForm läuft alles so, wie es soll. Das ODER dürfte bei der 2. Version sogar überflüssig sein, nicht? Es gibt ja keine zweite Bedingungen.
Ironischerweise ergibt deine 2. Formel, die wunderbar in der BedForm funktioniert, in die Zelle geschrieben bei mir ein FALSCH aus. Wieso ist das so?
Ich habe die Formel aus der BedForm in die Zelle kopiert, es ist also exakt dieselbe. BedForm gibt mir WAHR, die Zelle FALSCH.
Viele Grüße,
Sebastian

AW: FINDEN mit mehreren Suchkriterien
02.03.2021 16:21:47
Sebastian
Und ich habs schon herausgefunden. Die BedForm macht aus der Formel anscheinend automatisch eine Matrixformel. In der Zelle muss das dann auch als Matrixformel gespeichert werden - damit funktionierts dann.
Damit ist mein Problem gelöst, danke :)
Grüße,
Sebastian

AW: FINDEN mit mehreren Suchkriterien
02.03.2021 23:44:09
Sebastian
Ich nochmal.
Ich spiele gerade mit dem Gedanken, statt einer bedingten Formatierung (die nun einwandfrei funktioniert) die Zellen mit einem Makro einzufärben. Vorteil daran wäre nämlich, dass die Zellen die Farbe tatsächlich besitzen und kopiert werden können (für weitere Zwecke meinerseits).
Ich habe in einer Beispieldatei mal einen kleinen Code gebastelt, den ich sehr gut auf meine Haupttabelle umschreiben kann.
Sub Einfärben()
Dim i As Integer
Dim a As Range
With Sheets("Tabelle1")
For i = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
Set a = .Cells(i, 1)
Select Case True
Case a Like "*ttt*" Or a Like "*zzz*"
Cells(i, 2).Interior.ColorIndex = 3
Case Else
Cells(i, 2).Interior.ColorIndex = 0
End Select
Next i
End With
End Sub

Problem an der Sache: Ich bekomme ihn noch nicht dazu, nach dem EXAKTEN Suchwort zu suchen. Im Moment färbt er auch ein, wenn in der Zelle tttd oder zzzh steht. Wie kriege ich ihn dazu?
(optional: Außerdem hier wieder ein ähnliches Problem: Ich müsste jede Bedingung einzeln angeben. Könnte ich irgendwie einen Bezug zu einem bestimmten Bereich einer anderen Tabelle einbauen, wo die Bedingungen einzeln untereinander aufgelistet sind?)
Grüße,
Sebastian

AW: FINDEN mit mehreren Suchkriterien
02.03.2021 23:47:13
onur
LIKE weglassen.

AW: FINDEN mit mehreren Suchkriterien
03.03.2021 12:15:08
Sebastian
Wenn ich LIKE weglasse, bekomme ich Fehler oder es passiert gar nichts.

AW: FINDEN mit mehreren Suchkriterien
03.03.2021 12:36:07
Daniel
Hi
Für genaue Übereinstimmung Joker * weglassen oder statt Like das einfache = verwenden
In dem Fall auch einfacher
Select Case a.Value
Case "ttt", "zzz"
Case Else
Ende select
Gruß Daniel

AW: FINDEN mit mehreren Suchkriterien
03.03.2021 12:45:25
Sebastian
Ja, das wäre möglich. Wenn die Zelle dann aber "ttt, hh" heißt, klappt es wieder nicht, weil er mir in dem Falle nur die EINE Übereinstimmung bewahrheitet. Deswegen hatte ich die ** drin, damit davor und dahinter weitere Sachen auftauchen können.
Da sich in der Zelle nur Aufzählungen befinden, habe ich auch schon überlegt, sowas wie "* ttt,*" zu machen - damit kriege ich genaue Ergebnisse. Das scheitert aber dann, wenn in der Zelle mal nur "ttt" steht (was durchaus auftreten kann).

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige