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

Google Sheets:用ARRAYFORMULA匹配今日日期并显示9行表格

解决Google Sheets中ARRAYFORMULA匹配日期后显示多行表格的问题

问题根源

你当前的公式只显示第一行,核心原因是数组维度不匹配:A721:A是一列多行的动态数组,而$T$12:$Y$20是固定的9行6列区域。当IF函数逐行判断A721:A=TODAY()时,只能将$T$12:$Y$20的第一行对应到A721的位置,后续行因数组无法对齐返回空值。

解决方案

根据你的需求,分两种场景给出实用公式:

场景1:只要A721:A存在今日日期,就显示完整的T12:Y20表格

如果不需要定位到具体匹配行,只要A列有今日日期就直接展示整个9行表格,把以下公式放在你要显示表格的起始单元格(比如B721):

=IF(COUNTIF(A721:A, TODAY())>0, $T$12:$Y$20, "")

该公式会自动扩展为9行6列的表格,当A列无今日日期时返回空值。

场景2:在A列第一个匹配今日日期的行,开始显示T12:Y20的9行表格

如果你需要从A列第一个等于今日日期的行开始,往下完整展示9行表格,使用这个公式:

=ARRAYFORMULA(
  LET(
    match_row, XMATCH(TODAY(), A721:A, 0),
    start_row, ROW(A721) + match_row - 1,
    IF(
      ROW(A721:A) >= start_row 
      AND ROW(A721:A) < start_row + 9,
      INDEX($T$12:$Y$20, ROW(A721:A) - start_row + 1, COLUMN(A721:A) - COLUMN(A721) + 1),
      ""
    )
  )
)
  • XMATCH定位A列第一个今日日期的相对行号
  • start_row计算出匹配行的绝对行号
  • INDEX将$T$12:$Y$20的内容精准映射到匹配行开始的9行区域

额外提示

  • 若A列存在多个今日日期,场景2的公式只会以第一个匹配行为起点显示表格;如需以最后一个匹配行为起点,可将XMATCH的第三个参数改为-1
  • 公式中的LET函数用于简化变量定义,让逻辑更清晰

内容的提问来源于stack exchange,提问作者Steve S.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 12:47:10