google-apps-script - 查找具有最大数字的表条目,仅当它匹配某个条件时
问题描述
我有一个如下表,我想返回对特定类型影响最大的项目的名称。例如,我想要具有最佳“盾牌”结界的戒指的名称,在本例中为“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'),例如。
我觉得这里一定有一种方法可以嵌套一些特定的功能,但我不太明白。
有什么方法可以做到这一点,同时避免在运行每个查询之前手动排序和过滤我的数据?
解决方案
这是你想要的?
=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”替换为单元格引用。希望这可以帮助。
推荐阅读
- php - 来自 MySQL 的 FCM 令牌数组?
- node.js - AWS Serverless:令牌认证
- spring-boot - 如何在apache flink上运行spring boot jar?
- c++ - 单向排序的 C++ 节点
- python - python中的polyfit二次图
- python - Python - 如何获取结构中所有字段的列表?
- python - 如何让 python 返回一行代码?
- django - 不同的PostgreSQL数据库:本地和远程| 姜戈
- coroutine - (重新)调用协程和等待它有什么区别?
- docker - 托管在 Kubernetes 上的 Nexus Docker 存储库的入口