Как удалить дубли по строкам?

Как удалить дубли в строке? Дубликаты надо чтобы нашлись и удалились только по строками, а не всей таблице. Возможно ли это сделать?
  • Вопрос задан
  • 124 просмотра
Решения вопроса 1
oshliaer
@oshliaer Куратор тега Google Apps Script
Google Products Expert
Если речь идет про Гугл Таблицы, то есть штатный метод из меню Данные - Очистить данные - Удалить повторы

62f126a4d47d6634325189.png

Вопрос про пример так и остался в воздухе.

Положим, что есть данные
62f5e48278178237948204.png

Можно использовать скрипт

/**
 * @param { globalThis.SpreadsheetApp.Range } range
 */
function uniqByRow_(range, compact = false) {
  const mapper = compact ?
    row => {
      const uniq = [...new Set(row)];
      return row.map((_, i) => uniq[i] ?? '');
    } :
    row => row.map((cell, i) => row.indexOf(cell) === i ? cell : '');
  range.setValues(
    range.getValues().map(mapper));
}

function run() {
  const book = SpreadsheetApp.getActive();
  const range = book.getSheetByName('Данные').getDataRange();
  uniqByRow_(range, true);
}


Получим
62f5e4afd08ef072268750.png

А если вызвать uniqByRow_(range, false), то получим
62f5e50e8ac2c297504373.png

Пример в Таблице https://docs.google.com/spreadsheets/d/1Ywfr-cCfR5...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы