Здравствуйте, CryptBomj
undefined = это значит вернул НИЧЕГО.
Ничего, это значит не пустая строка и не NULL, это значит что вообще ничего не вернул, если в вашем json есть эти значения, а вернулся undefined - значит вы не верно указали вложенность.
var second = spreadsheet.getSheetByName("2)Склад"); // такие частности лучше избегать, добавьте класс или id чтобы если текст поменяется, приложение не сломалось
Например "2)Склад" на "2) Склад" - и нужное коде уже не найдёт.
Ещё одна странность в коде:
Почему вы сравниваете со строкой ? typeof undefined - это не строка, это пустота
https://developer.mozilla.org/en-US/docs/Web/JavaS...
if (stolbec2[j] == stolbec1[l] && stolbec2[j] != undefined){
...
}
Вариации:
if (stolbec2[j] == stolbec1[l] && !stolbec2[j]){
...
}
или
if (stolbec2[j] == stolbec1[l] || !stolbec2[j]){
...
}
Я просто не знаю что возвращает json вы ведь с таблицей Excel работаете ?
Задайте для третьего столбца значение по умолчанию, если вернёт undefined , то можно будет выводит значение по умолчанию, либо на значение пришедшее из таблицы, так сказать по ссылке.
https://learn.javascript.ru/object-copy