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

如何从6个带日期的列头中提取下一个日期及其所有行?

自动提取下一个周日的日期表头及对应行数据方案

核心逻辑

先筛选出表头中今天及之后的所有周日日期,取其中最早的一个(即即将到来的周日),再匹配该日期在表头的位置,最终提取对应的表头文本和整列的True/False数据。


1. 提取即将到来的周日表头文本

假设日期表头位于A1:F1,使用以下公式:

=TEXT(INDEX(A1:F1,MATCH(MIN(FILTER(A1:F1,A1:F1>=TODAY(),WEEKDAY(A1:F1)=1)),A1:F1,0)),"yyyy-mm-dd")

或用XLOOKUP简化(适用于Excel 365/Google Sheets):

=TEXT(XLOOKUP(MIN(FILTER(A1:F1,A1:F1>=TODAY(),WEEKDAY(A1:F1)=1)),A1:F1,A1:F1),"yyyy-mm-dd")

2. 提取对应列的所有True/False行数据

假设数据行范围是A2:F100(可根据实际数据行数调整),使用公式:

=INDEX(A2:F100,,MATCH(MIN(FILTER(A1:F1,A1:F1>=TODAY(),WEEKDAY(A1:F1)=1)),A1:F1,0))
  • 若使用Excel 365/Google Sheets,公式会自动溢出所有行数据;
  • 若为旧版Excel,需按Ctrl+Shift+Enter作为数组公式输入。

公式细节解释

  • WEEKDAY(A1:F1)=1:筛选周日(注:部分区域设置中WEEKDAY函数1代表周一,此时需改为WEEKDAY(A1:F1,2)=7);
  • A1:F1>=TODAY():限定只考虑今天及之后的日期;
  • MIN(FILTER(...)):从符合条件的日期中取最小值,即最近的下一个周日;
  • MATCH(...):定位该日期在表头中的列序号;
  • INDEX(...):根据列序号提取表头文本或对应列的所有数据;
  • TEXT(...):将日期格式化为易读的文本样式(可按需调整格式,比如"mm/dd/yyyy")。

异常处理(可选)

如果表头中没有今天及之后的周日,公式会返回错误,可添加IFERROR优化:

=IFERROR(TEXT(INDEX(A1:F1,MATCH(MIN(FILTER(A1:F1,A1:F1>=TODAY(),WEEKDAY(A1:F1)=1)),A1:F1,0)),"yyyy-mm-dd"),"无即将到来的周日")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 09:22:07