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

如何在日历布局的Google Sheet中提取匹配日期的相对单元格数据?

提取Google Sheet挂历布局中日期对应的关联数据到单行

针对挂历布局的表格,要匹配日期并提取对应两个相对单元格的数据到单行,你可以用LET+XMATCH+INDEX的组合公式来实现,比单纯的INDEX/MATCH更灵活,能同时定位行列并提取偏移数据。

场景假设(可根据实际表格调整)

假设:

  • 挂历数据在名为Calendar的工作表,日期分布在A1:Z100区域
  • 每个日期对应的第一个数据在日期单元格正下方一格(区域A2:Z101),第二个数据在正下方第二格(区域A3:Z102)
  • 目标工作表entries的A列是需要匹配的日期,要把对应两个数据提取到B、C列,或者合并到同一单元格

方案1:将两个数据合并到同一单元格(比如B列)

在entries工作表的B2单元格输入以下公式:

=ARRAYFORMULA(
  LET(
    dates, Calendar!A1:Z100,
    data1, Calendar!A2:Z101,
    data2, Calendar!A3:Z102,
    target_dates, A2:A,
    MAP(target_dates, LAMBDA(d,
      IF(d="",,
        LET(
          pos, XMATCH(d, dates, 0),
          row_idx, ROW(INDEX(dates, pos)),
          col_idx, COLUMN(INDEX(dates, pos)),
          TEXTJOIN(" | ", TRUE, INDEX(data1, row_idx, col_idx), INDEX(data2, row_idx, col_idx))
        )
      )
    ))
  )
)

方案2:将两个数据分列为两列(B列存数据1,C列存数据2)

在entries的B2单元格输入:

=ARRAYFORMULA(
  IF(A2:A="",,
    LET(
      dates, Calendar!A1:Z100,
      data1, Calendar!A2:Z101,
      pos, XMATCH(A2:A, dates, 0),
      INDEX(data1, ROW(INDEX(dates, pos)), COLUMN(INDEX(dates, pos)))
    )
  )
)

在C2单元格输入:

=ARRAYFORMULA(
  IF(A2:A="",,
    LET(
      dates, Calendar!A1:Z100,
      data2, Calendar!A3:Z102,
      pos, XMATCH(A2:A, dates, 0),
      INDEX(data2, ROW(INDEX(dates, pos)), COLUMN(INDEX(dates, pos)))
    )
  )
)

关键调整说明

  1. 偏移位置修改:如果你的数据不是日期下方,而是右侧(比如日期在C5,数据在D5、E5),只需把data1和data2的区域改成Calendar!B1:AA100(右移1列)和Calendar!C1:AB100(右移2列)即可。
  2. 日期格式匹配:确保Calendar和entries中的日期格式完全一致(比如都是日期型,而非文本型),否则XMATCH会匹配失败。
  3. 区域范围:把公式中的A1:Z100等区域替换成你实际的挂历数据范围,避免多余计算。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 13:50:34