Microsoft Excel

Herbers Excel/VBA-Archiv

Liste automatisch attributieren

Betrifft: Liste automatisch attributieren von: Nico
Geschrieben am: 05.10.2014 12:26:29

Hallo zusammen,

ich habe folgende Problemstellung:
Bei meiner Bank kann ich die Kontoauszüge als CSV herunter laden. Um den Cashflow sinnvoll zu analysieren, nutze ich Pivottabellen. Diese lassen sich jedoch nur sinnvoll verwenden, wenn jeder Datensatz mit meinen Attributen versehen ist.

Ein Beispiel macht es sicherlich leichter:
Im CSV ist folgender Datensatz:
012345678 XXX DE987654321 YYY bla bla

Ich habe eine Liste mit Ids und den gewünschten Attributen, z.B.:
DE987654321 Gehalt

Mittels VBA suche ich nach dem String "DE987654321" und in der Zelle rechts daneben wird das Attribut eingetragen - also hier "Gehalt". Das Skript ist so aufgebaut, dass die vollständige CSV-Liste abgearbeitet wird. Das funktioniert auch.

Frage an euch: Kennt ihr eine VBA-freie Lösung? Das Hindernis: Nutzt man Index in Verbindung mit Vergleich, so muss das Suchkriterium eindeutig sein. Das Suchkriterium ist bei mir aber eine Liste (https://www.herber.de/bbs/user/92970.zip)

Falls jemand fragt wozu: Meiner Meinung nach benötigen VBA freie Excel-Dokumente langfristig weniger Betreuung. Und mich interessiert es einfach.

Danke und schönen Sonntag!

  

Betrifft: Verweis bei Teilstring von: Christian
Geschrieben am: 05.10.2014 13:16:23

Hallo Nico,

=INDEX(Attribute!B$1:B$3;VERWEIS(2;1/FINDEN(Attribute!A$1:A$3;A2);ZEILE($1:$3)))

kommst du damit klar?
Gruß
Christian


  

Betrifft: AW: Liste automatisch attributieren von: Daniel
Geschrieben am: 05.10.2014 13:19:56

Hi

Probiere mal folgende Formel als Attributzuordnung (Formel für Zeile 2).

=INDEX(Attribute!B:B;MIN(WENN(ISTZAHL(FINDEN(Attribute!$A$1:$A$4;A2));ZEILE(Attribute!$A$1:$A$4)))) 

Achtung Matrixformel, Eingabe immer mit STRG+SHIFT+ENTER abschließen.

Damit es korrekt funktioniert, muss in Zeile 1 der Attribute der Eintrag "ohne Zuordnung" stehen mit einem Fantasietext in der Spalten 1 (also eine Zeichenfolge, die so nicht vorkommen kann)

Gruß Daniel


  

Betrifft: AW: Liste automatisch attributieren von: Nico
Geschrieben am: 05.10.2014 15:35:12

Hallo Daniel!

Super! Besten Dank für die Hilfe!
Ich habe deine Formel mittels Formelauswertung analysiert. Jetzt habe ich auch verstanden, wo mein Fehler lag:
Verstehe ich es richtig, dass Excel für jede Matrix eine Instanz mit den konkreten Werten erzeugt? Durch das Wenn() wird für die entsprechende Matrixzelle der Rückgabewert eingetragen, wenn eine Übereinstimmung, d.h. eine Zahl, vorliegt. Über Min() wird dann der einzige Zahlenwert des Vectors ausgewählt. Bei keiner Übereinstimmung ist das Minimum der Zahl 0. Das funktioniert auch mit Vergleich() - mit dem Unterschied, dass Groß-/ Kleinschreibung egal ist.

Wieder was gelernt.
Danke!


  

Betrifft: AW: Liste automatisch attributieren von: Daniel
Geschrieben am: 05.10.2014 16:12:21

Im Prinzip ja.
Wenn du bei meiner Formel die Groß/Kleinschreibung unberücksichtigt lassen willst, dann nimm SUCHEN anstelle von FINDEN.
Die beiden Funktionen machen dasselbe, nur das Suchen nicht auf Groß/Kleinschreibung achtet.
Dafür ist Finden schneller.
Gruß Daniel


  

Betrifft: hier nun noch mein Beitrag ... von: neopa C (paneo)
Geschrieben am: 05.10.2014 15:26:40

Hallo Nico,

... ich hatte diesen leider hier: https://www.herber.de/forum/messages/1384882.html dem falschen Thread zugeordnet.


Gruß Werner
.. , - ...


 

Beiträge aus den Excel-Beispielen zum Thema "Liste automatisch attributieren"