Excel中如何提取每月数值最低记录对应的工作日日期
按月提取最低值对应工作日日期的实现方法
以下方案基于数据结构:Historical工作表内A列为标准格式日期、B列为对应数值,首行为表头。
方案1:动态公式法(无需配置透视表,出错率低)
新建空白工作表存储计算结果,避免修改原始数据:
- 提取全量数据覆盖的不重复年月
在新表A2单元格输入以下公式,365/2021及以上版本Excel会自动溢出所有年月结果,低版本可手动下拉公式至无新值生成即可:=UNIQUE(TEXT(Historical!A2:A10000,"yyyy-mm"))
请将公式中A10000替换为你实际数据的最大行号 - 匹配每个月最低值对应的工作日日期
在新表B2单元格输入以下公式,下拉/自动溢出即可得到目标结果:=INDEX(Historical!A:A,MATCH(MINIFS(Historical!B:B,Historical!A:A,">="&DATEVALUE(A2&"-01"),Historical!A:A,"<"&EDATE(DATEVALUE(A2&"-01"),1)),Historical!B:B,0))
若单月存在多条数值并列最低的记录,公式默认返回最早出现的记录对应日期 - (可选)提取对应最低数值
如需同步展示当月最低值,在C2单元格输入公式即可:=MINIFS(Historical!B:B,Historical!A:A,">="&DATEVALUE(A2&"-01"),Historical!A:A,"<"&EDATE(DATEVALUE(A2&"-01"),1))
方案2:修正数据透视表操作(解决此前分组报错问题)
透视表分组报错基本都是因为日期列混杂非日期格式值、空白单元格导致,按以下步骤操作即可规避:
- 清理原始数据格式
选中Historical工作表的日期列,点击「数据」选项卡下的「分列」功能,连续点击两次下一步,第三步列数据格式选择「日期」,对应格式选YMD后点击完成,统一所有单元格为标准日期格式,删除整行空白的无效数据行。 - 插入并配置透视表
- 选中清理后的有效数据范围,插入透视表,选择存放至新工作表。
- 将日期字段拖入「行」区域,点击行区域内的日期字段选择「组合」,组合步长仅勾选「年」「月」后确定,即可完成无报错的日期按月分组。
- 将数值字段拖入「值」区域,修改值字段汇总方式为「最小值」,即可得到每个月的最低数值。
- 如需直接在透视表展示对应日期,新建DAX度量值即可:点击透视表后在「Power Pivot」选项卡选择「新建度量值」,输入以下公式后将度量值拖入值区域:
最低值对应日期 = CALCULATE(SELECTEDVALUE('Historical'[日期]),FILTER('Historical','Historical'[数值]=MIN('Historical'[数值])))
补充说明:如果你的原始日期列包含周末、法定节假日等非工作日数据,请先通过
WORKDAY函数或自定义工作日历筛除非工作日记录后再执行上述计算,避免返回非工作日结果。
内容的提问来源于stack exchange,提问作者uognayujwxpqzltxiz
相关产品推荐
相关产品推荐

