🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Textfelder zusammenführen - verkettenwenn()

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
Zahnerer
Beiträge: 7
Registriert: Do 15. Mär 2018, 10:59

Textfelder zusammenführen - verkettenwenn()

Beitrag von Zahnerer » Do 15. Mär 2018, 11:16

Hallo Freunde,

Ist es möglich,Text per Bedingung zusammen zu führen. Am einfachsten zu beschreiben mit einer imaginären Funktion:

Code: Alles auswählen

=verkettenwenn(Bereich;Bedingung;Verkettungsbereich;Trennzeichen (optional))

Code: Alles auswählen

=verkettenwenn(A1:A250;"Müller";B1:B250;", ")
Ich habe also eine Tabelle mit vielen verschiedenen Namen in Spalte A und ebenso Vornamen in Spalte B. Ziel ist, alle Vornamen von Personen, die"Müller" heißen, in 1 Zelle hintereinander ( mit Trennzeichen) zu schreiben.

Das Ergebnis soll sein: Hans, Heinz,... usw.

Ich will nur ungern mit Script arbeiten, wenn möglich soll das Ganze nur mit normalen Formeln funktionieren. Matrixformeln sind natürlich auch OK.

Kann mir jemand helfen? Grüße aus Franken, Zahnerer

Mondblatt24
* LO-Experte *
Beiträge: 3339
Registriert: Fr 3. Mär 2017, 17:12

Re: Textfelder zusammenführen - verkettenwenn()

Beitrag von Mondblatt24 » Do 15. Mär 2018, 12:17

Hallo,
mit einer Hilfsspalte, die dann ausgeblendet werden kann, würde ich es lösen.

Namen.ods
(11.63 KiB) 274-mal heruntergeladen

Gruß Peter.
Win 11 (x64) ▪ LO 25.2.5.1 (x64) ▪ AOO Portable 4.1.15
Wenn Eure Frage zutreffend beantwortet wurde, seid so nett und fügt dem Betreff der Eingangsfrage [GELÖST] hinzu.

Zahnerer
Beiträge: 7
Registriert: Do 15. Mär 2018, 10:59

Re: Textfelder zusammenführen - verkettenwenn()

Beitrag von Zahnerer » Do 15. Mär 2018, 13:41

Hallo Mondblatt24,

vielen Dank für den Ansatz, der in meinem konkreten Fall aber leider nicht funktioniert.
Ich glaube, ich stelle mal den konkreten Fall als Datei hier hinein (ich hatte ihn stark vereinfacht, jetzt nur noch ein bisschen vereinfacht):
Test.ods
(12.63 KiB) 265-mal heruntergeladen

Liebe Grüße, Zahnerer

Zahnerer
Beiträge: 7
Registriert: Do 15. Mär 2018, 10:59

Re: Textfelder zusammenführen - verkettenwenn()

Beitrag von Zahnerer » Do 15. Mär 2018, 15:07

Hallo Freunde.

Also, ich habe jetzt das Ganze gelöst, aber sehr unschön. Immerhin funktioniert es.

Meine Lösung war ein Megawurm von sverweisen(). Hier zu sehen:

Code: Alles auswählen

=WENN(D23="";"";VERKETTEN(SVERWEIS(SUMME(PRODUKT(C23;10);1);G$20:J$26;4;0);WENN(ISTNV(SVERWEIS(SUMME(PRODUKT(C23;10);2);G$20:J$26;4;0))=1;"";SVERWEIS(SUMME(PRODUKT(C23;10);2);G$20:J$26;4;0));WENN(ISTNV(SVERWEIS(SUMME(PRODUKT(C23;10);3);G$20:J$26;4;0))=1;"";SVERWEIS(SUMME(PRODUKT(C23;10);3);G$20:J$26;4;0));WENN(ISTNV(SVERWEIS(SUMME(PRODUKT(C23;10);4);G$20:J$26;4;0))=1;"";SVERWEIS(SUMME(PRODUKT(C23;10);4);G$20:J$26;4;0));WENN(ISTNV(SVERWEIS(SUMME(PRODUKT(C23;10);5);G$20:J$26;4;0))=1;"";SVERWEIS(SUMME(PRODUKT(C23;10);5);G$20:J$26;4;0));WENN(ISTNV(SVERWEIS(SUMME(PRODUKT(C23;10);6);G$20:J$26;4;0))=1;"";SVERWEIS(SUMME(PRODUKT(C23;10);6);G$20:J$26;4;0));WENN(ISTNV(SVERWEIS(SUMME(PRODUKT(C23;10);7);G$20:J$26;4;0))=1;"";SVERWEIS(SUMME(PRODUKT(C23;10);7);G$20:J$26;4;0));WENN(ISTNV(SVERWEIS(SUMME(PRODUKT(C23;10);8);G$20:J$26;4;0))=1;"";SVERWEIS(SUMME(PRODUKT(C23;10);8);G$20:J$26;4;0));WENN(ISTNV(SVERWEIS(SUMME(PRODUKT(C23;10);9);G$20:J$26;4;0))=1;"";SVERWEIS(SUMME(PRODUKT(C23;10);9);G$20:J$26;4;0))))
Das Ganze kommt in Spalte E, die die Personen je Zeile aufzählen soll. 9 mal diesen sverweis(), weil ich angenommen habe, dass niemand mehr als 9 Zuordnungen haben wird. Unglücklicherweise muss man bei jedem sverweis() aber auch noch die Fehlermeldung abfangen, das kostet viel Platz.

Wenn jemand eine bessere Möglichkeit findet, wäre ich sehr dankbar!

Viele Grüße, Zahnerer

HeritzP
* LO-Experte *
Beiträge: 963
Registriert: Mo 9. Dez 2013, 19:08

Re: Textfelder zusammenführen - verkettenwenn()

Beitrag von HeritzP » Do 15. Mär 2018, 16:00

Hallo,

ab LibreOffice 5.1 gibt es die Funktion VERBINDEN().
Als Matrixformel für E9

Code: Alles auswählen

=VERBINDEN(",";1;WENN(F$6:F$12=C9;J$6:J$12;""))
Für OpenOffice kann PYJOIN() verwendet werden.
Das ist ein Addin und muss installiert werden.
Textfunctions.zip
Datei umbenennen in Textfunctions.oxt
(3.69 KiB) 234-mal heruntergeladen

Code: Alles auswählen

=PYJOIN(WENN(F$6:F$12=C9;J$6:J$12;"");";")
Test.ods
(12.7 KiB) 247-mal heruntergeladen

Gruß HeritzP
HeritzP

alles nur geklaut


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten