求Google Sheets/Excel年份序列数组公式:生成垂直年份列表
拆分年份范围为垂直序列的数组公式(Google Sheets/Excel)
Google Sheets 解法
假设年份数据(单个年份或年份范围)位于A1:A3,在空白单元格(如B1)输入以下数组公式,回车后自动生成垂直序列:
=FLATTEN(ARRAYFORMULA(IF(ISNUMBER(A1:A3), A1:A3, SEQUENCE(RIGHT(A1:A3,4)-LEFT(A1:A3,4)+1,1,LEFT(A1:A3,4),1))))
公式逻辑
ARRAYFORMULA:批量处理A列所有行的数据IF(ISNUMBER(...)):判断单元格是单个年份(数字类型)还是年份范围(文本类型)- 年份范围处理:用
LEFT/RIGHT提取起止年份,通过SEQUENCE生成连续年份序列 FLATTEN:将多行的序列合并为单列垂直输出
Excel 解法(适用于365/2021及以上版本)
同样假设输入在A1:A3,在B1输入以下动态数组公式:
=TOCOL(IF(ISNUMBER(A1:A3),A1:A3,SEQUENCE(RIGHT(A1:A3,4)-LEFT(A1:A3,4)+1,1,LEFT(A1:A3,4),1)),2)
公式逻辑
TOCOL:替代Google Sheets的FLATTEN,将多维数组转为单列,参数2用于忽略空值和错误- 其余逻辑与Google Sheets版本一致,自动处理单个年份和范围的拆分输出
示例
输入区域(A1:A3):
1977-1979 1978-1979 1980
输出区域(B列自动生成):
1977 1978 1979 1978 1979 1980
内容的提问来源于stack exchange,提问作者Marty
相关产品推荐
相关产品推荐

