我怀疑以前有人问过这个问题,但我找不到。
FILTER()即使指定了返回字符串,通常也会为空白行返回 0。
使用时filter()我经常得到空单元格的 0 返回值。假设 A 列中有 6 行数据:
abc
xyz
abc
xyz
abc
Run Code Online (Sandbox Code Playgroud)
如果我使用
FILTER(A10:A15, A10:A15 <> "xyz", "")
Run Code Online (Sandbox Code Playgroud)
我得到以下信息(有时):
abc
abc
0
abc
Run Code Online (Sandbox Code Playgroud)
这似乎有些难以预料。在我不想要的地方出现 0 是一个问题,需要额外的逻辑或过滤。这是一个已知的问题?除了明确过滤掉空白单元格之外,还有其他方法可以解决这个问题吗?
这似乎可以消除空单元格返回 0 的情况:
FILTER(A10:A15, (A10:A15 <> "xyz") * (A10:A15 <> ""), "")
Run Code Online (Sandbox Code Playgroud)
返回的是:
abc
abc
abc
Run Code Online (Sandbox Code Playgroud)
我可以接受这个解决方案,但它应该是不必要的。我最后还向人们解释了为什么我一遍又一遍地过滤空单元格。
顺便说一句,过滤掉 0 不起作用。FILTER()在读取单元格时似乎将单元格视为空白字符串,但在输出结果时则不然。
FILTER(A10:A15, (A10:A15 <> "xyz") * (A10:A15 <> 0), "")
Run Code Online (Sandbox Code Playgroud)
这将返回带有 0 的原始结果。
如果没有更好的解决办法,有解释吗?