如何用单公式从历史月份列表提取指定季度的月份(无辅助列)
无需辅助列提取指定季度的匹配月份
适用于Excel 365/2021(动态数组版本)
使用FILTER函数直接返回所有匹配结果,无需下拉操作:
=FILTER(A:A,LEFT(A:A,4)&"Q"&ROUNDUP(MATCH(MID(A:A,SEARCH(" ",A:A)+1,99),{"January","February","March","April","May","June","July","August","September","October","November","December"},0)/3,0)=D2,"无匹配")
公式拆解:
LEFT(A:A,4):提取每个单元格的年份部分MID(A:A,SEARCH(" ",A:A)+1,99):提取空格后的月份名称MATCH(...,{"January",...},0):将月份名称转换为1-12的数字序号ROUNDUP(...,0):将月份序号转换为季度(1-3→Q1,4-6→Q2,以此类推),拼接成YYYYQN格式FILTER:筛选出与D2单元格季度格式完全匹配的A列内容
适用于普通Excel版本(无动态数组)
使用数组公式(输入后按Ctrl+Shift+Enter确认),在空白单元格输入后下拉2行(因每个季度仅2个匹配项):
=INDEX(A:A,SMALL(IF(LEFT(A:A,4)&"Q"&ROUNDUP(MATCH(MID(A:A,SEARCH(" ",A:A)+1,99),{"January","February","March","April","May","June","July","August","September","October","November","December"},0)/3,0)=D2,ROW(A:A)),ROW(1:1)))
注意事项:
- 建议将公式中的
A:A替换为实际数据范围(如A2:A13),提升计算效率 - 确保D2单元格格式为
YYYYQN(如2024Q1),与公式生成的季度标识格式一致
内容的提问来源于stack exchange,提问作者DanCue
相关产品推荐
相关产品推荐

