根据其他两个单元格的值添加文本的公式
Formula to add text based on values of two other cells
我有一个很大的电子表格,需要进行一些微调。 A 列包含 1-4000 的数字,按顺序列出。 B 列包含一些相同的数字,但跳过了许多数字(例如:1、5、6、7、11、12、25 ...);这些数字不是 "spaced out" 相对于 A 列中的数字。C 列包含与 B 列值相关的文本条目。我需要在 D 列中添加一个公式,该公式将评估 A1 中的数字(例如)是否与 B1 中的数字匹配,如果匹配,则应将 C1 的值放入 D1 中。同样,如果A2匹配B2,那么C2的值应该放在D1中。
我尝试编写一些与此类似的公式,但是当您必须考虑每个单元格组合时,它们变得太大了:=IF(A1=E1,F1)。如果我可以将 B 列单元格设置为 "space themselves out" 以便它们与 A 列中的单元格匹配,那将让我到达我需要的位置。当然,C 列数据值在间隔时需要 "follow along" 与 B 列值。
关于如何实现这一点有什么想法吗?
如果数据是这样的:
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)),"")
我有一个很大的电子表格,需要进行一些微调。 A 列包含 1-4000 的数字,按顺序列出。 B 列包含一些相同的数字,但跳过了许多数字(例如:1、5、6、7、11、12、25 ...);这些数字不是 "spaced out" 相对于 A 列中的数字。C 列包含与 B 列值相关的文本条目。我需要在 D 列中添加一个公式,该公式将评估 A1 中的数字(例如)是否与 B1 中的数字匹配,如果匹配,则应将 C1 的值放入 D1 中。同样,如果A2匹配B2,那么C2的值应该放在D1中。
我尝试编写一些与此类似的公式,但是当您必须考虑每个单元格组合时,它们变得太大了:=IF(A1=E1,F1)。如果我可以将 B 列单元格设置为 "space themselves out" 以便它们与 A 列中的单元格匹配,那将让我到达我需要的位置。当然,C 列数据值在间隔时需要 "follow along" 与 B 列值。
关于如何实现这一点有什么想法吗?
如果数据是这样的:
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)),"")