Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 索引匹配,而不是使用vlookup_Excel_Match_Vlookup_Indexof - Fatal编程技术网

Excel 索引匹配,而不是使用vlookup

Excel 索引匹配,而不是使用vlookup,excel,match,vlookup,indexof,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文件中的描述;如果ID不相同,则保存第二个csv文件中描述的上一个值。我想通过索引匹配功能了解这一点,最好的方法是什么

我有两个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文件中的描述;如果ID不相同,则保存第二个csv文件中描述的上一个值。我想通过索引匹配功能了解这一点,最好的方法是什么?

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

但既然你在这里,我将尽力说明这是如何做到的

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

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

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

  • 匹配结果B8:它使用Match()在中的A8中搜索id 范围A2到A4,当它找到该范围时,返回其 位置在2的范围内
  • 索引结果C8:它使用Index函数()检索值 在距离范围D2的位置2(通过前一行中的匹配返回) 到D4,因为它是纳纳纳,它将返回
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))

Index将使用目标范围ie列,match使用查找范围-查看vlookup及其索引列和结果列。此网站上有使用Index和match的示例-值得查找…可能需要明确的是,Index和match的范围长度必须相同。。。