索引匹配,而不是使用vlookup

时间:2018-11-24 20:54:45

标签: excel match vlookup indexof

我有两个csv文件。 第一个csv

Id Name Price Description 
1    X    2     lalala
2    Y    4     nanana
3    Z    6     papapa

和另一个:

Id   Description 
2     here
6     here 
1     here

如果ID相同,我想替换第一个csv文件中的描述,如果不相同,则保存第二个csv中描述的先前值。我想通过索引匹配功能做到这一点,最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

对于此类查询,最好的方法是自己尝试,即使您一开始失败,但即使失败或成功也可以学习,最好的方法是在互联网上搜索索引匹配项并尝试在您的数据上实现。

但是正如您在这里一样,我会尽力弄清楚如何完成

匹配函数在一个范围内以及找到它时找到一个值;它将返回其在该范围内的位置(如果我们提供了列范围,则为相对行号)

索引功能可以用于该返回位置。我们可以给索引一个范围并为其提供位置。它从提供的范围在此特定位置返回一个值。 诀窍是;在这种情况下,我们将提供不同的列,它将返回该列中的数据

enter image description here

我将解释一行(#8),其他所有行都相同

  • 匹配结果B8:正在使用match()在A8中搜索ID 范围A2到A4,当找到该范围时,它将返回 该范围内的位置是2
  • 索引结果C8:它正在使用索引function()来检索值 在范围D2的位置2(由上一行的匹配返回) 到D4,因为它是nanana,它将返回该值。

D8至D10是相同的公式,但组合在一起

单元格中的公式如下

B8: =MATCH(A8,$A$2:$A$4)
C8: =INDEX($D$2:$D$4,B8)
D8: =INDEX($D$2:$D$4,MATCH(A8,$A$2:$A$4))