excel - Excel宏根据匹配两个值(行/列)查找单元格并替换单元格中的值
问题描述
我在尝试解决我遇到的问题时遇到了一些麻烦。我有两张 Excel 表格,我想从一张表格查找或索引另一张表格的值,然后在找到单元格后替换单元格的值。
我认为也许更好的描绘方式是我有一个 Excel 表“Data1”,它由三列和多行数据组成。
表 1 示例:
A B c
1 | Header 1 | Header 2 | Header 3 |
2 | -------- | -------------- |----------|
3 | 123456 | AABB |12AB12AB |
4 | 678910 | BBCC |34CD34CD |
我有第二个 Excel 表“Data2”,它由多列和多行数据组成。
示例表“Data2”:
A B C D E
1 | Header1 | BBCC | CCDD | AABB | EEFF |
2 | -------- | -----------|----------|---------|---------|
3 | 123456 | ValueX | ValueY | ValueZ | ValueB |
4 | 678910 | ValueXX | ValueXY | ValueYY | ValueZZ |
我想做的是运行一个宏:
首先,将工作表“Data1”中的值 A3 (123456) 与工作表“Data2”中的 A 列中的相同值匹配
其次,将工作表“Data1”中的值 B3 (AABB) 与工作表“Data2”中第 1 行中的相同值匹配
第三,将相应单元格中的值替换为工作表“Data1”单元格 C3 中的值。
然后,循环并替换所有单元格,直到工作表“Data1”中的数据行结束。
然后工作表“Data2”中的值应更改为:
A B C D E
1 | Header1 | BBCC | CCDD | AABB | EEFF |
2 | -------- | -----------|----------|----------|---------|
3 | 123456 | ValueX | ValueY | 12AB12AB | ValueB |
4 | 678910 | 34CD34CD | ValueXY | ValueYY | ValueZZ |
请让我知道您的想法,我希望我尽可能简单地列出要求。感谢您的时间和支持,以帮助我解决这个问题。干杯
解决方案
如果您的 Excel 版本支持,XLOOKUP
那么您可以设置具有相同列和行标题的工作表“Data3”,并将此功能用于数据单元格。
=XLOOKUP($A3&B$1,Data1!$A$3:$A$4&Data1!$B$3:$B$4,Data1!$C$3:$C$4,Data2!B3)
如果匹配,它会获取 data2 中的数据并用 data1 中的数据覆盖它。
推荐阅读
- css - 溢出-x:滚动;不关心左侧的溢出
- python - 即使我将字符串方法传递给参数python,它也不起作用
- flutter - 为什么使用
在显示对话框之后? - c - c中的棋盘
- reactjs - 在 Reanimated 2 中设置另一个值后立即设置值
- python - 如何在python中处理k个循环
- cucumber - 如何隐藏黄瓜报告中的 karate-config.js 数据?
- javascript - 如何在 13 位数字后的 num 之间添加 CNIC 中的破折号?我想要 13 位之后的破折号 不是 13 位之前
- c# - 如何在实体框架迁移的“一半”多对多上显式设置索引或外键的名称?
- sql - SQL聚合按单列的值