【问题标题】:How to use Excel 2016 maxifs function to find maximum value for specific month如何使用 Excel 2016 maxifs 函数查找特定月份的最大值
【发布时间】:2026-01-15 06:15:02
【问题描述】:

早上好,

我正在使用 Excel 2016 来分析股票数据。我需要找到特定月份内数据范围的最大值。我知道如何使用几个帮助列来做到这一点,但我想利用“maxifs”功能。我希望在下个月的第一个日期计算上个月的最大值。例如,在 2010 年 9 月 1 日,我希望显示 2010 年 8 月的最大值。我需要代码是动态的,所以我可以使用任何数据集。

这是我在单元格 C24 中的代码示例:

=IF(MONTH($A24)<>MONTH($A23),MAXIFS(B$2:B23,A$2:A23,MONTH(A$2:A23)=MONTH(A23)),"-")

这是我的示例电子表格的屏幕截图,以提供一些背景信息:

Example Spreadsheet

我知道我在条件 1 语法上有些偏差。任何帮助将不胜感激。

谢谢!

【问题讨论】:

    标签: excel excel-formula date-range excel-2016 maxifs


    【解决方案1】:

    你可以把月份括起来:

    =MAXIFS(B$2:B23,A$2:A23,">=" & EOMONTH(A23,-1) +1,A$2:A23,"<" & EOMONTH(A23,0)+1)
    

    所以你的整个公式:

    =IF(MONTH($A24)<>MONTH($A23),MAXIFS(B$2:B23,A$2:A23,">=" & EOMONTH(A23,-1) +1,A$2:A23,"<" & EOMONTH(A23,0)+1),"-")
    

    【讨论】:

    • EOMONTH() 的通话很好,我总是忘记这一点。
    • @Sescopeland 在几分钟内您将能够将其标记为正确,请单击答案旁边的复选标记。
    • 我通常使用"&lt;"&amp;EOMONTH(A23, 0)+1,因为最后一天的早上 8:00 大于 EOMONTH(A23, 0);即任何时间值都会否定"&lt;="&amp;EOMONTH(A23,0),所以我喜欢小于下个月第一天的午夜
    • @Jeeped 那么你不想在前端"&gt;=" &amp; EOMONTH(A23,-1) +1 上做同样的事情吗?因为任何时候都会比我拥有它的第一种方式更大"&gt;" &amp; EOMONTH(A23,-1)
    • 是的,这在日期/时间而不是日期的相同情况下是合适的。
    最近更新 更多