Условное объединение вставки или не вставки подчеркивания в зависимости от значения ячейки

295
Luca

Я новичок в 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_ 

Кто-нибудь знает, как это решить?

1
Вы должны иметь возможность использовать что-то вроде `IF (ISBLANK (A1," "," _ "& A1))`, чтобы вернуть подчеркивание, только если A1 не пусто. Worthwelle 6 лет назад 0
Какая версия Excel у вас есть? Если это более новая версия, вы можете использовать `TEXTJOIN ()` BruceWayne 6 лет назад 1

2 ответа на вопрос

2
Scott Craner

Используйте TEXTJOIN:

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

enter image description here


Если у вас нет TEXTJOIN, вам нужно будет сделать что-то вроде этого:

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

enter image description here

[Вот ссылка] (https://stackoverflow.com/a/45845229/4650297) на UDF для TextJoin: D BruceWayne 6 лет назад 0
@BruceWayne, эй, я узнаю это. :) Scott Craner 6 лет назад 1
Он отлично работал с TEXT.JOIN Luca 6 лет назад 0
0
PeterH

Если у вас нет возможности использовать, TEXTJOINвы можете использовать смесь CONCATENATE, LEN& LEFT:

Предполагая, что ваши данные начинаются с использования A2:

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

По сути, он делает то же самое, что и TEXTJOINвычисление длины строки, и неправильно использует символы справа для каждой пустой ячейки в диапазоне, что будет нежелательным подчеркиванием.

Похожие вопросы