Datum aus Array filtern und alle in einer Zeile anzeigen

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

openofficerookie
*
Beiträge: 18
Registriert: Mo, 19.05.2014 10:56

Datum aus Array filtern und alle in einer Zeile anzeigen

Beitrag von openofficerookie »

Hallo,

ich versuche gerade aufgrund einer Bedingung die gefilterten Datumsangaben in einer Zelle nebeneinander, getrennt durch einen Beistrich, anzuzeigen. Das funktioniert bis auf ein wichtiges Detail. Die Datumsangaben werden dann als Zahlen dargestellt, auch wenn die Zelle als Datum formatiert ist.
Ich verwende diese Funktion:
=WENN(B8="ST";A8&",";"")&WENN(B14="ST";A14&",";"")

So sollte es aussehen: 03.01.2014,09.01.2014

Ich nehme stark an, dass die & Verknüpfung das Problem ist, aber wie kann ich die beiden (bzw. mehrere) WENN Abfragen in diesem Fall Verknüpfen, damit das Datumsformat beibehalten wird?
Für Tipps bin ich sehr dankbar!
LG
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Datum aus Array filtern und alle in einer Zeile anzeigen

Beitrag von clag »

Hallo openofficerookie,

die Funktion TEXT() hilft dir bestimmt weiter
zB so
=TEXT(A2;"TT.MM.JJJJ") & TEXT(B2;"TT.MM.JJJJ")
wenn in A2 und B2 Datumswerte stehen


edit:

konkret für dein Beispiel sollte es diese Formel tun
=WENN(B8="ST";TEXT(A8;"TT.MM.JJJJ")&",";"")&WENN(B14="ST";TEXT(A14;"TT.MM.JJJJ")&",";"")
Zuletzt geändert von clag am Do, 22.05.2014 11:49, insgesamt 3-mal geändert.
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Rocko
*******
Beiträge: 1164
Registriert: Do, 11.10.2012 13:19

Re: Datum aus Array filtern und alle in einer Zeile anzeigen

Beitrag von Rocko »

openofficerookie hat geschrieben:So sollte es aussehen: 03.01.2014,09.01.2014
So sieht das auch aus, wenn die Datumsangabe in Spalte A als Text formatiert ist (mit Hochkomma davor).

Die Funktion verbindet nur Texte und keine Werte. Mit der Aufzählung von Daten kannst du ja auch nicht rechnen.
Hast du schon mal einen Blick in die Writer-FAQ und in die Calc-FAQ des Forums geworfen?
Für jeden vor dem Beginn seiner Seminararbeit ein unbedingtes MUSS: http://openoffice-uni.org/
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Datum aus Array filtern und alle in einer Zeile anzeigen

Beitrag von clag »

Hallo openofficerookie,

guckst du hier deine Beispielformel abgeändert

=WENN(B8="ST";TEXT(A8;"TT.MM.JJJJ")&",";"")&WENN(B14="ST";TEXT(A14;"TT.MM.JJJJ")&",";"")

damit solltest du das gewünschte Ergebnis erhalten
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
openofficerookie
*
Beiträge: 18
Registriert: Mo, 19.05.2014 10:56

Re: Datum aus Array filtern und alle in einer Zeile anzeigen

Beitrag von openofficerookie »

Vielen Dank für die schnelle und professionelle Hilfe! Die Formel
=WENN(B8="ST";TEXT(A8;"TT.MM.JJJJ")&",";"")&WENN(B14="ST";TEXT(A14;"TT.MM.JJJJ")&",";"")

funktioniert super!
openofficerookie
*
Beiträge: 18
Registriert: Mo, 19.05.2014 10:56

Re: Datum aus Array filtern und alle in einer Zeile anzeigen

Beitrag von openofficerookie »

Könnte ich das auch mit einem Array machen? also
=WENN(B8:38="ST";TEXT(A8:A38;"TT.MM.JJJJ")&",";"")

??
openofficerookie
*
Beiträge: 18
Registriert: Mo, 19.05.2014 10:56

Re: Datum aus Array filtern und alle in einer Zeile anzeigen

Beitrag von openofficerookie »

openofficerookie hat geschrieben:Könnte ich das auch mit einem Array machen? also
=WENN(B8:38="ST";TEXT(A8:A38;"TT.MM.JJJJ")&",";"")

??

Hab das jetzt so ausprobiert, allerdings unter geschwungen Klammern, dann findet er zwar die Daten, aber er schreibt sie nicht in eine Zelle, sondern 1:1 untereinander
{=WENN(B6:B36="ST";TEXT(A6:A36;"TT.MM.JJJJ")&",";"")}

