excel - 索引匹配,而不是使用 vlookup
问题描述
我有两个 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 描述中的前一个值。我想通过索引匹配功能做到这一点,最好的方法是什么?
解决方案
对于此类查询,最好的方法是自己尝试,即使您一开始失败,但即使您失败或成功,您也会学习,最好的方法是您在互联网上搜索索引匹配并尝试实现它你的数据。
但是既然你在这里,我会尽量说明它是如何完成的
匹配函数在一个范围内查找一个值以及何时找到它;它将返回其在该范围内的位置(如果我们提供了列范围,则为相对行号)
可以在返回的位置上使用索引函数。我们可以给索引一个范围并为其提供一个位置。它从提供的范围返回此特定位置的值。诀窍是;在这种情况下,我们将提供一个不同的列,它将从该列返回数据
我将解释一行(#8),所有其他行都相同
- 匹配结果 B8:它使用 match() 在 A2 到 A4 范围内搜索 A8 中的 id,当它找到该范围时,它返回它在该范围内的位置,即 2
- 索引结果 C8:它使用索引函数()从 D2 到 D4 范围内检索位置 2 处的值(由前一行中的匹配返回),因为它是 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))
推荐阅读
- node.js - 如何通过电子邮件从 Firebase 存储 ObjectMetadata 发送文件
- r - 使用 geom_text() 在 geom_polygon() 中显示文本
- c# - Power Shell 命令输出未显示在 ASP.net 文本框中
- maven - 如何防止/删除 gitlab maven 存储库中的旧包
- next.js - Next.js 生产 js 包未缩小
- b-tree - 模块`github.com/google/btree`中的`copyOnWriteContext`是什么意思?
- javascript - 使用 AJAX 在 HTML 下拉列表中显示 python 列表的值
- javascript - JavaScript中的正则表达式模式匹配?
- python - 如何创建实例并将实例添加到 python 中的另一个类
- python - 使用 strptime 的日历周数到日期异常