Вопрос:

Логический парадокс - пользовательская функция - параметры поступают из другой функции

javascript function google-apps-script global-variables

54 просмотра

1 ответ

33 Репутация автора

Я надеюсь, что я могу сделать это имеет смысл ....

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

Последняя функция, в которую отправляется эта переменная, выглядит следующим образом:

function processFormResponse(formObject ){

  reportMonth = formObject.chosenReport;

  //result of reportMonth is a string. Example "Report_Nov 2017"
}

Так что теперь у меня есть переменная reportMonth, которая имеет то, что мне нужно. Но теперь я хочу написать vlookup, который будет каждый раз выбирать один и тот же диапазон, но на другом листе в зависимости от выбора пользователя (reportMonth). Из того, что я исследовал, я не могу использовать переменную внутри vlookup, поэтому я собирался написать пользовательскую функцию, которая выполняет поиск для меня.

Но вот мой парадокс: я не могу использовать processFormResponse в качестве своей пользовательской функции, потому что он имеет formObject уже в своих параметрах, потому что он уже получает информацию из предыдущей функции, и я не могу сделать отдельную функцию, потому что не могу сделать reportMonth глобальным ... (я с и без вар)

Мне в принципе как то так

=IFERROR(VLOOKUP($E3, reportMonth !$F:$J,2,false),"")
Автор: David Tonkin Источник Размещён: 01.01.2018 11:24

Ответы (1)


0 плюса

457 Репутация автора

Решение

Как упомянуто в документации скрипта Google Apps:

Для Rangeобъекта:

setValue(value)

Устанавливает значение диапазона. Значение может быть числовым, строковым, логическим или датой. Если оно начинается с '=', оно интерпретируется как формула.

Итак, если у вас есть 1 ячейка Range(или блок ячеек), то вы можете запустить

range.setValue("=IFERROR(VLOOKUP($E3,"+reportMonth+"!$F:$J,2,false),"")");

Для справки: https://developers.google.com/apps-script/reference/spreadsheet/range#setvaluevalue

Автор: Stack Tracer Размещён: 01.01.2018 11:47
Вопросы из категории :
32x32