Используйте TEXTJOIN:
=TEXTJOIN("_",TRUE,A2:D2)
Если у вас нет TEXTJOIN, вам нужно будет сделать что-то вроде этого:
=MID(IF(A2<>"","_"&A2,"")&IF(B2<>"","_"&B2,"")&IF(C2<>"","_"&C2,"")&IF(D2<>"","_"&D2,""),2,99)
Я новичок в Excel и пытаюсь получить следующий результат:
Col1 Col2 Col3 Col4 John Jim Tom Sarah Ann Betty blank blank Lee Sue George blank
Что я хочу:
John_Jim_Tom_Sarah Ann_Betty Lee_Sue_George
Что я получаю:
John_Jim_Tom_Sarah Ann_Betty__ Lee_Sue_George_
Кто-нибудь знает, как это решить?
Используйте TEXTJOIN:
=TEXTJOIN("_",TRUE,A2:D2)
Если у вас нет TEXTJOIN, вам нужно будет сделать что-то вроде этого:
=MID(IF(A2<>"","_"&A2,"")&IF(B2<>"","_"&B2,"")&IF(C2<>"","_"&C2,"")&IF(D2<>"","_"&D2,""),2,99)
Если у вас нет возможности использовать, TEXTJOIN
вы можете использовать смесь CONCATENATE
, LEN
& LEFT
:
Предполагая, что ваши данные начинаются с использования A2:
=LEFT(CONCATENATE(A2,"_",B2,"_",C2,"_",D2),LEN(CONCATENATE(A2,"_",B2,"_",C2,"_",D2))-(4-COUNTA(A2:D2)))
По сути, он делает то же самое, что и TEXTJOIN
вычисление длины строки, и неправильно использует символы справа для каждой пустой ячейки в диапазоне, что будет нежелательным подчеркиванием.