如何找出Google Sheet 查询#N/A 错误(仅在打开时)

How to figure out Google Sheet query #N/A error(only when open)

我有两个 sheets:一个 listing sales(名为“Aug”表示八月)和一个 listing 产品信息(名为“PRef”)。

https://docs.google.com/spreadsheets/d/1eFXblUjEeusJOXU6bLSu922RnhEs45NZVJm8hM-pXdw/edit?usp=sharing

从上面的 link 中,当我打开 E 列中的 sheet 时出现错误。如果我删除相同的值并将相同的值填充到相同的单元格,则公式有效,所以我的公式是正确的.我怎样才能弄清楚?太烦人了

我的查询: =QUERY(Pref,"select C where A like "&C2&" and B like "&D2&" limit 1",0)

在您的查询中,使用 PRef.!A:C.

而不是 PRef

使用 arrayformulalookup 代替所有 query 可能更有效。

在单元格 E2 中尝试此操作(删除 E2 下面的所有内容):

=arrayformula(if(C2:C<>"",vlookup(C2:C&"|"&D2:D,{PRef.!A:A&"|"&PRef.!B:B,PRef.!C:C},2,0),))

你也可以在没有匹配的时候加一个iferror:

=arrayformula(if(C2:C<>"",iferror(vlookup(C2:C&"|"&D2:D,{PRef.!A:A&"|"&PRef.!B:B,PRef.!C:C},2,0),"Not found"),))

您的查询有两个错误:

  1. 您的 sheet 名称有一个句点:它是“PRef.”,而不是“PRef”,因此请更改 sheet 或数据调用行的名称。
  2. 您忘记调用要从中收集数据的列。将其更改为 =QUERY(PRef.!A:E 会产生所需的结果,如图所示。

那些讨厌的缺失标点符号总是会导致错误,所以最好避免这种情况发生的可能性。

查询格式为=QUERY([datasheet]![data area]。如果忘记定义数据区,查询就不知道从哪里收集数据。

编辑 2021 年 8 月 10 日

我再次查看了您的数据库,并尝试稍微调整一下查询。不知道为什么,Google Sheets好像不太喜欢like;改为 = ,完全解决了问题。

=QUERY(GoodsList,"select C where A = "&C2&" and B = "&D2&" limit 1",0)

我把有商品的区域重命名为GoodsList,所以我可以简单地引用它。除此之外,唯一的区别是我用等号替换了 like 并删除了不必要的单引号。屏幕截图:

请注意 limit 1 是绝对必要的,否则您将收到 #Ref 错误,因为它正在尝试写入由查询命中填充的单元格。