Google Sheets筛选需求:基于FALSE/TRUE标记提取指定内容
基于FALSE/TRUE标记的循环筛选实现方案
完全可以实现你需要的筛选逻辑,以下是适配需求的公式:
=IFERROR(FILTER( FLATTEN(A8:A,G8:G,M8:M), FLATTEN(A8:A,G8:G,M8:M)<>"", SCAN(FALSE, FLATTEN(A8:A,G8:G,M8:M), LAMBDA(acc, curr, IF(curr=FALSE, TRUE, IF(curr=TRUE, FALSE, acc)) )) ), "")
公式逻辑说明
- 基础扁平化与非空筛选:保留你原有的
FLATTEN+非空判断逻辑,确保只处理有效内容。 - 状态跟踪(核心逻辑):用
SCAN函数维护一个「是否保留内容」的状态:- 初始状态为
FALSE(即默认忽略内容) - 当遇到元素为
FALSE时,切换状态为TRUE(开始保留后续所有内容) - 当遇到元素为
TRUE时,切换状态为FALSE(停止保留,回到忽略状态) - 普通数值/文本元素保持当前状态(保留状态下继续保留,忽略状态下继续忽略)
- 初始状态为
- 最终筛选:
FILTER同时满足「非空」和「SCAN返回保留状态」的元素,正好匹配你要的「忽略→遇到FALSE开始保留→遇到TRUE停止忽略→循环」逻辑,对应示例场景会输出3-10、30-39的数值。
内容的提问来源于stack exchange,提问作者user3245228
相关产品推荐
相关产品推荐

