Google Sheets如何仅筛选单列并提取值变更的首个非空日期列表?
解决Google Sheets提取数值变更首个日期的问题
方法一:一步到位生成无空值列表
直接在空白单元格输入以下公式,无需中间列,自动输出所有连续数值段的首个日期:
=QUERY({A:A, D:D}, "SELECT A WHERE D IS NOT NULL AND (ROW(A)=1 OR D != OFFSET(D, -1, 0))", 0)
公式说明:
{A:A, D:D}:将日期列(A)和数值列(D)合并为临时数组SELECT A:指定输出日期列D IS NOT NULL:排除D列无数据的行ROW(A)=1 OR D != OFFSET(D, -1, 0):筛选条件——要么是第一行(保留初始数值的日期),要么当前行D值与上一行不同(捕捉数值变更的首个日期)
方法二:基于你现有中间列提取非空值
如果你想保留原来的中间列操作:
- 修正中间列公式:
- 在E1单元格输入
=A1(保留第一个数值段的起始日期) - 在E2单元格输入
=IF(D2<>D1, A2, ""),下拉填充至数据末尾
- 在E1单元格输入
- 提取非空值:
在空白列(比如F列)输入以下公式,自动过滤空值生成连续列表:
或者用QUERY公式:=FILTER(E:E, E:E<>"")=QUERY(E:E, "SELECT E WHERE E IS NOT NULL", 0)
内容的提问来源于stack exchange,提问作者Becks
相关产品推荐
相关产品推荐

