Как лучше всего работать с #REF, возвращенным из пустого аргумента в QUERY
Ячейка Т53 имеет формулу
=query(PriceBase,"select A where B = '"&G53&"'",0)
G53 содержит код продукта. Я получаю цену обратно, как я и ожидал.
Хорошо. Если в G53 нет кода продукта, я получаю #REF в качестве ответа. Мышь над этим я получаю,
Error
Array result was not expanded because it would overwrite data in T54.
При написании этого я внезапно осознал, что происходит: пустая ячейка - это пустая строка. А PriceBase - это диапазон, в котором есть некоторое пустое пространство для расширения, поэтому существует множество возможных совпадений для нуля. Или это может быть, что нуль соответствует всему. Еще не проверял это.
Пока я нашел три обходных пути:
=array_constrain(query(PriceBase,"select A where B = '"&G53&"'",0),1,1)
а также
=query(PriceBase,"select A where B = '"&G53&"' limit 1",0)
Третий
if(ISBLANK(G53),"",query(PriceBase,"select A where B = '"&G53&"'",0))
Я склонен перейти ко второму решению, так как оно кажется более элегантным и более понятным.
Есть ли способ лучше? Является ли что-то из этого намного более дорогостоящим с точки зрения времени расчета?