Bedingtes Verketten Einfügen oder Nicht-Einfügen von Unterstrichen in Abhängigkeit vom Zellenwert

360
Luca

Ich bin ein Anfänger von Excel und versuche folgendes Ergebnis zu erzielen:

 Col1 Col2 Col3 Col4 John Jim Tom Sarah Ann Betty blank blank Lee Sue George blank 

Was ich möchte:

 John_Jim_Tom_Sarah Ann_Betty Lee_Sue_George 

Was ich bekomme:

 John_Jim_Tom_Sarah Ann_Betty__ Lee_Sue_George_ 

Weiß jemand, wie man es löst?

1
Sie sollten etwas wie `IF (ISBLANK (A1," "," _ "& A1))` verwenden können, um den Unterstrich nur zurückzugeben, wenn A1 nicht leer ist. Worthwelle vor 5 Jahren 0
Welche Version von Excel haben Sie? Wenn es sich um eine neuere Version handelt, können Sie `TEXTJOIN ()` verwenden BruceWayne vor 5 Jahren 1

2 Antworten auf die Frage

2
Scott Craner

Verwenden Sie TEXTJOIN:

=TEXTJOIN("_",TRUE,A2:D2) 


Wenn Sie kein TEXTJOIN haben, müssen Sie Folgendes tun:

=MID(IF(A2<>"","_"&A2,"")&IF(B2<>"","_"&B2,"")&IF(C2<>"","_"&C2,"")&IF(D2<>"","_"&D2,""),2,99) 

[Hier ist ein Link] (https://stackoverflow.com/a/45845229/4650297) zu einer UDF für TextJoin: D BruceWayne vor 5 Jahren 0
@ BruceWayne hey, das erkenne ich. :) Scott Craner vor 5 Jahren 1
Es hat perfekt mit TEXT.JOIN funktioniert Luca vor 5 Jahren 0
0
PeterH

Wenn Sie die Option nicht verwenden TEXTJOINSie eine Mischung aus verwenden können CONCATENATE, LENund LEFT:

Angenommen, Ihre Daten beginnen in der A2-Nutzung:

=LEFT(CONCATENATE(A2,"_",B2,"_",C2,"_",D2),LEN(CONCATENATE(A2,"_",B2,"_",C2,"_",D2))-(4-COUNTA(A2:D2))) 

Im Grunde ist es das Gleiche wie das TEXTJOINBerechnen der Länge der Zeichenfolge und das Missbrauch der Zeichen auf der rechten Seite für jede leere Zelle in diesem Bereich, was unerwünschte Unterstriche darstellen würde.