Google Sheets Vlookup не работает, когда скрипт приложений добавляет строку в диапазон

У меня есть базовая настройка vlookup в электронной таблице, которая обновляется с помощью формы. Он извлекает данные со страницы, которая обновляется скриптом приложений. Мой vlookup выглядит так

=VLOOKUP($B$3,'Checklist Log'!A:AZ,2,false)

На вкладке «Журнал контрольных списков» есть заголовки столбцов в строке 1 и даты в столбце A, которые заполнены

=SORT(Sheet1!A2:A,1,FALSE)

с листа1, куда отправляется форма.

Всякий раз, когда форма отправляется, мой скрипт приложений добавляет строку под строкой 1, а затем копирует ячейки из вкладки контрольного списка, а затем очищает вкладку контрольного списка.

Я думаю, что возможным решением было бы заставить мои приложения script вставлять новые ячейки из b2:AZ2 вместо всей строки, но я не могу найти код для этого. Так как я могу это исправить?


person Ryan Steinke    schedule 10.08.2015    source источник
comment
диапазоны не разорвутся, если вместо этого вы вставите строки над последним   -  person Zig Mandel    schedule 10.08.2015
comment
Итак, если бы вы нашли последнюю строку в диапазоне, затем используйте Ссылка на Документацию Google - insertRowBefore (rowNumber)   -  person Alan Wells    schedule 10.08.2015
comment
Так, как говорит Сэнди, заставить его вставить новую информацию в конец диапазона? Тогда мне даже не нужно было бы вставлять строку, которая не должна испортить мой vlookup. Или вставить строку выше строки 2 вместо строки ниже 1? мой vlookup ищет A: AZ во всем столбце.   -  person Ryan Steinke    schedule 10.08.2015
comment
Даже если я снова введу формулу vlookup, она все равно не вернет значения для строк, созданных сценарием приложений. все, что я получаю, это ошибка «Не удалось найти значение 42226.53652» в оценке VLOOKUP. Ячейки отформатированы так же, как и рабочие ячейки. вот ссылка для просмотра моей таблицы. Проблема заключается в vlookups на вкладке Audit Lookup, ссылающейся на контрольный список вкладки Log,   -  person Ryan Steinke    schedule 10.08.2015
comment
Итак, я решил, что проблема в скрипте, который вставлял строку, поэтому я создал новый скрипт, чтобы скопировать и вставить его в следующую доступную строку внизу. Все работает нормально, кроме Vlookup, который пытается ссылаться на временную метку. Теперь я понял, что это, вероятно, проблема с форматированием, как будто я поиграюсь с форматированием в достаточной степени, чтобы он его распознал. Дело даже не в формате, а в том, сколько раз я его меняю. Обычно он распознает его, когда я меняю его на Автоматический, но не когда я меняю его в первый раз. Это довольно странное поведение. Я официально в тупике   -  person Ryan Steinke    schedule 11.08.2015


Ответы (1)


Справочный формат: VLOOKUP(search_key, range, index)

Пример ошибки: VLOOKUP(C5,G16:H18,2)

Пример передачи: VLOOKUP(C5,G16:H19,2)

У меня была аналогичная ошибка, когда я попытался найти значение в последней строке диапазона (то есть в строке 18). Основываясь на предложениях других людей, я попытался изменить форматы значений в ячейках диапазона, но безрезультатно. Затем я увеличил диапазон, включив в него одну дополнительную строку (т.е. range = G16:H19), и все работало нормально.

person DME    schedule 03.11.2016