寻找Excel公式

时间:2014-07-16 20:23:02

标签: excel excel-formula excel-2010

我有一张带有标题的数字表。我还有一个单独的数字列表,包含在表格中。我想在表格中的列表中找到每个数字的位置。然后,我想使用单元格位置来提供相应的行标题。我展示了我在下面寻找的东西。

我该怎么做呢?我想象一下索引/匹配函数的某些组合,或者可能是vlookup,但是到目前为止,我尝试过的公式都没有。我在这一点上完全迷失了,所以任何帮助都会受到赞赏。

提前致谢!

想象一下这样的事情:

表:

 - Category A   1   2  3  4  5
 - Category B   6   7  8  9  10
 - Category C   11  12 13 14 15
 - Category D   16  17 18 19 20
 - Category E   21  22 23 24 25

列表:

  • 22
  • 5
  • 10
  • 4
  • 18
  • 6
  • 14
  • 2

期望的结果:

 - 22  Category E
 - 5   Category A
 - 10  Category B
 - 4   Category A
 - 18  Category D
 - 6   Category B
 - 14  Category C
 - 2   Category A

2 个答案:

答案 0 :(得分:0)

第1步:找到匹配值所在的行

您可以使用布尔函数和SUMPRODUCT:

的组合找到匹配的行
SUMPRODUCT((dataRange=22)*ROW(dataRange))

(请注意,这假设这些项目都是唯一的;如果您有多个匹配项将不起作用)

第2步:找到该行的类别

OFFSET(categoryACell, rows, 0)

所以结果函数是:

OFFSET(categoryACell, SUMPRODUCT(--(dataRange=22)*ROW(dataRange)), 0)

答案 1 :(得分:0)

        A           |   B   |   C   |   D   |   E   |   F
    _________________________________________________________
1   ||  Category A  |   1   |   2   |   3   |   4   |   5
2   ||  Category B  |   6   |   7   |   8   |   9   |   10
3   ||  Category C  |   11  |   12  |   13  |   14  |   15
4   ||  Category D  |   16  |   17  |   18  |   19  |   20
5   ||  Category E  |   21  |   22  |   23  |   24  |   25
6   ||  
7   ||  
8   ||  
9   ||  
10  ||  22          |   =INDIRECT("A"&SUMPRODUCT((B1:F5=A10)*ROW(B1:F5)))               
11  ||  5           |   =INDIRECT("A"&SUMPRODUCT((B1:F5=A11)*ROW(B1:F5)))               
12  ||  10          |   =INDIRECT("A"&SUMPRODUCT((B1:F5=A12)*ROW(B1:F5)))               
13  ||  4           |   =INDIRECT("A"&SUMPRODUCT((B1:F5=A13)*ROW(B1:F5)))               
14  ||  18          |   =INDIRECT("A"&SUMPRODUCT((B1:F5=A14)*ROW(B1:F5)))               
15  ||  6           |   =INDIRECT("A"&SUMPRODUCT((B1:F5=A15)*ROW(B1:F5)))               
16  ||  14          |   =INDIRECT("A"&SUMPRODUCT((B1:F5=A16)*ROW(B1:F5)))               
17  ||  2           |   =INDIRECT("A"&SUMPRODUCT((B1:F5=A17)*ROW(B1:F5)))