在excel中除了If之外的什么逻辑函数

时间:2017-04-07 12:26:24

标签: arrays excel if-statement excel-formula

我有以下数据集。

LLimit  ULimit   Col C 
1          3       a
3          5       b
5         11       c
11        15       d
15        17       e
17        20       f

如果我输入3.5,我需要在col E中得到" b" (相对于下限和上限的值)。我使用过If或statement,但是有没有办法可以使用Index,Match或array来做到这一点。我试过,它的极限编号(如5,11,17,3等)绝对没问题,但不能在14之间(11到14之间)之间使用。 以下是我使用的

{=INDEX(F5:F10,MATCH(1,(((D5:D10)>=H4)*((E5:E10)>=H4))*1,0))}

尝试附加工作簿,但不知道该怎么做。

2 个答案:

答案 0 :(得分:1)

试试这个

假设D2 = 3.5则

在E2

=INDEX(C2:C7,SUMPRODUCT((A2:A7<=D2)*(B2:B7>=D2)*(ROW(C2:C7)-ROW(C2)+1)))

编辑: 要排除下边界,请尝试此

=INDEX(C2:C7,SUMPRODUCT((A2:A7<D2)*(B2:B7>=D2)*(ROW(C2:C7)-ROW(C2)+1)))

答案 1 :(得分:0)

使用Vlookup如下:

=VLOOKUP(D2,$A$2:$C$7,3)

$ A $ 2:$ C $ 7是您的初始表LLimit ULimit Col C
Vlookup将在第一列中查找值&lt; = D2并返回第3列中的相应值

<强>更新
对于非排序列A,您的公式需要修改:

={INDEX($C$2:$C$7,MATCH(1,($A$2:$A$7<=D2)*($B$2:$B$7>=D2),0),1)}   

您为两个限制

编写了相同的条件&gt; =
{=INDEX($F$5:$F$10,MATCH(1,((($D$5:$D$10)<=H4)*(($E$5:$E$10)>=H4))*1,0))}