【问题标题】:Minimum column value if two other columns match如果其他两列匹配,则最小列值
【发布时间】:2016-06-19 03:15:38
【问题描述】:

我有一个包含数据 A、B 和 C 的 excel 文件。

我想找到 C 的最小值,但前提是对应的 A=B。

如何执行此操作?

【问题讨论】:

    标签: excel conditional min


    【解决方案1】:

    您可以使用数组公式完成此操作¹。

    =min(if(A2:A34=B2:B34, C2:C34))
    

    数组公式不应该是完整的列引用,如果数字列偶尔增长和缩小,应用以下动态调整引用的单元格数量。

    =min(if(A2:index(A:A, match(1e99, C:C))=B2:index(B:B, match(1e99, C:C)), C2:index(C:C, match(1e99, C:C))))
    

    ¹ 数组公式需要使用 Ctrl+Shift+Enter↵ 完成。如果输入正确,Excel 会将公式用大括号括起来(例如 {})。你不用自己输入大括号。一旦正确输入第一个单元格,它们就可以像任何其他公式一样被填充或向下或向右复制。尝试将全列引用减少到更接近代表实际数据范围的范围。数组公式以对数方式消耗计算周期,因此最好将引用范围缩小到最小值。请参阅Guidelines and examples of array formulas 了解更多信息。

    【讨论】:

    • 我很抱歉;我最初写的是缺少一个括号并且用 A43 而不是 A34。上面已经更正了。
    • 好的,它与 min 一起工作,但是当我试图找到具有相同条件的最大值时。它在没有 if 条件的情况下给出 C 的最大值。我写了 =MAX(IF(A2:A34=B2:B34, C2:C34))。它给出 122 而不是 5。
    • 嗯...我刚刚对其进行了测试,通过将 MIN 换成 MAX 可以正常工作(记住 [ctrl]+[shift]+[enter])。 edit 刚刚在没有 CSE 的情况下进行了测试,它在没有条件的情况下返回列最大值,所以你可能没有 CSE。
    • 谢谢它与 [ctrl]+[shift]+[enter] 一起使用。所有excel公式都需要按[ctrl]+[shift]+[enter]吗?
    • 仅数组公式。 CSE 应用了额外的处理级别,因此它不是 A:A=B2,而是 A:A=B:B。请参阅我在脚注中提供的链接。
    猜你喜欢
    • 1970-01-01
    • 2015-02-11
    • 2019-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-26
    相关资源
    最近更新 更多