Postbank Kontoauszüge in Excel einlesen
#11
Hallo Frank,

es braucht nicht zwingend einer VBA-Lösung weder zur "Vorbehandlung" (Löschung der Datenzeilen vor und nach den relevanten Datensätzen) noch zur endgültigen Auswertung. Eine Formelauswertung ist ausreichend. Dazu markiere mit [Strg]+[a] in der Finanzübersicht die Daten Deines Kontos, kopiere diese und füge diese in Spalte A eines Exceltabellenblattes ein.

Dann kannst Du mit Formeln (im Prinzip ist es nur eine, die lediglich für den jeweiligen Spaltenwert leicht modifiziert ist) Daten in eine Datenliste z.B. wie folgt übernehmen. Formeln C3:G3 nur weit genug nach unten kopieren (hier nachfolgend für einen Auszug meines Kontos mit anonymisierten Daten)

Arbeitsblatt mit dem Namen 'Tabelle1'
CDEFGH
1Kontostand:17.03.2023123,45 €
2Kennungan/von …wasZahlartDatumUmsatz
3clockKartenzahlung17.03.2023Kartenzahlung17.03.2023-24,84 €
4DEXXXXXXxyz …..................................SEPA Lastschrift17.03.2023-75,00 €
5AWAAAAAAxxxxx/DE 13-03-2023T09:53:49 Folgenr. ## Verfalld. ####Kartenzahlung16.03.2023-65,00 €
60D064 yyyyyyyyyyyyyzzzzzzzzzzzzz EURKartenzahlung14.03.2023-69,90 €
7RQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa22222Kartenzahlung14.03.2023-97,70 €
8RQbbbbbbbbbbbbbbbbbbbbbbb 12-03-2023T13:26:17 Folgenr. ## Verfalld. ####Kartenzahlung14.03.2023-63,40 €

