Есть ли способ объединить строку текстовых ячеек, если, скажем, значение над каждой ячейкой "да"?

Например:

yes    yes             
dog    cat   bird   hen

В этом случае результатом конкатенированной строки будет:

собака кошка

1 ответ1

1

Для этого потребуется оператор IF, который является допустимым выражением в формуле Excel.

Синтаксис:

IF( condition, [value_if_true], [value_if_false] )

Формула, вероятно, будет выглядеть так:

IF(ISNUMBER(SEARCH("Yes",A1)), CONCATENATE(A2, " ", B2, " ", C2))

Примечание: это проверяет только одно Да в ячейке A1, а затем объединяет все ячейки. Если вы хотите объединить только ячейки с ячейками с "Да", вам нужно расширить это в макрос или использовать несколько зависимых формул в разных ячейках.

Рекомендации:

ОБНОВЛЕНИЕ: Для беспокойства об использовании макроса в большом количестве значений

Макрос будет работать для этого. Если количество ячеек в ваших строках данных может варьироваться, и вам необходимо циклически проходить по каждой ячейке с информацией, существует несколько способов определения последней ячейки в строке (или столбце) с данными, а затем их передачи в другом месте макроса.

Учитывая Да / пусто в строке A и данные в строке B, я думаю, вы можете сделать это в три этапа:

  1. Получите последнюю ячейку с "Да" в строке A: используйте Find в диапазоне строки A.

  2. Получите значение из Find на шаге 1 и используйте его для перехода от ячейки A1 к ячейке A(значение из Find) и запишите номера ячеек для каждого найденного "Да".

  3. Возьмите эти числа и объедините каждую ячейку в строке B с этими числами из шага 2.

Вы можете сократить это до двух шагов, объединив шаги 2 и 3, просто извлекая и объединяя значения из B каждый раз, когда вы найдете Да в A.

К сожалению, я не гений в VBA, и только на самом деле выписал эффективные макросы, основанные на неделях усилий и большом количестве постов на форуме, поэтому я даже не собираюсь пытаться выписать это. Но каждый шаг компонента должен быть достаточно легким для исследования, и тогда сборка может быть в соответствии с вашими предпочтениями.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .