Из того, что я вижу, вы хотели бы проверить наибольшее значение в двух ячейках и использовать его, чтобы получить точное местоположение в таблице значений и напечатать это значение в другой ячейке.
Проблема может быть решена в 3 этапа. 1) Нахождение наибольшего значения в ячейке. 2) Получение значения в таблице. 3) Установка ячейки назначения с полученным значением.
1) В зависимости от того, находите ли вы самое высокое значение в ячейке, это означает:
A) 1534 в одной ячейке и получение 5 ИЛИ Б) 1 в А1, 5 в А2, 3 в А3 и 4 в А4. и получение 5 из ячейки A2.
A: Ваше решение будет использовать комбинацию .split () & Array.prototype.concat.apply () & Math.max.apply () . Ссылка: Ввод массива в Math.Max в скриптах Google Apps B: ваше решение будет использовать комбинацию getRange (строка, столбец, строка, столбец) & Array. prototype.concat.apply () & Math.max.apply ()
Вы получите выходное значение с двумя максимальными числами, которое мы назовем A и B
2) Чтобы получить значение, вам потребуется getRange (A, B) & getValue () и в зависимости от того, где находится таблица, вам может потребоваться изменить A и B, чтобы получить правильное расположение в таблице.
3) Чтобы установить значение в ячейке E1, вам потребуется функция setValue () .
Возможно, вы захотите решить проблему самостоятельно, используя описанные выше ручки. Они могут быть не самыми эффективными, но должны работать. В качестве альтернативы у меня есть пример сценария ниже для вас. Существует недостаток, заключающийся в том, что, если значение ввода больше, чем ваша таблица, это не будет выдавать ошибку. так что либо вы ограничиваете ввод данных пользователем, либо создаете способ для исключения ошибки:)
function SetRetrievedValue() {
var app = SpreadsheetApp;
var ss = app.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
//var cellcontent1 = sheet.getRange(2,1,6,1).getValues(); use this if its a range of cells you are searching
var cell1 = sheet.getRange(1,1).getDisplayValue(); //gets value as string
var cellcontent1 = cell1.split(""); // splits up the string individually
var newcellcontent1 = Array.prototype.concat.apply([], cellcontent1); // flatten the array
var maxNum1 = Math.max.apply(null, newcellcontent1); //gets the max value in the array
// repeat of cell 1
var cell2 = sheet.getRange(1,2).getDisplayValue();
var cellcontent2 = cell2.split("");
var newcellcontent2 = Array.prototype.concat.apply([], cellcontent2);
var maxNum2 = Math.max.apply(null, newcellcontent2);
var tablecell = ss.getSheetByName("Table sheet").getRange(maxNum1,maxNum2).getValue(); //retrieve the value based on the corresponding max value
sheet.getRange(1,3).setValue(tablecell); // sets the cell C1 as the value retrieved from the table
}