根据其他单元格中的值设置单元格值

时间:2016-05-16 16:30:57

标签: excel excel-formula

我有以下表结构:

    --- c1 ------- c2 ---- c3 ------ c4
 r1: **0001**  **word1**
 r2:   0002      word2  **0001**  **word1**
 r3:   0003      word3    0002      word2

我想自动设置第三列值,这样如果第4列中有一些单词,那么程序应该检查第2列并尝试找到相同的单词。如果找到,则第1列值应该用作第3列值。

我可以手动执行此操作,但它更多的工作,如果我添加新行,它会出现问题。第1列值等于行号,因此如果添加了新行,它将自动更新。现在我想设置我的数据,以便在这些情况下第3列也会自动更新。

实现这一目标的正确方法是什么?

2 个答案:

答案 0 :(得分:4)

您想要的公式是:

=IF(D1<>"",INDEX(A:A,MATCH(D1,B:B,0)),"")

enter image description here

修改

对于结构化表引用:

=IF([@Col4]<>"",INDEX([Col1],MATCH([@Col4],[Col2],0)),"")

![enter image description here

答案 1 :(得分:1)

如果您稍微重新排列工作表,则可以使用VLOOKUP()功能。我换了你的AB(第一和第二)列来达到这个目的:

  --- A ----  B  ---- C  ---  D
r1: word1    0001
r2: word2    0002    0001   word1
r3: word3    0003    0002   word2

进入C1

=VLOOKUP(D1, A$1:B$3, 2, FALSE)

并将此公式复制到C列。

交换前两列的原因是VLOOKUP()始终在匹配的第一列中查找。