Dumm sein ist nicht leicht. Ich habe viel Konkurrenz.
Hallo René,
ich bin auf deine Webseite gestoßen und hoffe, dass es ok ist, eine E-Mail zu schreiben.
ich habe folgendes Problem: Mir steht eine Exceltabelle mit einer Liste von verschiedenen Kostenarten in Spalte A zur Verfügung, z.B. „MasterCard, Adobe“, „Klipfolio 30€“ und „Juni Klipfolio VisaCard“. Diese möchte ich in die Kategorien „Adobe“ und „Klipfolio“ einteilen (nur als Beispiel, in Wirklichkeit sind es natürlich wesentlich mehr Kategorien) und suche deshalb nach genau diesen Stichwörtern im Text. Wird eines dieser Stichwörter gefunden, soll es entsprechend in Spalte B geschrieben werden, so dass ich das ganze später bequem in einer Pivottabelle zusammenfassen kann.
A
Kostenart
MasterCard, Adobe Adobe
Klipfolio 30€
Juni Klipfolio VisaCard Klipfolio
Insgesamt handelt es sich um ca. 1.000 Datensätze und rund 50 verschiedene Stichwörter. Das „Problem“ ist zur Zeit über eine lange verschachtelete Wenn-Funktion gelöst. Ich dachte aber, es gäbe über VBA vllt eine schnellere und unkompliziertere Lösung. Zur Zeit bin ich so weit, dass ich nach einem bestimmten Stichwort (egal wo im Text es steht) suchen lassen kann.
Sub a()
Dim Rng As Range
Dim wks As Worksheet
Set wks = Worksheets(„data“)
Set Rng = wks.Range(wks.Cells(1, 1), wks.Cells(1000, 1)).Find(what:=“Adobe“, lookat:=xlPart, LookIn:=xlValues, MatchCase:=True)
If Not Rng Is Nothing Then Rng.Select
End Sub
Ich komme allerdings jetzt nicht mehr weiter bzw. bin mir auch nicht sicher, ob das überhaupt ein guter Ansatz ist.
Kannst du mir weiterhelfen?
Vielen Dank im Voraus,
#####
Hallo J.,
ich würde das mit einem SVERWEIS lösen. Oder mit der Funktion INDEX und VERGLEICH. Kannst du?
Liebe Grüße
Rene
#####
Hallo!
Das kann mit einer Matrix-Formel lösen.
Wenn die 50 Suchkriterien z. B. in Spalte F stehen (F1:F50), dann würde die Formel folgendermaßen aussehen (in B2 eingeben):
{=INDEX($F$1:$F$50;MIN(WENN(NICHT(ISTFEHLER(SUCHEN($F$1:$F$50;A2)));ZEILE($A$1:$A$50);““)))}
Bitte die Klammern { und } nicht manuell erfassen, sondern die Formel ohne diese Klammern eingeben und dann mit der Tastenkombination STRG + Shift + Enter abschließen.
Zuletzt die Formel von B2 bis zum Ende herunterziehen.
danke für den Hinweis, Thomas, aber ich glaube, sie wollte lieber programmieren …