【问题标题】:Returning a value based on max sum and one more condition根据最大总和和另一个条件返回一个值
【发布时间】:2012-03-07 12:26:17
【问题描述】:
      A         B         C
1     #         Code    Quantity
2     1001      1         10
3     1001      1         20
4     1002      2         10
5     1003      2         10
6     1003      2         10
7     1003      2         10
8     1004      1         40
9     1005      3         20

我想在A11中显示:A中的#,B中谁的代码为1,C中谁的数量最大。

我认为它需要 Index Match Max Sumif 和 Vlookup,但我不知道如何将它们放在一起(

感谢任何人的任何建议!

【问题讨论】:

    标签: indexing sum max excel-formula vlookup


    【解决方案1】:

    你可以这样做

    =INDEX(A1:A9,MAX(ROW(C1:C9)*(C1:C9=1)*(D1:D9=MAX($D$1:$D$9))))
    

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

    进行验证

    [编辑] 适用于 Tauren 的最终解决方案:

    =INDEX(A1:A9,MAX(ROW(B1:B9)*(B1:B9=1)*(C1:C9=MAX(C1:C9))))
    

    还有法语版供需要的人使用:

    =INDEX(A1:A9;MAX(LIGNE(C1:C9)*(C1:C9=1)*(D1:D9=MAX($D$1:$D$9))))
    

    【讨论】:

    • 谢谢你,Jmax!恐怕它给了我 1001,而我需要 1004。只有 1001 和 1004 有代码“1”,而在这两者中,1001 在 C 列中的总和为 30,而 1004 有 40。因此答案应该是 1004 .
    • @user1205756:你确定吗?它对我有用,我得到8(或者当我将索引更改为B1:B9时我得到1004)。你介意再检查一下吗?
    • 嘿,JMax。我怀疑您的公式中的列可能与我需要的不同,所以我将公式更改为 =index(a1:a9,max(row(b1:b9)*(b1:b9=1)*(c1: c9=max(c1:c9)))) 然后它给了我 1004!
    • 谢谢你,JMax!你太棒了!
    • 感谢您的帮助,JMax!我对你的回答有一个谦虚的建议:你的公式是正确的,我认为如果你像我在评论中所做的那样更改列引用,复制粘贴可能会更容易一些,但如果你想离开也完全可以就这样)至少我明白了!再次感谢!
    猜你喜欢
    • 1970-01-01
    • 2016-02-06
    • 2016-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-10
    相关资源
    最近更新 更多