如何将多列随机日期合并后提取对应周的周五日期?
解决方案
可以用Google Sheets的数组公式一步实现需求,直接在目标单元格输入以下公式:
=SORT(UNIQUE(BYROW(TOCOL(A:C,1),LAMBDA(d, DATE(YEAR(d), MONTH(d), DAY(d) + (5 - WEEKDAY(d,2)))))))
公式拆解:
TOCOL(A:C,1):将A到C列的所有非空日期合并成一维数组,自动跳过空单元格。BYROW(..., LAMBDA(d, ...)):遍历每个日期,计算其所在周的周五:WEEKDAY(d,2):按「周一为1,周日为7」的规则返回星期数,周五对应数字5。5 - WEEKDAY(d,2):算出当前日期到当周周五的天数差(比如周一差4天,周六差-1天)。DATE(...):基于原日期的年、月,加上天数差得到当周周五的完整日期。
UNIQUE(...):去除重复的周五日期(同一周的多个日期会生成同一个周五)。SORT(...):将最终结果按日期升序排列,保证时间顺序正确。
注意事项:
- 如果你的日期列不是A:C,直接替换公式里的
A:C为实际范围即可。 - 确保目标单元格区域设置为日期格式,避免结果显示为数字。
内容的提问来源于stack exchange,提问作者Badr VA
相关产品推荐
相关产品推荐

