gpt4 book ai didi

VBA:找到第二大值

转载 作者:行者123 更新时间:2023-12-03 02:25:41 25 4
gpt4 key购买 nike

我遇到以下问题:我尝试过滤工作表(历史)中的日期列 (A) 以返回最高和第二高的日期值。目前,此栏中的日期范围为 12 月 25 日至 31 日。不幸的是,下面的公式(使用 Large 函数)返回 31 次两次(而不是预期的 30 次和 31 次)。

Sub Select_Last_Two_Days()

With Worksheets("HISTORICALS")
Highest_Max = Format(WorksheetFunction.Large(Worksheets("HISTORICALS").Range("A:A"), 1), "Short Date")
Second_Highest_Max = Format(WorksheetFunction.Large(Worksheets("HISTORICALS").Range("A:A"), 2), "Short Date")
Debug.Print Highest_Max, Second_Highest_Max
End With

End Sub

该列大约有。 2000 行,日期出现多次。因此,理想情况下,我想过滤不同的值,然后返回两个最高日期。知道我该怎么做吗?

最佳答案

简单翻译 Barry Houdinis 的回答 How to find the first and second maximum number?到 VBA:

Sub Select_Last_Two_Days()

With Worksheets("HISTORICALS")
Highest_Max = Format(WorksheetFunction.Max(.Range("A:A")), "Short Date")
Second_Highest_Max = Format(WorksheetFunction.Large(.Range("A:A"), WorksheetFunction.CountIf(.Range("A:A"), WorksheetFunction.Max(.Range("A:A"))) + 1), "Short Date")
Debug.Print Highest_Max, Second_Highest_Max
End With

End Sub

关于VBA:找到第二大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48072786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com