【发布时间】:2015-04-15 16:17:03
【问题描述】:
我正在尝试使用 INDEX MATCH 从与根据各种标准更改的值相关联的项目列表中返回最佳选择。我目前的工作表设置和公式是这样的:
A B C
Item1 Bad 27
Item2 Good 15
Item3 Good 27
Item4 Bad 44
A 列是一个命名范围Item。
B 列是一个命名范围ItemType。
C列是一个命名范围ItemValue
=INDEX(INDIRECT(SUBSTITUTE('Sheet'!B3," ","")),MATCH(MAX(IF(INDIRECT(SUBSTITUTE('Sheet'!B3," ","")&"Type")="Good",INDIRECT(SUBSTITUTE('Sheet'!B3," ","")&"Value"))),INDIRECT(SUBSTITUTE('Sheet'!B3," ","")&"Value"),0))
(作为数组公式输入)
在其当前迭代中,这将返回 Item1。我希望它返回Item3。
在此示例中,'Sheet'!B3 包含要搜索的类别(在此示例中为 Item)。我根据该单元格中的数据使用各种命名范围,并使用 INDIRECT/SUBSTITUTE 进行后缀。我当前的公式找到的最大值也是Good,但随后返回与其匹配的第一个值,无论它是Good 还是Bad。我尝试在公式的不同点添加额外的 IF 语句,但单元格将返回 FALSE 或公式语法错误。如何在整个公式中维护我的 ="Good" IF 语句?
谢谢!
【问题讨论】:
-
我认为你不会得到答案。请提供您在
sheet中拥有的数据的快照,以及您希望基于您提供的采样数据的解决方案。 -
@dimitris_ps 与
sheet中的公式相关的唯一数据是单元格B3,其中包含Item,以便将间接替代项指向正确的命名范围。命名范围位于单独的source工作表中。正如我所提到的,在这种情况下,我希望解决方案是Item3,因为这是 C/ItemValue列中的最大值,也是 B/ItemType列中的Good。希望这可以解决问题。
标签: excel excel-formula excel-2010