Excel 如何在一定的日期范围内找到最小值和最大值

Excel 如何在一定的日期范围内找到最小值和最大值,excel,vba,excel-formula,Excel,Vba,Excel Formula,我想在第二列中获得特定日期范围内的特定范围的最小值。这一切都在excel中 例如: 第1栏:2019年1月1日2109年10月1日2019年15月1日2019年2月15日 第二栏:50556070 第1行将是1/1/2019和50。 第1行第1列为1/1/2019 如果第1列中的某个日期介于2019年5月1日-2019年2月30日,则在第2列中给出该特定日期范围的最小数字(2019年5月1日-2019年2月30日) 我不知道宏是否有用,或者我是否可以在excel中键入公式。谢谢你的帮助。试试这个

我想在第二列中获得特定日期范围内的特定范围的最小值。这一切都在excel中

例如:
第1栏:
2019年1月1日2109年10月1日2019年15月1日2019年2月15日

第二栏:
50556070

第1行将是
1/1/2019
50
。 第1行第1列为
1/1/2019

如果第1列中的某个日期介于2019年5月1日-
2019年2月30日
,则在第2列中给出该特定日期范围的最小数字(
2019年5月1日
-
2019年2月30日


我不知道宏是否有用,或者我是否可以在excel中键入公式。谢谢你的帮助。

试试这个。我对它进行了测试,效果很好。我来解释一下设置,因为您没有提供格式示例。此宏中有两个工作表,工作表1包含第1列中的日期,以及第2列中的值。请注意,您必须将日期按升序排列,这意味着第1行有最早的日期,然后紧跟日历上下一个最近的日期,最底部应该是最晚的日期

Sheet2包含要从sheet1获取值的不同日期。我假设您要搜索的第一个日期从Sheet2的第1行第1列开始,您可以搜索任意多个日期

逻辑是,从sheet2中的第一个单元格开始,对于sheet2第1列中的每个单元格,将日期与sheet1第1行第1列中最早的单元格进行比较,如果该值较低,则宏提取该值,如果该值不较低,则搜索sheet1中的下一个单元格,以此类推。。。希望这有帮助

Sub findMinValue()

Dim lastrow1 As Long, lastrow2 As Long
Dim ws1 As Worksheet, ws2 As Worksheet
Dim i As Integer, ii As Integer

Set ws1 = Worksheets("sheet1")
Set ws2 = Worksheets("sheet2")

lastrow1 = ws1.Cells(Rows.Count, 1).End(xlUp).Row
lastrow2 = ws2.Cells(Rows.Count, 1).End(xlUp).Row

ws2.Select

For ii = 1 To lastrow2
    For i = 1 To lastrow1
        If ws2.Cells(ii, 1) < ws1.Cells(i, 1) Then
        ws2.Cells(ii, 2).Value = ws1.Cells(i, 2).Value
        Exit For
        Else 'do nothing
        End If
    Next i
Next ii

End Sub
子findMinValue()
调暗最后一行1的长度,最后一行2的长度
将ws1标注为工作表,将ws2标注为工作表
Dim i为整数,ii为整数
设置ws1=工作表(“表1”)
设置ws2=工作表(“表2”)
lastrow1=ws1.Cells(Rows.Count,1).End(xlUp).Row
lastrow2=ws2.Cells(Rows.Count,1).End(xlUp).Row
ws2.选择
对于ii=1到最后一行2
对于i=1到最后一行1
如果ws2.Cells(ii,1)
例如,您可以使用这样的数组公式(将答案链接在注释中(归功于@ScottCraner):

单元格
E4
中的公式如下所示:

=MIN(IF((A1:A4>=E1)*(A1:A4<=E2),B1:B4))

=MIN(如果((A1:A4>=E1)*(A1:A4=E1)*(A1:A4除了你的Excel版本外,你可以使用MINIFS和MAXIFS。例如,还有其他选择。你能编辑这个并发布一个屏幕截图来更好地解释这个问题吗?库比-我发布了一个尖叫声。希望这能帮到你,谢谢你谢谢你谢谢你。这是我第一次发布这篇文章,所以我不知道你可以包含图片。所以我编辑了帖子。谢谢你的帮助!
=AGGREGAAT(15,6,B1:B4/((A1:A4>=E1)*(A1:A4<=E2)),1)