如何在Google Sheets中用筛选公式保留#N/A及价格超100的股票
解决Google Sheets无辅助列筛选股价>100或#N/A的股票代码问题
我来帮你搞定这个筛选需求!你之前用的=OR(ISNA(B:B), B:B>100)无效,是因为OR函数在处理数组范围时不会逐个单元格判断,而是返回一个全局的布尔值,没法精准匹配每一行的条件。下面给你两个不用辅助列的解决方案:
方案1:用IFERROR简化判断
直接用FILTER结合IFERROR,一行公式就能搞定:
=FILTER(A:A, IFERROR(B:B>100, TRUE))
逻辑解释:
IFERROR(B:B>100, TRUE):先尝试判断B列单元格是否大于100,如果单元格是#N/A错误,IFERROR会捕获这个错误并返回TRUE(也就是保留该行);如果是正常数值,就按>100的条件筛选。FILTER(A:A, ...):从A列(股票代码)中筛选出满足上述条件的所有行。
方案2:用数组逻辑组合条件
如果你想更直观地体现“或”的逻辑,可以用数值相加的方式(Google Sheets中TRUE=1,FALSE=0,只要和大于0就满足任一条件):
=FILTER(A:A, ISNA(B:B)+(B:B>100))
逻辑解释:
ISNA(B:B):返回一个布尔数组,#N/A的行是TRUE,其他是FALSE(B:B>100):返回另一个布尔数组,股价大于100的行是TRUE,其他是FALSE- 两者相加后,只要其中一个条件为真,结果就会≥1,
FILTER会保留这些行
这两个方案都不需要额外辅助列,直接输出符合要求的股票代码列表,你可以选一个顺手的用!
内容的提问来源于stack exchange,提问作者JustAnotherDeveloper
相关产品推荐
相关产品推荐

