You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets筛选表添加日期范围过滤功能求助

Google Sheets 筛选含指定日期范围的评论行

我在「Comments Table」工作表中有一个筛选表,当前用以下公式获取数据:

=IFNA(UNIQUE(filter({'Master Line List'!C:C,'Master Line List'!F:F,'Master Line List'!I:I,'Master Line List'!G:G,'Master Line List'!A:A},'Master Line List'!I:I=C1,'Master Line List'!G:G=D1)),""

现在需要新增G2和H2的起止日期过滤规则:只返回**Comments列(B列)**文本里包含处于G2-H2日期范围内日期的行。我尝试整合公式但没生效,失效公式如下:

=filter({'Master Line List'!C:C,'Master Line List'!F:F,'Master Line List'!I:I,'Master Line List'!G:G,'Master Line List'!A:A},'Master Line List'!I:I=C1,'Master Line List'!G:G=D1,byrow({'Master Line List'!C:C,'Master Line List'!F:F,'Master Line List'!I:I,'Master Line List'!G:G,'Master Line List'!A:A,lambda(Σ,or(bycol(split(Σ,char(10)),lambda(Λ,isbetween(--left(Λ,find("``",Λ)),G2,H2)))))))

修正后的可用公式

=IFNA(UNIQUE(FILTER(
  {'Master Line List'!C:C,'Master Line List'!F:F,'Master Line List'!I:I,'Master Line List'!G:G,'Master Line List'!A:A},
  'Master Line List'!I:I=C1,
  'Master Line List'!G:G=D1,
  BYROW('Master Line List'!B:B, LAMBDA(comment,
    OR(
      BYCOL(
        SPLIT(comment, CHAR(10)),
        LAMBDA(line,
          ISBETWEEN(--LEFT(line, FIND(" ", line)-1), G2, H2)
        )
      )
    )
  ))
)), "")

失效原因说明

  1. BYROW参数错误:传入了所有输出列的数据,但实际只需要处理Comments列(B列),多余列会导致逻辑混乱
  2. 日期提取逻辑错误:find("``",Λ)里的双反引号是无效匹配,根据评论行格式,应该用空格来拆分日期和后续内容
  3. 缺失原公式的IFNA和UNIQUE逻辑,导致无匹配时返回错误值,且可能出现重复行

公式逻辑拆解

  1. 保留原有的I:I=C1、G:G=D1两个基础过滤条件
  2. 用BYROW遍历每一行的Comments内容
  3. 把多行评论按换行符拆分成单独条目
  4. 提取每个条目中的日期部分,转成数值后判断是否在G2到H2的范围内
  5. 只要该行评论里有一个日期符合范围,就保留整行
  6. 最后去重并处理无匹配时的空值

内容的提问来源于stack exchange,提问作者Kolev_I_N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 15:02:38