У меня есть книга Excel (ну, технически Google Sheets), содержащая информацию о хранении на складе товаров. Я выяснил, как составить запросы, чтобы он собирал необходимую информацию с одного листа с несколькими записями ("поток сознания") и помещал ее на другой лист, где перечислялся только последний элемент для определенной позиции продукта.
Проблема, с которой я столкнулся, заключалась в том, что если не было найдено ни одного элемента с этим описанием, я бы оставил запись # N/A вместо того, чтобы оставить ячейку пустой. Исследования побудили меня обернуть запрос в вызов isna(), чтобы я мог вручную очистить любые ячейки # N/A, но теперь запрос вызывается дважды для каждого элемента, заметно замедляя вычисления.
Пример:
A = отметка времени B = проход C = раздел D = ряд E = позиция F = количество G = описание
=if(isna(QUERY('Form Responses 1'!$A$2:$G$10011, "select A where (B = "&B2&" AND C = "&C2&" AND D = '"&D2&"' AND E = '"&E2&"') ORDER BY A DESC LIMIT 1")), " ", QUERY('Form Responses 1'!$A$2:$G$10011, "select A where (B = "&B2&" AND C = "&C2&" AND D = '"&D2&"' AND E = '"&E2&"') ORDER BY A DESC LIMIT 1"))
Мои вопросы:
1) Есть ли более эффективный способ убрать # N/A клеток?
2) Если нет, могу ли я избежать вызова одного и того же запроса дважды (например, с помощью чего-то вроде временной переменной в формуле)?
Любые предложения "украсить" мои формулы приветствуются и приветствуются.