【问题标题】:Return MAX value with VLOOKUP from list使用 VLOOKUP 从列表中返回 MAX 值
【发布时间】:2018-07-26 11:38:46
【问题描述】:

我有一张谷歌表格,里面有不同玩家的攻击数据和相应的伤害。

Sheet1

| Player      | Attack      | Damage      |
|:------------|:-----------:|------------:|
| Iron Man    | Melee       | 50          |
| Iron Man    | Missile     | 2500        |
| Iron Man    | Unibeam     | 100         |
| Superman    | Melee       | 9000        |
| Superman    | Breath      | 200         |
| Superman    | Laser       | 1500        |

在我的第二张表中,我想列出每个玩家并显示他们的最佳攻击力和相应的伤害。像这样:

Sheet2

| Player      | Best attack | Damage      |
|:------------|:-----------:|------------:|
| Iron Man    | Missile     | 2500        |
| Superman    | Melee       | 9000        |

我尝试在 Sheet2 的损坏列(第三列)中添加以下内容: =MAX(IF(Sheet1!A:A=A2;Sheet1!C:C))

但我得到 9000 的超人和 0 的钢铁侠。为了获得最佳攻击(第二列),我想 MAX 应该与 VLOOKUP 一起使用,但我不知道如何应用。

编辑:

=ArrayFormula(MAX(IF(Sheet1!A:A=A3;Sheet1!C:C))) 似乎解决了第一个问题。在损坏列(第三列)中获取正确的值。但是仍然不知道如何应用这个来返回哪个是最好的攻击。

【问题讨论】:

  • 这是一个数组公式,所以需要包裹在ArrayFormula(...)
  • @ScottCraner 谢谢,工作完美 - 更新了问题!

标签: google-sheets max vlookup


【解决方案1】:

你可以使用过滤器。

伤害:

=MAX(FILTER(Sheet1!C:C,Sheet1!A:A=A2))

然后是最佳攻击:

=JOIN(",",FILTER(Sheet1!B:B,Sheet1!A:A=A2,Sheet1!C:C=C2))

如果有更多具有相同伤害的攻击,Join 将加入两个或更多。

【讨论】:

  • 按描述工作。谢谢一百万!
【解决方案2】:

我正在考虑范围 A2:C。

试试这个公式。

=sortn(sort(A2:C,3,0),9^9,2,1,0)

截图

【讨论】:

    猜你喜欢
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-22
    • 1970-01-01
    • 2018-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多