范围内的值搜索(INDEX / VLOOKUP)

时间:2019-05-02 13:34:29

标签: excel vba excel-formula

我的值范围未经过滤,它们充当寻找所需值结果的关键指标。

在搜索框中,我有三个变量:状态,项目名称,值。我的目标是根据这些输入找到结果

https://i.imgur.com/6tvIHn8.jpg

尝试过INDEX LARGE,但仅适用于排序的值。看来,问题只出现在未过滤的结果上,但这不是解决方案。

我要寻找的值,有10次有9次都在这些范围内(不完全匹配)。

对不起,我拼错了。结果应为 4.38

示例:如果输入CA / CAR / 250001,它将返回 4.38

3 个答案:

答案 0 :(得分:0)

这是一种处理方式:

enter image description here

G4中使用的

公式转换为:

{=INDEX(D2:D9,MATCH(G1&G2&LARGE((C2:C9<=G3)*(C2:C9),COUNTIFS(C2:C9,">"&G3,C2:C9,0)+1),A2:A9&B2:B9&C2:C9,0))}

请注意,这是一个数组公式,应通过 Ctrl Shift Enter

输入

答案 1 :(得分:0)

  • 添加具有公式=IF(OR(C:C-$I$3<0,A:A<>$I$1,B:B<>$I$2),1E+99,C:C-$I$3)的距离列
  • 结果公式:=INDEX(D:D,MATCH(MINIFS(E:E,A:A,$I$1,B:B,$I$2),E:E,0))

enter image description here

它使用Value = 250001计算到Result的距离。负值设置为非常高的值1E+99 = 1×10⁹⁹。然后,我们可以使用MinIfs来找到给定StateItem的最小距离,最后我们使用MatchIndex将最小值变成{ {1}}。

答案 2 :(得分:0)

您可以将SUMIFS()与MINIFS()用作标准

=SUMIFS(D:D,A:A,G2,B:B,G3,C:C,MINIFS(C:C,A:A,G2,B:B,G3,C:C,">="&G4))

一个注意:这假设State,Item,Value的组合是唯一的。

![enter image description here


如果无法访问MINIFS,则可以在其位置使用AGGREGATE:

AGGREGATE(15,7,C2:C17/((A2:A17=G2)*(B2:B17=G3)*(C2:C17>=G4)),1)

![![enter image description here