Warum frage ich so blöde. weil ich nämlich 30 Zeilen abfragen muss, also den Bereich von A6 bis B36 und das würde anscheinend zu lange werden. Ich kann diese Formel nur bis hierher reinschreiben, mehr nimmt es anscheinend nicht auf...mir fehlen also noch A34,35 36

=WENN(B6="ST";TEXT(A6;"TT.MM.JJJJ")&",";"")&WENN(B7="ST";TEXT(A7;"TT.MM.JJJJ")&",";"")&WENN(B8="ST";TEXT(A8;"TT.MM.JJJJ")&",";"")&WENN(B9="ST";TEXT(A9;"TT.MM.JJJJ")&",";"")&WENN(B10="ST";TEXT(A10;"TT.MM.JJJJ")&",";"")&WENN(B11="ST";TEXT(A11;"TT.MM.JJJJ")&",";"")&WENN(B12="ST";TEXT(A12;"TT.MM.JJJJ")&",";"")&WENN(B13="ST";TEXT(A13;"TT.MM.JJJJ")&",";"")&WENN(B14="ST";TEXT(A14;"TT.MM.JJJJ")&",";"")&WENN(B15="ST";TEXT(A15;"TT.MM.JJJJ")&",";"")&WENN(B16="ST";TEXT(A16;"TT.MM.JJJJ")&",";"")&WENN(B17="ST";TEXT(A17;"TT.MM.JJJJ")&",";"")&WENN(B18="ST";TEXT(A18;"TT.MM.JJJJ")&",";"")&WENN(B19="ST";TEXT(A19;"TT.MM.JJJJ")&",";"")&WENN(B20="ST";TEXT(A20;"TT.MM.JJJJ")&",";"")&WENN(B21="ST";TEXT(A21;"TT.MM.JJJJ")&",";"")&WENN(B22="ST";TEXT(A22;"TT.MM.JJJJ")&",";"")&WENN(B23="ST";TEXT(A23;"TT.MM.JJJJ")&",";"")&WENN(B24="ST";TEXT(A24;"TT.MM.JJJJ")&",";"")&WENN(B25="ST";TEXT(A25;"TT.MM.JJJJ")&",";"")&WENN(B26="ST";TEXT(A26;"TT.MM.JJJJ")&",";"")&WENN(B27="ST";TEXT(A27;"TT.MM.JJJJ")&",";"")&WENN(B28="ST";TEXT(A28;"TT.MM.JJJJ")&",";"")&WENN(B29="ST";TEXT(A29;"TT.MM.JJJJ")&",";"")&WENN(B30="ST";TEXT(A30;"TT.MM.JJJJ")&",";"")&WENN(B31="ST";TEXT(A31;"TT.MM.JJJJ")&",";"")&WENN(B32="ST";TEXT(A32;"TT.MM.JJJJ")&",";"")&WENN(B33="ST";TEXT(A33;"TT.MM.JJJJ")&",";"")
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Datum aus Array filtern und alle in einer Zeile anzeigen

Beitrag von clag »

Hallo openofficerookie,

wenn der Formelwurm tut was er soll ist doch alles Banane ;)

als MatrixFormel wird es nicht funktionieren (glaube ich jedenfalls)

ansonsten kannst du ja mit einer Hilfsspalte arbeiten in der du die WENN(ST) Bedingung abarbeitest
und dann in der eigentlichen Ergebnis-Zelle Verkettest du alle Hilfszellen.
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
openofficerookie
*
Beiträge: 18
Registriert: Mo, 19.05.2014 10:56

Re: Datum aus Array filtern und alle in einer Zeile anzeigen

Beitrag von openofficerookie »

Hi danke nochmals clag für deine Hilfe!
Und, ja dieser Formelwurm macht tatsächlich alles korrekt - bis zur Zeile 33 :-) Nur gibt es anscheinend für die Formel eine Zeichenlimitierung, bzw. ist sie in der Länge begrenzt. Und ich bräuchte noch 3 Zeilen, die ich in die Formel einbauen müsste:
&WENN(B34="ST";TEXT(A34;"TT.MM.JJJJ")&",";"")&WENN(B35="ST";TEXT(A35;"TT.MM.JJJJ")&",";"")&WENN(B36="ST";TEXT(A36;"TT.MM.JJJJ")&",";"")

Zur Not versuch ich, ob ich es mit dem Sverweis schaffe.. mal gucken, ob ich das checke *Gg*
Danke auf jeden Fall!!!
Karolus
********
Beiträge: 7531
Registriert: Mo, 02.01.2006 19:48

