索引/匹配变化的偏移量

时间:2018-04-27 14:34:09

标签: excel excel-formula

执行索引/匹配时遇到一些麻烦,其中偏移行可以间隔1行,间隔2行或间隔3行。以下是设置示例:

Sheet 1中:

|   A   |   B   |   C   |   D   |   E   |   F   |
-------------------------------------------------
|       |       |       |       | Apple |       |
-------------------------------------------------
| Ser1  |       |       |       |       |       |
-------------------------------------------------
|       |       |       |       | Orange|       |
-------------------------------------------------
| Ser2  |       | Ser3  |       | Ser4  |       |
-------------------------------------------------
| Ser5  |       |       |       |       |       |

Sheet 2中:

|   A   |
---------
| Ser1  |
---------
| Ser2  |
---------
| Ser3  |
---------
| Ser4  |
---------
| Ser5  |

我有另一张表中的序列号列表(ser1,ser2等),我需要匹配E列中的值,其中正确的值高于序列号1,2或3行。如您所见,序列号可以在A,C或E列中。

Ex:Ser1应该在Apple上匹配。 Ser2,Ser3,ser4和Ser5应匹配橙色。

我似乎无法找出完全正常的索引/匹配,因为公式末尾的偏移量是+或 - 是静态行号。

1 个答案:

答案 0 :(得分:2)

粗略的解决方案:

在您的工作表中制作如下结构:

|   A   |   Row  | Lookup
---------
| Ser1  |
---------
| Ser2  |
---------
| Ser3  |
---------
| Ser4  |
---------
| Ser5  |

对于列Row:

=SUMPRODUCT((Sheet1!A$1$:E$5$=A2)*ROW(Sheet1!A$1$:E$5$))

这将计算数据范围内序列号出现的行。然后你可以放入Lookup栏:

=LOOKUP(2,(1/(INDEX(Sheet1!$E$1:$E$5,1,1):INDEX(Sheet1!$E$1:$E$5,B2-1,1)<>"")),Sheet1!$E$1:$E$5)

此公式将在E列中查找最后一个非空单元格(请参阅here以获取更多注释),其范围高于所选序列号。

这是“Ser5”的部分解决方案,您将收到“Ser4”。要解决该问题,您可以对已达成的结果执行额外的Vlookup