【问题标题】:How do I conditionally find the oldest date in Excel如何有条件地在 Excel 中查找最早的日期
【发布时间】:2018-04-08 04:19:44
【问题描述】:

我正在尝试用最早到期日期的数量和位置以及位置不等于装运箱的位置填写 I 和 J 列。

原始数据和汇总报告

在上面的数量应该显示 100 和最早的日期 10/01/2019

我试过的公式是:

IF(A2='库存详情'!A:A,IF('库存详情'!G:G=2,MIN('库存详情'!C:C)))

但我错过了一些东西

【问题讨论】:

    标签: excel-formula


    【解决方案1】:

    如果您的数据源从 A 列开始,则缺少 G 列。

    您的公式也缺少一些元素。您有两个嵌套的 IF 语句,但您只在条件之后填充 TRUE 部分。

    我假设你想用 AND 结合这两个条件,得到 C 列的最小日期,其中 A2 = A 列 AND G = 2。

    这可以通过

    =MIN(IF((A2='Inventory Details'!A2:A5)*('Inventory Details'!G2:G5=2),'Inventory Details'!C2:C5,""))
    

    这是一个数组公式,必须用Ctrl+Shift+Enter

    确认

    IF 语句中的两个条件导致两个 TRUE 或 FALSE 值数组。这两个数组相互相乘,只有当两个数组都为 TRUE 时,结果数组才会为 TRUE。对于这些位置,MIN 函数将考虑 C 列中的值。

    这个概念可能需要一些时间来适应。

    另外,除非您喜欢盯着“正在计算 -- 2%”消息,否则不要在数组公式中使用整列,因为它会涉及数百万个单元格。尝试将范围限定为仅包含数据的行。如果您的数据源表发生很大变化,则可以使用命名公式来完成。

    评论后编辑:如果你有 Office 365 版本的 Excel,你可以像这样使用 Minifs 函数:

    =MINIFS('Inventory Details'!C:C,'Inventory Details'!A:A,A2,**strong text**G:G,2)
    

    Minifs 不是数组公式,可用于整列。

    【讨论】:

    • 谢谢,你的逻辑是有道理的。我仍然没有得到我想要的结果。我附上了当前结果的修订图像。我将研究命名公式,因为库存详细信息表将通过 odata 填充并且长度不同
    • 当前公式 =(IF((A6='库存详情'!$A$2:$A$5)*('库存详情'!$D$2:$D$5'库存详情' !$E$2:$E$5),'库存详情'!$C$5:$C6,"a"))
    • 另外,Office 365 引入了MINIFS 功能。
    • 所有范围的大小必须相同。您不能将 A2:A5 与 C5:C6 混合。此外,IF 语句将返回一个数组,因此您必须在它周围包裹一些处理数组的东西,因为您无法在单元格中显示数组。在我的回答中,IF 返回一个日期数组,而 MIN 则围绕该数组返回这些日期中的最小值。
    • 我还使用 Minifs 添加了另一种方法。
    猜你喜欢
    • 1970-01-01
    • 2012-08-18
    • 1970-01-01
    • 2018-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多