Эффективные способы объединения непустых ячеек из двух столбцов в Google Sheets

При работе с данными в Google Таблицах часто возникают ситуации, когда необходимо объединить непустые ячейки из двух столбцов. Этот процесс предполагает объединение содержимого непустых ячеек в двух отдельных столбцах в один столбец. В этой статье мы рассмотрим несколько методов эффективного решения этой задачи с использованием различных функций и формул Google Таблиц.

Метод 1: использование функций СЦЕПИТЬ и ЕСЛИ

=ArrayFormula(CONCATENATE(IF(A:A<>"", A:A & " "), IF(B:B<>"", B:B)))

Объяснение: Эта формула использует функции СЦЕПИТЬ и ЕСЛИ для проверки наличия непустых ячеек в столбцах A и B. Она объединяет непустые ячейки из обоих столбцов и разделяет их пробелом.

Способ 2: использование функции TEXTJOIN

=TEXTJOIN(" ", TRUE, FILTER(A:B, A:B<>""))

Объяснение: Функция TEXTJOIN позволяет объединить несколько значений ячеек с указанным разделителем. В этом случае мы используем пробел в качестве разделителя и функцию ФИЛЬТР для удаления пустых ячеек из столбцов A и B.

Метод 3. Использование функции QUERY

=QUERY({A:B},"SELECT Col1, Col2 WHERE Col1 <> '' OR Col2 <> ''", 0)

Объяснение. Функция QUERY — это мощный инструмент для управления данными в Google Таблицах. В этом примере мы объединяем столбцы A и B в виртуальный массив с помощью фигурных скобок. Предложение WHERE отфильтровывает пустые ячейки, а предложение SELECT извлекает непустые значения.

Метод 4. Использование скрипта приложений

function concatenateNonBlankCells() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var lastRow = sheet.getLastRow();
  var rangeA = sheet.getRange("A1:A" + lastRow);
  var rangeB = sheet.getRange("B1:B" + lastRow);
  var valuesA = rangeA.getValues();
  var valuesB = rangeB.getValues();
  var result = [];
  for (var i = 0; i < lastRow; i++) {
    if (valuesA[i][0] !== "" || valuesB[i][0] !== "") {
      result.push(valuesA[i][0] + " " + valuesB[i][0]);
    }
  }
  var outputRange = sheet.getRange("C1:C" + result.length);
  outputRange.setValues(result.map(([value]) => [value]));
}

Объяснение. В этом методе используется скрипт Google Apps — платформа на основе JavaScript для автоматизации задач в Google Таблицах. Скрипт извлекает значения из столбцов A и B, перебирает каждую строку и объединяет непустые ячейки в массив. Наконец, результат записывается в столбец C.

Объединение непустых ячеек из двух столбцов в Google Таблицах можно выполнить различными методами. Функции CONCATENATE и IF, функция TEXTJOIN, функция QUERY и скрипт Google Apps предоставляют различные подходы для эффективного решения этой задачи. Выберите метод, который соответствует вашим требованиям и расширяет возможности манипулирования данными в Google Таблицах.

Не забудьте оптимизировать использование Google Таблиц, используя соответствующие функции и формулы, в зависимости от размера и сложности вашего набора данных.