Как лучше всего работать с #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))

Я склонен перейти ко второму решению, так как оно кажется более элегантным и более понятным.

Есть ли способ лучше? Является ли что-то из этого намного более дорогостоящим с точки зрения времени расчета?

0 ответов

Другие вопросы по тегам