CSV-Datei - Kombinieren Sie den Titel, wenn "Wert" in einer anderen Zelle "YES" ist - Libreoffice / Excel / Googledocs

455
riseagainst

Ich habe eine Datei mit Text, der in Zellen unterteilt ist, die ich in eine andere Zelle gruppieren möchte. Zellen sind:

CSV-Datei - Kombinieren Sie den Titel, wenn

A, B, C und D sind was ich habe. Wenn der Wert in jeder Spalte "Ja" ist, möchte ich, dass die Ergebnisspalte den Titel jedes "Ja" anzeigt. Für das erste Beispiel als Beispiel: Blau COMMA Grün COMMA Yellow DOT Ist dies möglich? Wenn das so ist, wie? Vielen Dank.

Bearbeiten: 2016 Office ohne 365-Abonnement hat keinen Textjoin. Nach einer Antwort von LibreOffice / Googledocs suchen.

1
Es gibt keine integrierte Formel dafür, jedoch gibt es bereits eine Antwort auf Ihre Frage zu stackoverflow: https://stackoverflow.com/questions/22639868/vba-user-defined-function-for-concatenate-if-by- Reihen Máté Juhász vor 5 Jahren 0

1 Antwort auf die Frage

2
PeterH

Sie können TEXTJOINdies verwenden, wenn Sie über Excel 2016 und einen 365-Abonnenten verfügen.

In F2 benutze das unten und ziehe nach unten:

{=TEXTJOIN(", ",,IF(A2:D2="yes",$A$1:$D$1,""))} 

Geben Sie dies mit Ctrl+ Shift+ als Array einEnter

Wenn Sie kein 365-Abonnement haben, können Sie eine langatmige IF-Anweisung verwenden, erneut in F2 eingeben und nach unten ziehen:

=SUBSTITUTE(TRIM(IF(A2="yes",$A$1,"")&" "&IF(B2="yes",$B$1,"")&" "&IF(C2="yes",$C$1,"")&" "&IF(D2="yes",$D$1,""))," ",", ")

Für Google Text & Tabellen verwenden:

=ArrayFormula(TEXTJOIN(", ",TRUE,IF(A2:D2="Yes",A$1:D$1,))&".") 
Ihre Antwort scheint der Weg zu sein. Ich habe zwar Büro 2016, aber ich habe keine Text-Join-Funktion. Gibt es eine Möglichkeit, dies hinzuzufügen? Ich habe einen Post gefunden, der besagt, dass nur 365 Abonnenten es bekommen ... riseagainst vor 5 Jahren 0
Es scheint, dass LibreOffice es vielleicht hat, ich werde es versuchen. riseagainst vor 5 Jahren 0
Ich wusste nicht, dass TEXTJOIN nur für 365 Abonnenten verfügbar war. Das ist ziemlich beschissen von MS. Ich habe ein Update für meine Antwort, die Sie trotzdem @riseagainst verwenden können PeterH vor 5 Jahren 0
Das würde auch funktionieren, aber mein Beispiel ist sehr vereinfacht, ich habe über 40 Spalten. Ich denke, dass Libreoffice funktionieren wird, ich kann die Syntax einfach nicht richtig verstehen. riseagainst vor 5 Jahren 0
Hast du das auf Excel getestet? Ich kann es nicht schaffen, an libreoffice oder Google Docs zu arbeiten. riseagainst vor 5 Jahren 0
Wenn Sie Ihre Antwort aktualisieren möchten, ist dies für google docs erforderlich. Ich werde sie als akzeptiert markieren. Dies funktioniert: = ArrayFormula (TEXTJOIN (",", TRUE, IF (A2: D2 = "Ja", A $ 1: D $ 1,)) & ".") riseagainst vor 5 Jahren 0
@riseagainst hat es hinzugefügt PeterH vor 5 Jahren 0