我想从多列的行中过滤掉 0。但是其中一些行可能会为零。其他时候它可以正常工作。
这个解决方案对我来说不起作用:仅过滤多列中值为 0 的行
创建辅助列并对行求和,然后过滤掉 0 的解决方案不起作用,因为有些行刚好 = 0。(见图)。我也无法只对某些列求和,我只需要删除所有列中的 0。
有人有解决方法吗?
答案1
这可以帮助您:
怎么运行的:
在单元格 C220 中输入零,这是标准。
输入辅助值 1 和 2,在 A221 和 B221 中以红色显示,您需要扩展它,因为您有很多列。
在单元格 D22 中输入此数组 (CSE) 公式,最后用 Ctrl+Shift+Enter并填充。
{=IFERROR(INDEX($A$222:$B$225,SMALL(IF((INDEX($A$222:$B$225,,A$221)=$C$220),MATCH(ROW($A$222:$B$225),ROW($A$222:$B$225)),""),ROWS(D221:$D$221)),COLUMNS($A$1:A1)),"")}
根据需要调整单元格引用。
答案2
使用辅助列进行求和,其中负数不能抵消正数。例如:
=SUMPRODUCT($B2:$Z2,$B2:$Z2)
将负数与自身相乘,它们就会变成正数。只有一行全是零的数才会变成零。
(我确信可能有办法使用数组函数和 ABS 来实现这一点,但我喜欢这种简单性)