用于根据其他两个单元格的值添加文本的公式

时间:2015-05-13 18:40:48

标签: excel excel-formula

我有一个需要稍微微调的大型电子表格。 A列包含1-4000的数字,按顺序列出。 B列包含一些相同的数字,但跳过很多数字(例如:1,5,6,7,11,12,25 ......);这些数字不是相对于列A中的数字“间隔开”。列C包含与列B值相关的文本条目。我需要在D列中添加一个公式,用于评估A1中的数字(例如)是否与B1中的数字匹配,如果匹配,则应将C1的值放在D1中。同样,如果A2匹配B2,那么C2的值应该放在D1中。

我尝试编写一些与此类似的公式,但是当你必须考虑每个单元格组合时它们会变得太大:= IF(A1 = E1,F1)。如果我可以让B列单元格“自我展开”以便它们与A列中的单元格匹配,那么这将使我得到我需要的位置。当然,C列数据值在间隔时需要与B列值“一致”。

关于如何实现这一目标的任何想法?

1 个答案:

答案 0 :(得分:1)

如果数据是这样的:

A   B   C
---------------
1   1   Red
2   5   Blue
3   6   Red
4   7   Yellow
5   11  Black
6   12  Green
7   25  Yellow
8       
9       
10      
11      
12      
13      
14      
15      
16      
17      
18      
19      
20      
21      
22      
23      
24      
25  

期望的结果是:

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

我们可以使用基于INDEX-MATCH的公式从D1开始并自动填充:

=IFERROR(INDEX(C:C,MATCH(A1,B:B,0)),"")

看起来像这样:

A   B   C           D
-----------------------------------------------------------
1   1   Red         =IFERROR(INDEX(C:C,MATCH(A1,B:B,0)),"")
2   5   Blue        =IFERROR(INDEX(C:C,MATCH(A2,B:B,0)),"")
3   6   Red         =IFERROR(INDEX(C:C,MATCH(A3,B:B,0)),"")
4   7   Yellow      =IFERROR(INDEX(C:C,MATCH(A4,B:B,0)),"")
5   11  Black       =IFERROR(INDEX(C:C,MATCH(A5,B:B,0)),"")
6   12  Green       =IFERROR(INDEX(C:C,MATCH(A6,B:B,0)),"")
7   25  Yellow      =IFERROR(INDEX(C:C,MATCH(A7,B:B,0)),"")
8                   =IFERROR(INDEX(C:C,MATCH(A8,B:B,0)),"")
9                   =IFERROR(INDEX(C:C,MATCH(A9,B:B,0)),"")
10                  =IFERROR(INDEX(C:C,MATCH(A10,B:B,0)),"")
11                  =IFERROR(INDEX(C:C,MATCH(A11,B:B,0)),"")
12                  =IFERROR(INDEX(C:C,MATCH(A12,B:B,0)),"")
13                  =IFERROR(INDEX(C:C,MATCH(A13,B:B,0)),"")
14                  =IFERROR(INDEX(C:C,MATCH(A14,B:B,0)),"")
15                  =IFERROR(INDEX(C:C,MATCH(A15,B:B,0)),"")
16                  =IFERROR(INDEX(C:C,MATCH(A16,B:B,0)),"")
17                  =IFERROR(INDEX(C:C,MATCH(A17,B:B,0)),"")
18                  =IFERROR(INDEX(C:C,MATCH(A18,B:B,0)),"")
19                  =IFERROR(INDEX(C:C,MATCH(A19,B:B,0)),"")
20                  =IFERROR(INDEX(C:C,MATCH(A20,B:B,0)),"")
21                  =IFERROR(INDEX(C:C,MATCH(A21,B:B,0)),"")
22                  =IFERROR(INDEX(C:C,MATCH(A22,B:B,0)),"")
23                  =IFERROR(INDEX(C:C,MATCH(A23,B:B,0)),"")
24                  =IFERROR(INDEX(C:C,MATCH(A24,B:B,0)),"")
25                  =IFERROR(INDEX(C:C,MATCH(A25,B:B,0)),"")