ZelleFormel
G1=MAX(G3:G999)
H1=WENNFEHLER(--WECHSELN(INDEX(A:A;AGGREGAT(15;6;ZEILE(A$1:A$999)/ISTZAHL(-WECHSELN(A$1:A$999;"EUR";""))/SUCHEN("EUR";A$1:A$999)^0;1));"EUR";"");"")
C3=WENNFEHLER(INDEX(A:A;AGGREGAT(15;6;ZEILE(A$1:A$999)/ISTZAHL(-WECHSELN(A$3:A$999;"EUR";""))/SUCHEN("EUR";A$3:A$999)^0;ZEILE(A2)));"")
D3=WENNFEHLER(INDEX(A:A;AGGREGAT(15;6;ZEILE(A$1:A$999)/ISTZAHL(-WECHSELN(A$2:A$999;"EUR";""))/SUCHEN("EUR";A$2:A$999)^0;ZEILE(A2)));"")
E3=WENNFEHLER(INDEX(A:A;AGGREGAT(15;6;ZEILE(A$2:A$999)/ISTZAHL(-WECHSELN(A$1:A$999;"EUR";""))/SUCHEN("EUR";A$1:A$999)^0;ZEILE(A2)));"")
F3=WENNFEHLER(INDEX(A:A;AGGREGAT(15;6;ZEILE(A$1:A$999)/ISTZAHL(-WECHSELN(A$2:A$999;"EUR";""))/SUCHEN("EUR";A$2:A$999)^0;ZEILE(A2)));"")
G3=WENN(H3="";"";AGGREGAT(14;6;--A$1:A$999;ZEILE(A1)))
H3=WENNFEHLER(--WECHSELN(INDEX(A:A;AGGREGAT(15;6;ZEILE(A$1:A$999)/ISTZAHL(-WECHSELN(A$1:A$999;"EUR";""))/SUCHEN("EUR";A$1:A$999)^0;ZEILE(A2)));"EUR";"");"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
     
In Deiner eingestellten Beispieldatei geht das natürlich auch, vorausgesetzt Du hast oberhalb von dort A10 auch Deinen gelisteten Kontostand als Textwerrt stehen lassen und entfernst in den Datensätzen, die da vorhandenen unsichtbaren Zeichen 160 (die bei Dir vor "EUR" stehen und höchstwahrscheinlich durch Dein Makro dort "hingemogelt" wurden).

Meine Formeln wurden mit XL2010 erstellt (in Deiner Version lassen sich diese möglicherweise noch zu nur einer Formel zusammenfassen, die dann außerdem noch spillen könnte), was für den angestrebten Zweck aber völlig ausreichend ist.

Bei der in meinem Beispiel gelisteten 1. Ergebnisdatenzeile, handelt es sich um eine von der PB zu dem Zeitpunkt noch nicht endgültig gebuchten sondern lediglich vorgemerkte Buchung, so dass die dortigen Bezeichnungen etwas anders zugeordnet sind.

[Nachtrag:]  das zweimalige "Prüfen" auf "EUR" in den Formeln ist notwendig, weil in den Daten für [was] auch abschließend "EUR" stehen kann. Und genau dies hat mir eine (rein interaktive) PQ-Auswertung der Daten erschwert, so dass ich doch die Formelauswertung für mich bevorzugt habe.
Gruß Werner
.. , - ...
[-] Folgende(r) 1 Nutzer sagt Danke an neopa für diesen Beitrag:
  • franky29
Antworten Top
#12
(19.03.2023, 16:48)neopa schrieb: entfernst in den Datensätzen, die da vorhandenen unsichtbaren Zeichen 160 (die bei Dir vor "EUR" stehen und höchstwahrscheinlich durch Dein Makro dort "hingemogelt" wurden).

Hallo Werner,

erst einmal vielen Danke für deine Mühe. Deine Formeln funktionieren überall bis auf Spalte F. Ich sehe natürlich, dass in F3 die gleich Formel wie in D3 steht, aber weil ich die Sache leider nicht wirklich verstehe, sind auch meine Versuche der Modifikation gescheitet. Ich habe nun gesehen, dass die Datensätze ja jeweils mit dem Eintrag "more" einen viel eindeutigeren Trenner haben. Eine Zelle, die ausschließlich das Wort "more" enthält ist ja ganz eindeutig - während "EUR" ja überall vorkommen kann und deshalb die Sache so komplex macht.

Wo dieses  Zeichen 160 herkommt ist mir auch nicht klar - ich mache eigentlich einfach nur copy/paste aus der Online-Oberfläche. Aktuell nutze ich gar kein Makro - das war nur ein künftiger Plan, wenn ich es mit einer einfachen Formel hinbekommen hätte. Wäre denn BEREICH.VERSCHIEBEN() da prinzipiell der richtige Ansatz?

Das würde natürlich nicht berücksichtigen, dass ein Datensatz (selten) auch mal aus nur 6 statt 7 Daten besteht. Weil das aber sehr selten vorkommt würde ich in den Fällen einfach Leerzeilen manuell einfügen. Dann habe ich aber eine bessere Chance die Formeln zu verstehen. 

Viele Grüße
Frank
Antworten Top
#13
Hallo,

in F3 muss die Formel: 
=WENNFEHLER(INDEX(A:A;AGGREGAT(15;6;ZEILE(A$4:A$999)/ISTZAHL(-WECHSELN(A$1:A$999;"EUR";""))/SUCHEN("EUR";A$1:A$999)^0;ZEILE(A2)))&"";"")

dann funktioniert alles wie gewünscht. Vermutlich schauen noch viele genervte Postbank-Kunden hier vorbei, deshalb noch einmal:

Kontodaten aus der Online-Oberfläche der PoBa kopieren und in XL einfügen. Dann die o.g. Formeln von Werner daneben kopieren und "runterziehen", in F3 die hier genannte (von Werner! korrigiert) Formel nutzen. 

Falls es nicht funktioniert, liegt es am "Zeichen 160". Dann neben die Spalte mit den Original-Daten in A noch eine Hilfsspalte B machen wo man mit =WECHSELN(A1;ZEICHEN(160)&"EUR";"") das unerwünschte Zeichen entfernt, damit Werners Formeln funktionieren können. 

Viele Grüße
Frank
Antworten Top


Gehe zu:


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