Как заменить все ячейки в листе Google переводом, когда у меня уже есть 2 столбца слова на обоих языках - PullRequest
2 голосов
/ 11 февраля 2020

У меня есть Google Sheet, заполненный именами чемпионов League of Legends на корейском языке. У меня есть еще один лист с 2 столбцами, где у меня есть имя на корейском языке в первом столбце и имя на английском языке sh в другом.

Я хочу заменить все корейские имена на первом листе по эквиваленту в английском sh. Это звучит как LOOKUP для каждой ячейки, но я не знаю, как я могу автоматизировать это.

Пример листа: https://docs.google.com/spreadsheets/d/1LAflwQtkqCymqh0khimIQkbgSGaPANE-zg_H2hoU7t8/edit?usp=sharing

У меня есть ячейки на корейском на первом листе с именем Пример и на втором листе Ссылка у меня есть 2 столбца (Korean & Engli sh).

1 Ответ

0 голосов
/ 12 февраля 2020

После прочтения вашего вопроса я написал код, который соответствует вашим ожиданиям. Это рассматриваемый код:

function koreanTranslator() {
  var spreadsheetID = "{SPREADSHEET ID}";
  var koreanSheet = SpreadsheetApp.openById(spreadsheetID).getSheetByName(
    "Example");
  var koreanCells = koreanSheet.getRange(1, 1, koreanSheet.getLastRow(),
    koreanSheet.getLastColumn()).getValues();
  var equivalencesSheet = SpreadsheetApp.openById(spreadsheetID).getSheetByName(
    "Reference");
  var equivalencesCells = equivalencesSheet.getRange(2, 1, equivalencesSheet
    .getLastRow(),
    2).getValues();

  for (var i = 0; i < koreanCells.length; i++) {
    for (var j = 0; j < koreanCells[0].length; j++) {
      for (var k = 0; k < equivalencesCells.length; k++) {
        if (koreanCells[i][j] == equivalencesCells[k][0]) {
          koreanSheet.getRange(i + 1, j + 1).setValue(equivalencesCells[k][1]);
        }
      }
    }
  }
}

Код сначала откроет электронную таблицу с .openById(), продолжая открывать оба листа с .getSheetByName(). После этого он будет читать обе таблицы с .getRange() (вычисление размера таблицы с .getLastColumn() и .getLastRow(), так что вы можете использовать большие или короткие таблицы без изменения кода) и .getValues().

Наконец, код будет повторяться по каждой ячейке корейского листа и сравнивать его с словарный лист ; и если он обнаружит совпадение, он обновит корейский лист с .setValue(). Пожалуйста, не стесняйтесь комментировать мой ответ для получения дополнительной помощи или уточнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...