Excel 如何跨多列筛选,保留任意一列数量大于 0 的行?
数据小陈
可以增加一列“是否有库存”,判断四个数量列中是否有任意一个值大于 0,再筛选出这一列为 TRUE 的行。这样,即使普通版数量为空,只要其他版本有库存,卡牌仍会保留。
为什么分别筛选四列会丢失记录?
Excel 的常规筛选会用 AND(且)组合不同列的条件。第一列设置“大于 0”后,该列为空或为 0 的行就会隐藏;再筛选第二列,会在已有条件的基础上增加限制。
这里需要 OR(或)逻辑:只要四列中有任意一列大于 0,就保留整行。
用辅助列设置筛选
假设卡牌编号位于 A 列,四种版本的数量位于 B 至 E 列,数据从第 2 行开始:
- 在 F1 输入“是否有库存”。
- 在 F2 输入以下公式,并向下填充到所有数据行:
=COUNTIF(B2:E2,">0")>0
- 选中包含辅助列的完整数据区域,打开“数据 → 筛选”。
- 清除 B 至 E 列原有的筛选条件。
- 在“是否有库存”列中只勾选 TRUE。
COUNTIF(B2:E2,">0") 会统计这一行四个数量单元格中有几个值大于 0。只要统计结果大于 0,辅助列就返回 TRUE。
筛选结果如何判断?
| regular | holo | reverse holo | promo holo | 是否保留 |
|---|---|---|---|---|
| 空白 | 1 | 空白 | 空白 | 保留 |
| 0 | 0 | 2 | 0 | 保留 |
| 1 | 空白 | 空白 | 1 | 保留 |
| 空白 | 空白 | 空白 | 空白 | 隐藏 |
| 0 | 0 | 0 | 0 | 隐藏 |
编号为 55、59、60 和 68 的卡牌,只要各自的四个数量列中至少有一个值大于 0,就会保留。原问题没有提供这些行的具体数值,因此无法逐行确认结果。
使用时注意
将公式中的 B2:E2 替换为实际的四个数量列,数量单元格应存储为数值。如果 Excel 的区域设置要求用分号分隔参数,可以改用:
=COUNTIF(B2:E2;">0")>0
这里按“至少一个数量大于 0”判断库存。四列中即使混有空白和 0,只要没有大于 0 的数值,该行也会被隐藏。
备注:内容仅供参考。
