Имея файл excel, как показано ниже:
Я объединил первое, среднее и окончательное имя, используя приведенную ниже формулу.
=CONCATENATE(A4," ",B4," ",C4)
Но мне нужно обновить эту формулу, и если нет отчества, то пробел должен быть один. и если есть отчество. Тогда между именем и фамилией должен быть пробел.
ОЖИДАЛ:
Поэтому проверьте A4, B4 и C4, чтобы убедиться, что ни один из них не пуст:
=if (A4 = "","",A4&" ")&if (B4 = "","",B4&" ")&if (C4 = "","",C4&" ")
Вы можете просто протестировать B4 как минимум, но тщательность избавит вас от необходимости возвращаться и редактировать позже...
Редактировать: Также вы можете воспользоваться возможностью капитализировать по мере необходимости:
PROPER(IF(A4 = "","",A4&" ")&IF(B4 = "","",B4&" ")&IF(C4 = "","",C4&" "))
Используйте функцию «if» внутри вашего concat:
=concat(a4, " ", b4, if (b4<>"", " ", ""), c4)
Если доступно, используйте TEXTJOIN() и убедитесь, что для второго параметра установлено значение TRUE (по умолчанию), например:
=TEXTJOIN(" ",,A2:C2)
Теперь вы можете вложить это в лямбда-помощник BYROW(), если хотите (или просто скопируйте формулу вниз).
Если TEXTJOIN() недоступен, добавьте TRIM(), чтобы избавиться от двойных, завершающих и/или ведущих пробелов, например: =TRIM(CONCATENATE(A2," ",B2," ",C1)). Обратите внимание, что CONCATENATE() сам по себе является излишним, если для объединения текста используется амперсанд:
=TRIM(A2&" "&B2&" "&C2)