Google Sheets中匹配日期至对应周范围并自动更新所有行
Google Sheets 日期区间匹配解决方案
- 批量匹配并自动更新的公式(在B2单元格输入后,自动覆盖所有行):
=BYROW(A2:A, LAMBDA(date, IF(date="", "", INDEX(E:E, MATCH(TRUE, (C:C<=date)*(D:D>=date), 0))))) - 带错误处理的版本(无匹配区间时显示自定义提示):
=BYROW(A2:A, LAMBDA(date, IF(date="", "", IFERROR(INDEX(E:E, MATCH(TRUE, (C:C<=date)*(D:D>=date), 0)), "无对应周范围"))))
公式说明
BYROW(A2:A, LAMBDA(date, ...)):遍历A列所有非空日期单元格,对每个日期执行匹配逻辑IF(date="", "", ...):空单元格返回空值,避免无效计算INDEX(E:E, MATCH(TRUE, (C:C<=date)*(D:D>=date), 0)):(C:C<=date)*(D:D>=date):生成布尔数组,标记出「C列开始日期≤当前日期且D列结束日期≥当前日期」的行MATCH(TRUE, ..., 0):定位第一个满足条件的行号INDEX(E:E, ...):根据行号提取E列对应的周范围文本
注意事项
- 务必确保C、D列内容为日期格式(可通过「格式>数字>日期」设置),否则匹配会失效
- 公式会自动同步A列的更新,新增或修改A列日期时,B列结果会自动刷新
内容的提问来源于stack exchange,提问作者Vikneswary Uvaraja
相关产品推荐
相关产品推荐

