Daten kombinieren (leere Zellen jedoch ignorieren)

771
Nicky

Ich freue mich, die Textdaten verschiedener Zellen in Excel zu kombinieren. Ich verwende derzeit die Formel:

=J3&", "&K3&", "&L3&", "&M3 

Wenn alle meine Zellen Text enthalten, ist das Ergebnis genau das, was ich möchte.

In einigen Fällen gibt es jedoch Zellen, in denen sich keine Daten befinden. Im Moment gibt meine Formel nur ",," zurück, wenn sich in den Zellen keine Daten befinden. Gibt es eine Möglichkeit, die Formel so umzuschreiben, dass Zellen ignoriert werden, die keine Daten enthalten?

2

5 Antworten auf die Frage

3
Scott Craner

Mit Office 365 Excel wird dies einfach.

Office 365 Excel eingeführt TEXTJOIN ()

=TEXTJOIN(", ",TRUE,J3:M3) 

Mit TRUEdem zweiten Kriterium werden automatisch alle Leerzeichen übersprungen.

HINWEIS: Ich kenne den OP-Status Excel 2010, dies ist für zukünftige Leser gedacht.

0
Sandeep

Versuche dies:

=CONCATENATE( IF(ISBLANK(J3),"",J3&", "), IF(ISBLANK(K3),"",K3&", "), IF(ISBLANK(L3),"",L3&", "), IF(ISBLANK(M3),"",M3)) 

Mit der ISBLANK-Funktion von Microsoft Excel können Sie nach leeren Werten oder Nullwerten suchen.

Hier ISBLANK()wird überprüft, ob die Zelle einen Wert hat. Wenn kein Wert vorhanden ist, wird eine leere ""Zeichenfolge hinzugefügt. Andernfalls wird der Zellenwert zusammen mit dem String ", "hinzugefügt.

Danke für deinen Beitrag. Kannst du das erklären? :) bertieb vor 5 Jahren 0
Sie sind auf einem guten Weg, aber wenn Sie das Komma mit einem aktuellen Wert verketten, wird ein zusätzliches Komma hinterlassen, wenn danach keine Werte vorhanden sind. fixer1234 vor 5 Jahren 0
0
Kevin Anthony Oppegaard Rose

Versuchen Sie IF(), jeder Zelle eine Anweisung hinzuzufügen :

=IF(J3<>"";J3;"")&(IF(K3<>"";", "&K3;""))&(IF(L3<>"";", "&L3;""))&(IF(M3<>"";", "&M3;"")) 

Beachten Sie die geringfügige Änderung der Formel für die erste IF()Anweisung.

