首页 > 解决方案 > 查找具有最大数字的表条目,仅当它匹配某个条件时

问题描述

我有一个如下表,我想返回对特定类型影响最大的项目的名称。例如,我想要具有最佳“盾牌”结界的戒指的名称,在本例中为“Brusef Amelion 的戒指”。

描述 服装槽 效果类型 效果值
灵巧围裙 胸部 强化敏捷 5分
Brusef Amelion 的戒指 戒指 18%
先驱者的胸甲 胸部 强化健康 15 分
强化魔法裤 强化魔法 20 分
宙斯盾大环 戒指 6%

我试过使用 MAXIFS 语句:

=maxifs(Effect Value, Apparel Slot, "=Ring", Effect Type, "=Shield")

如我所料,返回 0.18。但我希望它返回这个项目的名称,'Brusef Amelion's Ring'。所以我然后尝试对这个值使用 vlookup,但似乎没有选项只查找一个值 if ('Apparel Slot'='Ring' && 'Effect Type'='Shield'),例如。

我觉得这里一定有一种方法可以嵌套一些特定的功能,但我不太明白。

有什么方法可以做到这一点,同时避免在运行每个查询之前手动排序和过滤我的数据?

标签: google-apps-scriptgoogle-sheets

解决方案


这是你想要的?

=DGET(A1:D6,"Description",{"Apparel slot","Effect Value";"Ring",MAXIFS(D2:D6,B2:B6,"Ring",C2:C6,"Shield")})

如您所见, DGET函数需要使用列标题。所以我们想要列描述中的值。“最初”这是一个 DGET 函数:

DGET(A2:F20,"price",{"Ticker";"Google"})

这就是说:找到ticker = google的价格。

我们可以通过输入两个条件来增强这一点,这就是完成,或 \ 分隔(取决于您的国家/地区设置),如下所示:

DGET(A2:F20,"price",{"Ticker","Year;"Google",2020})
DGET(A2:F20;"price";{"Ticker"\"Year;"Google"\2020})

查找代码 = 谷歌和年份 = 2020 的价格。

当然,您可以将“Google”替换为单元格引用。希望这可以帮助。


推荐阅读