Google Sheets:基于选定周提取过去4周行数据的公式需求
解决Google Sheets中按选定周提取过去4周数据的问题
- 核心需求:在Sheet2选定某一周后,从Sheet1提取该周及前三周的4周数据,避免随新数据添加提取超出范围的内容。
- 现有问题:当前使用的
=FILTER(Sheet1!$A2:$AC2,Sheet1!$A$1:$AC$1<=$D$3)仅能筛选小于等于选定日期的列,但无法限制仅保留最近4周的列。 - 解决方案:给FILTER增加日期下限条件,精准锁定4周范围:
假设Sheet1首行为标准日期格式,Sheet2的D3是选定的目标周结束日期,直接计算4周起始日期(往前推21天):
若选定日期是周内任意一天,需先将其转换为该周结束日期(比如周日)再计算范围:=FILTER(Sheet1!$A2:$AC2, Sheet1!$A$1:$AC$1 >= $D$3 - 21, Sheet1!$A$1:$AC$1 <= $D$3)
注:=FILTER(Sheet1!$A2:$AC2, Sheet1!$A$1:$AC$1 >= (WORKDAY.INTL($D$3, -3, 1)) + 1, Sheet1!$A$1:$AC$1 <= WORKDAY.INTL($D$3, 0, 1))WORKDAY.INTL($D$3, -3, 1)会获取前三周的周日,加1后得到第四周的周一,确保覆盖完整4周。 - 补充提示:
- 确保Sheet1首行日期为标准格式,否则条件判断会失效。
- 若需提取整行数据,只需将FILTER第一个参数改为
Sheet1!$A:$AC即可。
内容的提问来源于stack exchange,提问作者Redz
相关产品推荐
相关产品推荐

