BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 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
Beiträge: 2840
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) 241-mal heruntergeladen

Gruß Peter.
Win 11 (x64) ▪ LO 24.2.2.2 (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) 231-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
Beiträge: 899
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) 205-mal heruntergeladen

Code: Alles auswählen

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

Gruß HeritzP
HeritzP

alles nur geklaut

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten