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

我有一个下面的表结构:

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

我想自动设置第三列的值,这样如果第四列有一些字,那么程序应该检查第二列,并尝试find同一个字。 如果find,则第1列值应该用作第3列值。

我可以手动做到这一点,但它更多的工作,如果我添加新的行,它会产生问题。 第1列值等于行号,因此如果添加新行,它会自动更新。 现在我想设置我的数据,以便在这种情况下第3列也会自动更新。

什么是正确的公式来做到这一点?

你想要的公式是:

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

在这里输入图像说明


编辑

对于结构化表格引用:

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

![在这里输入图片描述

如果稍微重新排列工作表,则可以使用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()总是在匹配的第一列中查找。