Извлечь данные из ячейки в зависимости от значения раскрывающегося списка - PullRequest
0 голосов
/ 20 июня 2020

У меня есть лист в Google Sheet , который меняет значения определенных ячеек в зависимости от значения раскрывающейся ячейки.

From Google App Scripts как могло Я получаю доступ к этим значениям без изменения значения раскрывающегося списка (поскольку использование setValue("xxx") в раскрывающейся ячейке приведет к изменению всех значений на листе)

Например:

В этом листе https://docs.google.com/spreadsheets/d/1v1cR9CpxtU1QSp4nLeT7GMCrA3Uxyd0HdqdBERv4qgg/edit?usp=sharing Идея состоит в том, чтобы получить возраст C без изменения значения в раскрывающемся списке и не смотреть на прямое значение в таблице (потому что в реальном примере используется множество формул).

Ответы [ 2 ]

0 голосов
/ 21 июня 2020

Извините за задержку. Вот функция, которая работает в приведенном вами примере. Он создает таблицу object / dict / ha sh (как бы вы ее ни называли) на основе столбцов A и B, а затем вы можете легко выбрать нужное значение.

function myFunction(person) {
  let vals = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("A2:B").getValues();
  
  vals = vals.filter(val => val[0] !== "");   // get rid of empty rows
  console.log(vals);
  let dict = vals.reduce((acc, val)=> {acc[val[0]] = val[1]; return acc}, {})
  console.log(dict);
  return dict[person]
}
0 голосов
/ 20 июня 2020
// example pulling range B2:C6
let vals = SpreadsheetApp.getCurrentSpreadsheet().getActiveSheet().getRange("B2:C6").getValues();
// vals will be a 2D array containing the values in those cells.
...