You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从含百分比文本列表提取100%记录的第N早日期?

提取100%记录中第N早日期的Excel解决方案

实现逻辑

要完成这个需求,需要先筛选出所有100%对应的日期,再从中提取第N早的记录,核心是结合条件筛选和日期排序提取两个步骤。

数组公式方案(兼容全版本Excel)

假设数据在A2:A100区域,N值存于B1单元格,使用以下数组公式(输入后按Ctrl+Shift+Enter确认,Excel 365/2021直接回车即可):

=TEXT(SMALL(IF(LEFT(A2:A100,3)="100",DATEVALUE(MID(A2:A100,FIND("(",A2:A100)+1,10))),B1),"mm/dd/yyyy")

公式拆解

  • LEFT(A2:A100,3)="100":判断每条记录是否为100%,生成逻辑筛选数组
  • MID(A2:A100,FIND("(",A2:A100)+1,10):从符合条件的记录中提取括号内的10位日期文本
  • DATEVALUE():将文本日期转换为Excel可计算的日期序列号
  • SMALL(...,B1):从筛选后的日期序列号中提取第N小的数值(即第N早的日期)
  • TEXT(..., "mm/dd/yyyy"):将日期序列号转回指定格式的文本日期

动态数组简化方案(Excel 365/2021)

如果使用支持动态数组的Excel版本,用FILTER()替代IF(),公式更易读:

=TEXT(SMALL(DATEVALUE(MID(FILTER(A2:A100,LEFT(A2:A100,3)="100"),FIND("(",FILTER(A2:A100,LEFT(A2:A100,3)="100"))+1,10)),B1),"mm/dd/yyyy")

分步操作方案(新手友好)

如果觉得数组公式复杂,可以拆分步骤:

  1. 插入辅助列(比如C列),提取所有100%记录的日期:
    =IF(LEFT(A2,3)="100",DATEVALUE(MID(A2,FIND("(",A2)+1,10)),"")
    
  2. 用SMALL()提取第N早日期:
    =TEXT(SMALL(C:C,B1),"mm/dd/yyyy")
    

内容的提问来源于stack exchange,提问作者DanCue

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 08:04:58