如何最好地处理从QUERY中的空参数返回的#REF

时间:2018-12-16 16:44:01

标签: google-sheets-query

单元格T53具有公式

=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是一个范围,其中有一些空白空间可以扩展,因此存在多个可能匹配null的可能。也可能是null匹配所有内容。还没有检查。

到目前为止,我已经找到了三种解决方法:

=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 个答案:

没有答案