2014-07-16 134 views
-2

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

我该如何去做这件事?我在想象索引/匹配函数的组合,或者可能是查找,但我尝试过的所有公式都没有发挥作用。我完全失去了这一点,所以任何帮助将不胜感激。

在此先感谢!

想象这样的事情:

表:

- 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 Category E 
- 5 Category A 
- 10 Category B 
- 4 Category A 
- 18 Category D 
- 6 Category B 
- 14 Category C 
- 2 Category A 
+0

期望的结果是我想要得到的结果,但我不知道该怎么做。 – SamIAm

+1

您的解决方案可能有效,但我认为它比我需要的更复杂。我不想创建一个新表(实际上我们正在谈论成千上万的行,而不是5);我只想要一个公式。不过谢谢。如果没有人回答一个公式,我会尝试你的解决方案。 – SamIAm

回答

0

步骤1:找到的行,该匹配值在

您可以通过使用boolea的组合来找到匹配的行n功能和SUMPRODUCT:

SUMPRODUCT((dataRange=22)*ROW(dataRange)) 

(请注意,这假定项目都是唯一的;如果你有一个以上的比赛)

步骤2将无法正常工作:找到该行的类别

OFFSET(categoryACell, rows, 0) 

因此产生的功能将是:

OFFSET(categoryACell, SUMPRODUCT(--(dataRange=22)*ROW(dataRange)), 0) 
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)))