在使用筛选功能时,如何将空单元格返回为空而不是打印为零?

3

["在使用筛选功能并获取返回值时,如何将空单元格返回为空而不是打印为零,参考图像中显示的数据"]

enter image description here

=FILTER(A2:C13,A2:A13=E1," ")

在使用筛选功能并获取返回值时,参考图像中显示的数据,如何在使用筛选功能时将空单元格返回为空而不是打印为零。


如果不需要出现零值,你可以使用=SUBSTITUTE(FILTER(A2:C13,A2:A13=E1," "),0,"") - VBasic2008
2
@VBasic2008 先生,我确定使用 SUBSTITUTE() 函数将会替换 10 中的 0,因此返回值为 1。所以使用它是不正确的。 - Mayukh Bhattacharya
3个回答

2

你可以尝试:

enter image description here


• 单元格 E2 中使用的公式

=LET(x,IF(A2:C13="","",A2:C13),FILTER(x,TAKE(x,,1)=E1))

另一种可能的方法是在数组参数前面添加&""。请注意,这将把您的数字值转换为文本,因此您可以使用VALUE()函数或乘以1来将其转换回数字,以便进行进一步的计算。

enter image description here


• 单元格E8中使用的公式

=FILTER(A2:C13&"",A2:A13=E1," ")

或者,您可以像VBasic2008先生所建议的那样使用。

enter image description here


• 单元格 E14 中使用的公式

=FILTER(IF(A2:C13="","",A2:C13),A2:A13=E1," ")


2
你的第二个解决方案是将数字转换为字符串。也许可以添加 =FILTER(IF(A2:C13="","",A2:C13),A2:A13=E1," ") - VBasic2008
1
是的,我已经提到了。 - Mayukh Bhattacharya
1
抱歉,没看到说明。我猜现在有点太晚了。 - VBasic2008
1
先生,对不起,我正在使用您的替代方案更新帖子,而且您不必为此感到抱歉。感谢您分享您的想法 =) - Mayukh Bhattacharya
感谢所有的输入,这对我来说是非常有帮助的! - user21810668
@user21810668请通过点击答案旁边的勾号将其标记为正确。 - Mayukh Bhattacharya

1

有多种解决方法。我认为更改Excel配置是解决此问题的首选,因为它不需要修改原始公式:文件 -> 选项 -> 高级并取消标记以下突出显示的选项:在值为零的单元格中显示零

Excel Options

它仅适用于所选工作表。以下是输出:

output

如果没有这个选项可用,例如在使用Excel Web时,那么您需要使用公式。 我更喜欢不改变输出的数据类型,并且在输出中进行转换而不是在输入中进行转换,因为输出是输入的子集,所以在减少的子集中进行任何转换会更有效率。例如:

=LET(f, FILTER(A2:C4, A2:A4=E1), IF(f="","",f))

或者

=LET(f, FILTER(A2:C4, A2:A4=E1), IF(LEN(f),f,""))

这里是输出结果(已标记所需的Excel选项):

transforming the output

顺便提一下,这个问题应该被标记为重复,因为有一个类似的问题:Excel FILTER() returning 0 for blank cells,但我更喜欢这里提供的答案,而且这个问题的提出者比那个问题的提出者表述得更加精确。

0

我通过使用IF函数解决了它。=IF(FILTER(Array, Array Conditions)=0, "",FILTER(Array, Array Conditions))


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接