Seite 1 von 1
[gelöst] Felder sollen verknüpft werden nur wenn Feld der BasisTabelle leer
Verfasst: Mo, 13.07.2015 17:43
von vierviervier
Guten Tag in die Runde,
Folgende Grundabsicht:
Möchte Datensätze aus einer Calc-Tabelle zunächst in eine CSV-Datei umwandeln um diese als Grundlage für einen Import nach StarMoney Buissnes 6.0 zu verweden und damit dort eine Sammel-Überweisung zu generieren.
Nach einigem tüfteln hab ich zumindest schon mal einen funktionierenden Weg, indem ich die zu importierenden Datensätze (immer die aktuellen aus einer wesentlich umfangreicheren Datensammlung der Haupliste) markiere und aus meiner Hauptliste kopiere und in eine Extra Import-Liste einfüge. Diese dann als CSV abspeichere und so importiere.
Jetzt wurde ich auf die Idee gebracht, die Export-Liste gleich als weiteres Tabellenblatt in die Hauptliste zu integrieren, um sich so das kopieren zu sparen. Diese integrierte Export-Liste würde dann mit den benötigten Spalten aus der Hauptliste verknüpft sein und zwar in einer Reihehnfolge der Spalten, die mit dem Import-Filter von StarMoney übereinstimmt.
In dieser Export-Liste dürften aber nur die Angaben derjenigen Datensätze der Hauptliste angezeigt werden, die gerade aktuell für die Sammelüberweisung benötigt werden (beistpielsweise die Datensätze 1001 bis 1050).
Was mir nun bisher nicht gelungen ist: einer Formel für die benötigten Spalten der Export-Liste zu finden, die mir nur Angaben derjenigen Datensätze aus der Hauptliste liefert, die z.B in einer Spalte "Datum erledigt" noch keinen Eintrag haben.
Am Ende sollte auf diesem Tabellenbaltt Export dann einfach diese 50 aktuellen Datensätze angezeigt sein mit den für den Import benötigten Daten (Name, Betrag, ...) zum abspeichern unter CSV.
Könnte mir vorstellen, dass schön und einfach mit irgendeiner oder mehreren Formeln zu machen ist, nur komme ich eben nicht drauf mit welcher/welchen).
Hatt mal einen ähnlichen Fall, wo nur eine Verknüfung stattfinden sollte bei gleichem Datum in beiden Tabellen (mit SVerweis), das greift aber hier nicht weil kein gemeinsames Bezugsdatum vorhanden.
Für Hinweise dankbar, vierviervier.
Re: Felder sollen verknüpft werden nur wenn Feld der BasisTabelle leer
Verfasst: Mo, 13.07.2015 20:57
von clag
Hallo vierviervier,
mit zwei Hilfsspalten B + C ist das recht schnell gemacht
die erste HilfsspalteB enthält eine Formel die den gewünschten Zustand überwacht und ggf die Zeilennummer ausgibt
z.B.
=WENN(M2="";ZEILE();"")
die zweite HilfsspalteC enthält eine Formel die die ermittelten Zeilennummern zusammenrückt
=WENN(B$1>=ZEILE(A1);KKLEINSTE(B$2:B$251;ZEILE(A1));"")
mit dieser Zeilen Liste und SVERWEIS() kannst du in der Exporttabelle alle gewünschten Daten zusammentragen
=WENN(Daten.$C2;SVERWEIS(Daten.$C2;Daten.$B$2:$K$251;4;0);"")
Re: Felder sollen verknüpft werden nur wenn Feld der BasisTabelle leer
Verfasst: Di, 14.07.2015 14:51
von vierviervier
Hallo Clag,
das sieht auf den ersten Blick nach genau dem aus, was ich brauche.
Jetzt brauche ich nur noch ein paar zweite Blicke ums im Detail zu schnallen.
Also schön Kaffee holen und ins Detail gehen.
Schon mal vielen Dank, melde mich eventuell noch mal, wenn ich was nicht checke.
vierviervier.
Re: Felder sollen verknüpft werden nur wenn Feld der BasisTabelle leer
Verfasst: Di, 14.07.2015 15:52
von clag
Hallo vierviervier,
falls dich die beiden Hilfspalten in der Haupttabelle stören könnte man die auch auf ein extra Tabellenblatt auslagern.
Die Formeln zum holen der Daten müsste man dann etwas unkomfortabler mit INDIREKT() gestalten.
Re: Felder sollen verknüpft werden nur wenn Feld der BasisTabelle leer
Verfasst: Di, 14.07.2015 16:12
von vierviervier
Hallo Clag,
ne ich häng die einfach hinten rann (damit sich meine Serienbrief-Bezüge nicht ändern) und blende sie dann aus, das ist sauber.
vierviervier.
Re: Felder sollen verknüpft werden nur wenn Feld der BasisTabelle leer
Verfasst: Di, 14.07.2015 16:19
von clag
Hallo.
SVERWEIS() kann nur nach rechts gucken !
Re: Felder sollen verknüpft werden nur wenn Feld der BasisTabelle leer
Verfasst: Di, 14.07.2015 17:32
von vierviervier
Hallo,
stimmt. Das Kriterium für den SVERWEIS muss zwar nicht ganz links stehen, der SVERWEIS ist so schon erst mal einrichtbar, aber für die Daten, die er sich dann bei Übereinstimmung holen soll muss man den SVERWEIS dann über die ganze Tabelle schicken mit Summen und PLZ dazwischen, verbunden mit der Gefahr, dass dann falsche Übereinstimmungen gefunden werden.
Ich habe jetzt mal die relevanten Daten in weiteren Spalten hinten noch mal rangehängt mit Bezug zu den Orginaleinträgen vorne und baue die SVERWEIS-Matrix dann nur hinten.
vierviervier.
Re: Felder sollen verknüpft werden nur wenn Feld der BasisTabelle leer
Verfasst: Di, 14.07.2015 17:35
von clag
Hallo 444
hier ist die INDIREKT() Variante
viel Spaß
Re: Felder sollen verknüpft werden nur wenn Feld der BasisTabelle leer
Verfasst: Di, 14.07.2015 18:02
von vierviervier
Hallo Clag, Variane1 steht.
eine Kleinigkeit wäre noch zu bereinigen (sonst gibt es Schwierigkeiten beim Export als CSV-Datei):
Die ersten 100 zeilen sind mit den Formeln gefüllt (für maximal 100 aktuelle Sammelüberweisungen). Nach den korrekt wiedergegebenen Datensätzen kommt in den restlichen Zeilen bis 100 bei den SVERWEISEN die Angabe #WERT!.
Ist bei deiner Export-Tabelle auch so, wenn ich mich richtig erinnere. Dachte, dass durch das WENN(Daten...;...;"") kommt bei leerem relevanten Feld: " sonst: "" ".
vierviervier
Re: Felder sollen verknüpft werden nur wenn Feld der BasisTabelle leer
Verfasst: Mi, 15.07.2015 08:16
von vierviervier
Hallo Clag,
WENN(Daten...<>";SVERWEIS...;""): dann ist WERT weg.
Jetzt muss ich das ganze noch mit einem IBAN-Rechner verknüpfen und dann schicke ich meinen ersten Test-Sammler raus.
Wenn alle geklappt habt, gebe ich dir noch mal kurze Rückmeldung.
Vielen Dank schon mal bis hierher.
vierviervier.
Re: Felder sollen verknüpft werden nur wenn Feld der BasisTabelle leer
Verfasst: Mi, 15.07.2015 12:24
von vierviervier
Hallo Clag,
alles sauber und funktioniert einwandfrei. Die Formeln reagieren auch gelassen auf Sortierungen / Veränderungen beim Datum / beim Kürzel SÜ und zeigen immer korrekt an. Erster Probe-Export nach StarMoney ist durchgelaufen. Begeistert.
Nicht von Bedeutung, aber würde mir noch einen Mini-Arbeitsschritt ersparen:
Meine ExportTabelle ist auf den ersten 100 Zeilen mit den benötigten Formeln belegt (maximal sind 100 Datensätze für den Sammler aktuell).
Löscht man die nicht benötigten nicht vor dem speichern unter CSV-Format, dann werden die Felder im CSV-Format als Leerfelder weiter mitgeführt (sieht man in der Vorschau der CSV-Datei als ein Meer von Semikolons im Anschluß an die relevanten Daten).
Der Import bei SM klappt dann auch nicht unter dem Hinweis: "ungültiges Dateiformat".
Siehst du einen Weg, dass die Formeln nur für den relevanten Bereich greifen und ansonsten nicht angezeigt werden?
Selbst wenn dafür nur die Lösung bleibt den Bereich eben schnell über das Markierungsfeld oben links zu markieren und zu löschen:
Das ganze läuft bei mir unter dem Prädikat "perfekt".
Danke noch mal, hattest einen Kompagnon am anderen Ende, ottoager, der mich assistiert hat beim Umschiffen der nicht wenigen Hindernisse im Bereich Import nach SM.
Schöne Grüße, vierviervier.
Re: Felder sollen verknüpft werden nur wenn Feld der BasisTabelle leer [gelöst]
Verfasst: Mi, 15.07.2015 14:25
von clag
Hallo 444,
wie man beim Calc eigenen CSV Eport die ungefüllten Zeilen unterdrücken kann, habe ich jetzt keine Idee.
mein Versuch direkt zu filtern und eine Ausgabe auf ein anderes Tabellenblatt hat nicht geklappt eben so das ausblenden der leeren Zeilen.
Da bleibt wohl nur noch die extrahierten Daten zu kopieren und als Text/Werte in die Exporttabelle einzufügen.
das könnte man natürlich als Makro aufzeichnen und auf einen Button legen.
Re: Felder sollen verknüpft werden nur wenn Feld der BasisTabelle leer [gelöst]
Verfasst: Mi, 15.07.2015 15:01
von clag
Hallo vierviervier,
hier noch die Button erweiterte Version mit gleichzeitigem erstellen einer separaten Exportdatei,
falls du noch Lust zum optimieren hast. Der nächste Schritt wäre dann wohl eine komplette Makrolösung.
viel Spaß
Re: Felder sollen verknüpft werden nur wenn Feld der BasisTabelle leer [gelöst]
Verfasst: Mi, 15.07.2015 15:39
von vierviervier
Hallo Clag,
sieht gut aus. Müsste den Button bei mir in das bisherige Export-Tabellenblatt integrieren. Meine Kunden der Hauptliste haben nicht alle Konto-angaben dabei, deswegen werden die IBAN (bzw. KTO/BLZ, habe einen IBAN-Rechner integriert) erst bei den mit SVERWEIS gefilterten Datensätzen der Export-Liste zugefügt und dann gespeichert unter CSV.
Solche Felder-Unabhängigen Buttons zu erzeugen und zu konfigurieren, da wollte ich schon immer mal einsteigen, seitdem die mir bei versch. Beispiel-Tabellen unter die Nase gekommen sind. Wollte, wenn mal Zeit wäre, eh noch eine "Wie macht man so coole Buttons"-Anfrage ins Forum stellen.
Kannst du mir da die Stichworte geben, wie ich Einblick bekomme, wie dein button überhaupt konfiguriert ist?
Aber jetzt bin ich erst mal froh, dass meine Liste steht und funktioniert und ich hab ne Kollegin, die will endlich damit starten. Also mach ich erst mal vorläufigen Schlussstrich mit optimieren und weis meine Kollegin ein. Falls dann wieder Muße ist, würde ich mich gern noch mal rühren.
Schöne Grüße, ach ja und noch ne Frage: bist du auf diese 3-Schritt-Variante mit dem SVERWEIS am Schluß selber gekommen?
vierviervier.
Re: Felder sollen verknüpft werden nur wenn Feld der BasisTabelle leer [gelöst]
Verfasst: Mi, 15.07.2015 16:54
von clag
Hall 444,
vierviervier hat geschrieben:bist du auf diese 3-Schritt-Variante mit dem SVERWEIS am Schluß selber gekommen?
Ja die Idee ist auf meinem Mist gewachsen, was aber nicht bedeutet, das nicht Jemand anderes schon einmal
genau die gleiche Idee umgesetzt hat, oder später nocheinmal umsetzen wird, dafür gibt es zu viele Calc User.
Es gibt vermutlich noch andere Möglichkeiten, solche Ideen können immer nur mit dem jeweiligen Wissensstand kreiert werden.
Ich erhebe für mich jedenfalls nicht den Anspruch, ultimative Lösungen zu präsentieren.