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.

 

                                                  B

Kostenart                                      Stichwort

MasterCard, Adobe                        Adobe

Klipfolio 30€                                  Klipfolio

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 René,
vielen Dank für deine super schnelle Antwort.
Ja, beide Funktionen sind mir bekannt. Da ich ja aber ca. 50 verschiedene Suchkriterien habe, würde ja auch da wieder eine extrem lange und verschachtelte Formel in der Spalte B stehen- oder übersehe ich etwas? Aus diesem Grund dachte ich an eine VBA Abfrage. Diese wäre vllt ebenfalls lang und verschachtelt- würde ja aber quasi „im Hintergrund“ laufen- andere Nutzer müssten dann ja nur noch monatlich in der Kostenübersicht das Makro starten. Siehst du bzgl VBA auch eine Möglichkeit?
Danke und LG J.
#####
Wer nervt mehr? Excel oder die Menschen, die Excel benutzen?

2 comments

  • Thomas Föller

    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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.