Excel Suchfunktion
#1
Smile 
Hallo zusammen,
erst einmal vielen Dank, dass Ihr euch die Zeit nehmt und meinen Beitrag lest!

Ausgangssituation:
Ich möchte verschiedene Adressaten von Buchungen, die unterschiedlichste Namen haben mit einheitlichen Namen versehen.
Dafür habe ich 2 Tabellen in einem Arbeitsblatt.

Die erste Tabelle (Spalte A&B) listet die gewünschten Namen und die Suchbedingungen auf:
Name neu          |       Bedingung
ALDI Frankfurt     |      aldi*frankfurt
ALDI Darmstadt    |     aldi*darmstadt
REWE Frankfurt   |      rewe*frankfurt
REWE Frankfurt    |     rewe*ffm

Die zweite Tabelle (Spalte C&D) besteht aus den alten Namen und den Feldern, in denen der neue Name ausgegeben werden soll:
Name alt                                                                             |      Name neu
ALDI GMBH + CO. FRANKFURT / ALDI SUED SAGT DANKE     |      ALDI Frankfurt
ALDI GMBH + CO. DARMSTADT / ALDI SUED SAGT DANKE    |     ALDI Darmstadt
REWE Frankfurt                                                                    |      REWE Frankfurt
REWE Ffm-Griesheim                                                            |     REWE Frankfurt

Ich habe bereits eine Lösung gefunden die das Problem bewältigt, jedoch sollen die Spalten A und B mehrere Hundert Einträge haben, was zu einer zu großen Verschachtelung führen würde.
Meine aktuelle Formel sieht so aus:
=WENN(ISTFEHLER(SUCHEN($B$2;[@[Name alt]]));WENN(ISTFEHLER(SUCHEN($B$3;[@[Name alt]]));WENN(ISTFEHLER(SUCHEN($B$4;[@[Name alt]]));WENN(ISTFEHLER(SUCHEN($B$5;[@[Name alt]]));WENN(ISTFEHLER(SUCHEN($B$6;[@[Name alt]]));"";$A$6);$A$5);$A$4);$A$3);$A$2)

Meine konkrete Frage ist nun ob ich die Formel folgendermaßen aufbauen kann, ohne eine Verschachtelung zu nutzen:
WENN(ISTFEHLER(SUCHEN('alle Werte aus Spalte B durchsuchen';[@[Name alt]]));"";'entsprechenden Wert aus Spalte A ausgeben')


.xlsx   Mappe1.xlsx (Größe: 13,45 KB / Downloads: 9)

Vielen Herzlichen Dank für Eure Hilfe!
Top
#2
Hallo,

schnell, aber nicht mehr als ein "proof of concept":


Code:
Sub Main
for i = 1 to 4
    if cells(i,"A") like "ALDI*FRANKFURT*" then cells(i,"C") ="ALDI FFM"
next i
End Sub

Falls du damit nicht zurecht kommst, melde dich.

mfg
Top
#3
Um VBA kommt man also nicht drumherum?
Top
#4
das wollte ich nicht gesagt haben, mit meinen Formelkenntnissen nicht, aber es gibt doch "Formelsympathisanten.
Top
#5
Hallo,

Deine Beispieldatei ist leider nicht abrufbar.
Gruß Atilla
Top
#6
Hallo,

ich würde auch sagen, dass VBA in Frage kommt.

Ein Ähnliche Sache hatte ich vor kurzem schon gelöst:

schau mal: www.clever-excel-forum.de

Zum anpassen an Deine Verhältnisse solltest Du sage, ob die Beispieldatei Deiner Originalen entspricht.
Gruß Atilla
Top
#7
Hi,

so:


Code:
=INDEX(A:A;VERGLEICH("*"&Tabelle3[@Bedingung]&"*";C:C;0))
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#8
(22.02.2017, 17:07)BoskoBiati schrieb: Hi,

so:


Code:
=INDEX(A:A;VERGLEICH("*"&Tabelle3[@Bedingung]&"*";C:C;0))

Perfekt, Tausend Dank!!!  :18:
Top
#9
(22.02.2017, 17:07)BoskoBiati schrieb: Hi,

so:


Code:
=INDEX(A:A;VERGLEICH("*"&Tabelle3[@Bedingung]&"*";C:C;0))

Hallo,
diese Lösung funktioniert leider doch nicht.
Sobald ich in Spalte C mehr Zeilen habe als in Spalte A, ist die Zuordnung falsch!
Top
#10
Hallo,



Code:
Sobald ich in Spalte C mehr Zeilen habe als in Spalte A, ist die Zuordnung falsch!

kann ich nicht nachvollziehen. Da solltest Du mal eine realistische Datei zeigen!
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top


Gehe zu:


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