Die Zeichenfolge wird mit ";" gestartet. Wenn J3 leer ist, möchten Sie möglicherweise ";" zur J3 hinzufügen und MID () verwenden, um beim zweiten Zeichen zu beginnen, um sicherzustellen, dass "" nicht hinzugefügt wird. Scott Craner vor 5 Jahren 0
@ScottCraner nein es wird nicht. Daher mein Kommentar "Beachten Sie die geringfügige Änderung ...", die ich dafür korrigiert habe. Wenn jedoch sowohl J3 als auch K3 leer sind, beginnt es mit a; Kevin Anthony Oppegaard Rose vor 5 Jahren 0
Sorry, es wird ein `,` auf der Front lassen, wenn J3 leer ist. Siehe hier (https://imgur.com/a/DmC2va2) Scott Craner vor 5 Jahren 0
0
fixer1234

Scott präsentiert eine ordentliche Lösung für neuere Versionen von Excel. Die anderen drei Lösungen (bis jetzt) ​​verwenden einfache Funktionen, die in jeder Version von Excel funktionieren. Die abgrenzenden Kommas sind jedoch etwas komplizierter als diese Formeln. Um dies in diesem Lösungsstil zu erreichen, ist für jedes Komma eine gewisse Logik erforderlich.

Hier sind die möglichen Kombinationen von aktuellen und fehlenden Werten:

Die erste Zeile enthält keine fehlenden Werte. Die nächsten vier Zeilen haben an jeder möglichen Position einen fehlenden Wert. Die nächsten sechs Zeilen enthalten an jeder möglichen Position zwei fehlende Werte. Dann die vier Reihen von drei fehlenden Werten und schließlich alle fehlenden Werte. Um ein Komma dort zu erhalten, wo es benötigt wird, und nur dort, wo es benötigt wird, benötigen Sie eine Logik für jedes Komma.

Am einfachsten ist es, das Komma mit dem Wert "next" zu verknüpfen. An jeder Kommaposition gibt es kein Komma, wenn zuvor keine Werte vorkamen (was für jede Position ein anderer Fall ist). Wenn es einen vorhergehenden Wert gibt, möchten Sie ein Komma nur, wenn die nächste Position einen Wert enthält. Die Komma-Logik sieht also so aus:

First comma: =IF(J3="","",IF(K3="","",", ")) or =IF(AND(J3<>"",K3<>""),", ","") Second comma: =IF(J3&K3="","",IF(L3="","",", ")) or =IF(AND(J3&k3<>"",L3<>""),", ","") Third comma: =IF(J3&K3&L3="","",IF(M3="","",", ")) or =IF(AND(J3&K3&L3<>"",M3<>""),", ","") 

Ich habe jedes Komma in eine eigene Spalte eingefügt, um das Muster mit den verschiedenen Wertekombinationen zu veranschaulichen:

Die Lösung verkettet die Werte (oder leer, wenn keine) mit den Kommas. Zur besseren Lesbarkeit ist hier die Formel mit dem Komma als Referenz auf die Formelzelle eingefügt:

=IF(J3="","",J3) &N3 &IF(K3="","",K3) &O3 &IF(L3="","",L3) &P3 &IF(M3="","",M3) 

Wenn Sie die Kommaformeln in die Ergebnisformel einsetzen, erhalten Sie:

=IF(J3="","",J3) &IF(AND(J3<>"",K3<>""),", ","") &IF(K3="","",K3) &=IF(AND(J3&k3<>"",L3<>""),", ","") &IF(L3="","",L3) &=IF(AND(J3&K3&L3<>"",M3<>""),", ","") &IF(M3="","",M3) 

-2
Rajesh S

Geben Sie diese Formel in eine leere Zelle ein, in der Sie das verkettete Ergebnis erhalten möchten.

=IF(LEN(TRIM(J3))=0,",",J3)&IF(LEN(TRIM(K3))=0,",",K3)& IF(LEN(TRIM(L3))=0,",",L3)& IF(LEN(TRIM(M3))=0,"",M3) 

Oder Sie können dies auch verwenden,

=TRIM(J3 & K3 &","& L3&","&M3) 

Hinweis: Im obigen Beispiel ist Zelle J3 keine leere Zelle. Bitte passen Sie die Zellenadresse an Ihre Bedürfnisse an.

Ihre erste Formel entspricht im Wesentlichen der von Kevins Lösung, die 20 Stunden vor Ihnen veröffentlicht wurde. Die zweite und dritte Formel fügt kein Trennzeichen zwischen den Elementen ein, wie in der Frage gezeigt. Bitte posten Sie nur dann eine Antwort, wenn sie die Frage tatsächlich beantwortet und neue Informationen im Vergleich zu vorhandenen Antworten liefert. Máté Juhász vor 5 Jahren 1
@ MátéJuhász, in der Tat habe ich Kevins Antwort nicht bemerkt und in meiner zweiten separaten Formel war Blank anstelle von Comma. Jetzt habe ich sowohl die 2. als auch die 3. Formel bearbeitet. Und ich habe drei verschiedene Beispiele in einem größeren Umfang gezeigt. :-) Rajesh S vor 5 Jahren 0
Die erste Formel ist falsch, da an jeder Stelle ein unerwünschtes Komma eingefügt wird (was das OP zu korrigieren versucht) und kein Komma, wenn tatsächliche Werte getrennt werden sollen. Die zweite Formel dupliziert das Problem, das das OP zu beheben versucht, und schließt ein Komma zwischen J3 und K3 aus, wenn beide Werte haben. Wenn Sie tatsächlich Beispiele erstellt und diese Formeln mit und ohne fehlende Werte getestet haben, ist sofort ersichtlich, dass die Antwort schlecht ist, wenn Sie die Frage lesen. fixer1234 vor 5 Jahren 0
@ fixer1234, beide Formeln funktionieren einwandfrei, wenn Sie meinen, ich könnte den Screenshot hochladen. Rajesh S vor 5 Jahren 0
Ich habe eine Antwort gepostet, weil so viele Leute diese falsch verstanden haben. Verwenden Sie das Beispiel, das ich für die möglichen Kombinationen verwendet habe, und testen Sie Ihre Formeln dagegen. Sie werden sehen, dass keine der beiden Antworten in Ihrer Antwort das tut, was die Frage stellt. fixer1234 vor 5 Jahren 0