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

Alternative für Suchen/Finden-Befehl

Alternative für Suchen/Finden-Befehl
28.05.2021 10:38:31
Sven
Hallo Community,
ich suche nach einem Alternativbefehl für die Funktionen Suchen oder Finden.
Mein Problem:
Ich habe mehrere Codes pro Zelle in einer Spalte aufgeführt und will prüfen, ob eine bestimmte Code-Kombi irgendwo in der Spalte vorkommt.
Die Code-Kombi steht in einer Zelle, könnte ich aber auch auf mehrer Zellen verteilen. Das wäre kein Problem.
Die Funktionen Suchen und Finden können ja nur innerhalb einer Zelle suchen. Ich suche aber nach einer Funktion in nach der Code-Kombi in der gesamten Spalte sucht.
Sollte in etwa so aussehen:
SpalteA____________________SpalteB_____________SpalteC
Code String________________Code-Kombi
ABC ERT ZUI OPS DFG_____DFG IOP____________FALSCH
ABC ERT ZUI IOP DFG_____DFG IOP_____________WAHR
ABC ERT ZUI OPS JKL______JKL ERT_____________WAHR
Geht das überhaupt in Excel, oder muss das in VBA gemacht werden?
Für eure Hilfe wäre ich dankbar.
Gruß,
Sven

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Alternative für Suchen/Finden-Befehl
28.05.2021 10:55:54
ChrisL
Hi Sven
Nachfolgend eine VBA Lösung. Code in ein Standardmodul kopieren und danach wie eine Formel verwenden.

Formel:
=CheckSpezial(B2;A2)

Public Function CheckSpezial(strKriterien As String, strAbgleich As String) As Boolean
Dim ar As Variant
Dim i As Integer
ar = Split(strKriterien, " ")
CheckSpezial = True
For i = LBound(ar) To UBound(ar)
If InStr(1, strAbgleich, ar(i)) = 0 Then
CheckSpezial = False
Exit Function
End If
Next i
End Function
cu
Chris
AW: Alternative für Suchen/Finden-Befehl
28.05.2021 10:56:18
Daniel
Hi
sollte prinzipell mit ZählenWenn(s) gehen.
da die Anordung der einzelnen Codes in Spalte A und in der Code-Kombi unterschiedlich sein kann, müsstest du so vorgehen:
1. die einzelwörter der Code-Kombi auf mehrere Spalten verteilen (für dein Beispiel Spalte B und C)
2. die auswertung dann mit dieser Formel: =ZählenWenns(A:A;"*"&B2&"*";A:A;"*"&C2&"*")&gt0
wäre die Reihenfolge der Code-Teile in Code-String und Code-Kombi identisch und es könnten nur weitere Codes dazwischen liegen, dann könnte man die Code-Combi in einer Zelle belassen und so auswerten: =ZählenWenn(A:A;"*"&Wechseln(B2;" ";"*")&"*")&gt0
Gruß Daniel
Anzeige
Suchen/Finden funktioniert da auch
28.05.2021 11:26:54
WF
Hi,
=SUMMENPRODUKT(ISTZAHL(SUCHEN("IOP";A$1:A$99))*ISTZAHL(SUCHEN("DFG";A$1:A$99)))
WF
AW: Alternative für Suchen/Finden-Befehl
28.05.2021 12:03:40
Günther
Moin,
geht auch über Daten | Abrufen und transformieren => Text.Contains()
 
Gruß
Günther  |  mein Excel-Blog
AW: hierzu nachgefragt ...
28.05.2021 19:20:34
neopa
Hallo Günther,
... die Funktion Text.Contains() allein ist aber nicht ausreichend, oder? Jedenfalls musste ich in meinen PQ-Lösungsansatz für das Vorgabebeispiel mit nur 2 Werten je Kombi auch 2 Hilfsabfrage erstellen. Demzufolge hätte ich für mein willkürlich gewähltes Datenbeispiel meines Formellösungsvorschlag auch 5 Hilfsabfrage erstellen und entsprechend viele Schritte mehr in der Auswertungsabfrage vornehmen müssen.
Oder hast Du dafür einen anderen Lösungsansatz?
Gruß Werner
.. , - ...
Anzeige
AW: noch eine Formelvariante ...
28.05.2021 19:07:52
neopa
Hallo Sven,
... die auch davon ausgeht, das die "Code-Kombis" in verschiedenen Zellen stehen und in einer unterschiedliche Anzahl (auch mehr als 2) je "Kombi" davon vorliegen. Nachfolgende Formel einfach nach unten kopieren.
 ABCDEFG
1Code StringCode1Code2Code3Code4Code5Ergebnis
2ABC ERT ZUI IOP DFGJKLERTOPSABCZUIWAHR
3ABC ERT XYZ ZUI DFGDFGIOP ERT WAHR
4ABC ERT ZUI OPS JKLDFGOPSGFDERT FALSCH
5ABC DEF GHI JKL MNODFG   OPSWAHR
6ABC ERT ZUI OPS DFG      
7       

ZelleFormel
G2{=MAX(MMULT(WENNFEHLER(FINDEN(B2:F2;A$2:A$99)^0;0)*(B2:F2&gt0);{1;1;1;1;1}))=ANZAHL2(B2:F2)}
Achtung, Matrixformel enthalten!
Die geschweiften Klammern{} werden nicht eingegeben.
Verlassen Sie den Zelleneditor mit Strg+Shift + Enter, statt Enter alleine.
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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige