Excel 基于其他单元格中的值设置单元格值

Excel 基于其他单元格中的值设置单元格值,excel,excel-formula,Excel,Excel Formula,我有以下表格结构: --- c1 ------- c2 ---- c3 ------ c4 r1: **0001** **word1** r2: 0002 word2 **0001** **word1** r3: 0003 word3 0002 word2 我想自动设置第三列的值,这样如果第4列中有一些单词,那么程序应该检查第2列并尝试查找相同的单词。如果找到,则应将第1列值用作第3列值 我可以手动完成,但这需要更多的工作,如果我

我有以下表格结构:

    --- c1 ------- c2 ---- c3 ------ c4
 r1: **0001**  **word1**
 r2:   0002      word2  **0001**  **word1**
 r3:   0003      word3    0002      word2
我想自动设置第三列的值,这样如果第4列中有一些单词,那么程序应该检查第2列并尝试查找相同的单词。如果找到,则应将第1列值用作第3列值

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


实现这一目标的正确公式是什么?

您想要的公式是:

=IF(D1<>"",INDEX(A:A,MATCH(D1,B:B,0)),"")
=IF(D1“”,索引(A:A,匹配(D1,B:B,0)),“”)


编辑

对于结构化表引用:

=IF([@Col4]<>"",INDEX([Col1],MATCH([@Col4],[Col2],0)),"")
=IF([@Col4]”,索引([Col1],匹配([@Col4],[Col2],0)),“”)

您想要的公式是:

=IF(D1<>"",INDEX(A:A,MATCH(D1,B:B,0)),"")
=IF(D1“”,索引(A:A,匹配(D1,B:B,0)),“”)


编辑

对于结构化表引用:

=IF([@Col4]<>"",INDEX([Col1],MATCH([@Col4],[Col2],0)),"")
=IF([@Col4]”,索引([Col1],匹配([@Col4],[Col2],0)),“”)

如果稍微重新排列工作表,则可以使用
VLOOKUP()
函数。我交换了
A
B
(第一列和第二列)以得出以下结论:

  --- 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()
总是在第一列中查找匹配项。

如果稍微重新排列工作表,则可以使用
VLOOKUP()
函数。我交换了
A
B
(第一列和第二列)以得出以下结论:

  --- 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()
总是在第一列中查找匹配项。

您是否尝试过
If()
语句?请向我们展示您尝试过的任何公式。您是否尝试过
If()
语句?请向我们展示您尝试过的任何公式。我有一种感觉,@m5seppal将不得不转换为感谢,这帮助我实现了这一目标!我的Excel不接受那些带有逗号的公式,而是需要分号,但在其他情况下这是可行的。另外,我以前从未听说过结构化表引用,这对我帮助很大!:)你能帮我查一下我的后续问题吗:我有一种感觉,@m5seppal必须翻译成感谢,这帮助我完成了这项工作!我的Excel不接受那些带有逗号的公式,而是需要分号,但在其他情况下这是可行的。另外,我以前从未听说过结构化表引用,这对我帮助很大!:)你能帮我查一下我的后续问题吗: