首页 > 解决方案 > 在不同条件之间查找最小值的麻烦

问题描述

我试图找到两个不同时间之间固定日期的最短时间。一直在尝试不同的变化,但没有任何效果。

这是在 excel 2016 上,我昨天在不同的电子表格(我创建的测试表)上尝试了类似的代码并且它有效。不幸的是,它在我无法再访问的另一台笔记本电脑上。

在我要使用的工作表上尝试了相同的代码,但它不起作用。

{=MIN(IF((Date<=D5)*(Date>=D4);Time;"");IF((Time<=D7)*(Time>=D6);Time<""))}
{=MIN(IF(;IF((Time<=D7)*(Time>=D6);Time<""))}

D5 是我想要查看的实际日期(第 1 行),因为它对我不起作用我尝试在 D4 中放置更早的日期但结果相同(第 2 行)。D7 和 D6 是我要查找的结束时间和开始时间之间的值。尝试命名范围,因此日期范围是指日期(E2:E55220),而时间是我想在(C2:C55220)中找到最小值的时间范围。

我在所有尝试中最终得到的值都是 0

标签: excelexcel-formulamaxminexcel-2016

解决方案


数组的替代公式。它应该做同样的事情:

=AGGREGATE(15,6,myTIME/((myDATE<=F4)*(myDATE>=F3)*(myTIME<=F6)*(myTIME>=F5)),1)

POC

现在这个公式适用于假设您的日期是实际的 excel 日期而不是看起来像日期的文本。时间也是如此。您可以使用以下公式对其进行测试:

ISNUMBER(E2)

or

ISTEXT(E2)

其中 E2 是包含日期或时间的单元格。Excel 将日期存储为整数,将时间存储为小数。如果您的信息存储为文本,则首先转换它们然后尝试应用您的公式来转换转换结果可能更容易。您可以使用公式进行转换,但它会使公式变得非常丑陋和冗长。


推荐阅读