Re: Datum aus Array filtern und alle in einer Zeile anzeigen

Beitrag von Karolus »

Hallo

Nimm einfach
=PYJOIN(WENN(A6:A36="ST";TEXT(B6:B36;"tt.mm.jjjj");"");",")

als Matrixformel

....PYJOIN findest du hier

Karolus
Zuletzt geändert von Karolus am Do, 22.05.2014 12:56, insgesamt 1-mal geändert.
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Datum aus Array filtern und alle in einer Zeile anzeigen

Beitrag von clag »

Hallo openofficerookie,

guckst du hier nochmal
2_64036_Beispiel mit Hilfsspalte.ods
(9.32 KiB) 51-mal heruntergeladen
oder du wählst Karolus PYJOIN()
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
openofficerookie
*
Beiträge: 18
Registriert: Mo, 19.05.2014 10:56

Re: Datum aus Array filtern und alle in einer Zeile anzeigen

Beitrag von openofficerookie »

clag hat geschrieben:Hallo openofficerookie,

guckst du hier nochmal
2_64036_Beispiel mit Hilfsspalte.ods
oder du wählst Karolus PYJOIN()

Danke Karolus für deine Hilfe!!
Wie kann ich die Lösung mit der Hilfstabelle am besten in meine Datei übernehmen (die Hilfstabelle ist ausgeblendet, wie kann ich die einblenden lassen)? Ganz ist mir der Ablauf noch nicht klar. Du hast ab A8 eine Basistabelle mit den Daten. Und ich nehme an ab H8 die Hilfstabelle erstellt (die ausgeblendet ist). Welche Formel ist für die Hilfstabelle verwendet worden? Ich habe es mit =WENN(B6="ST";TEXT(A6;"TT.MM.JJJJ")&",";"") versucht, die Formel hab ich dann einfach vertikal vervielfältigt. Jedoch sind dann in der Hilfstabelle auch leere Zeilen. Deine Verkettung scheint auf eine Hilfstabelle ohne Leerzeilen zuzugreifen.

PYJOIN wollte ich versuchen, aber ich konnte unter http://extensions.services.openoffice.org das PYJOIN nicht finden, weil ich denke, es muss bei mir erst installiert werden....
Karolus
********
Beiträge: 7531
Registriert: Mo, 02.01.2006 19:48

Re: Datum aus Array filtern und alle in einer Zeile anzeigen

Beitrag von Karolus »

Hallo

Ok - Lesen will gelernt sein - hie nochmal extra für dich der direkte Link
Textfunctions.oxt
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
openofficerookie
*
Beiträge: 18
Registriert: Mo, 19.05.2014 10:56

Re: Datum aus Array filtern und alle in einer Zeile anzeigen

Beitrag von openofficerookie »

Sorry,

1.) deine Lösung mit der Hilfstabelle klappt super, danke! Klar, Hilfsspalte einblenden, hab ich dann auch geschafft *ggg* yes, bei diesen Dingen bin ich ein DAU ;-)
2.) Hinweis zu PYJOIN: der Link führt mich zur Installtion von Textfunctions.oxt (die ich durchführen lies).
3.) Ich habe dann Opcen Cald geschlossen und wieder gestartet
4.) Die Formel =PYJOIN(WENN(A6:A36="ST";TEXT(B6:B36;"tt.mm.jjjj");"");",")
wie von dir angeführt verwendet. Ergebnis #Wert!

Habe mich bemüht deine Hilfe korrekt zu interpretieren, wenn mir noch dumme Fehler passiert sind, dann will ich dich damit nicht aufhalten... Danke dennoch für deine Hilfe!
openofficerookie
*
Beiträge: 18
Registriert: Mo, 19.05.2014 10:56

Re: Datum aus Array filtern und alle in einer Zeile anzeigen

Beitrag von openofficerookie »

Okay, bin auch auf meinen Fehler beim PYJOIN drauf gekommen.

Man darf anscheinend die Formel keinesfalls reinkopieren, es genügt dann auch nicht die Formel mit Shift+Strg+Enter zu bestätigen, damit sie die geschwungenen Klammern bekommt. Bei mir funktionierte es nur, wenn ich sie tatsächlich händisch reinschreibe und dann mit SHIFT+Strg+Enter bestätige. Vervielfältigen dieser Formel funktioniert nicht, mann muss sie also immer händisch eintragen.
Zumindest funktioniert sie super und das ist schon ein Hit!!!! Danke!
Antworten