【发布时间】:2013-02-04 15:48:16
【问题描述】:
我有一列包含样本数据(重复):
A10
B20
C30
A10
C30
C30
...
我想用其他列中的 ID 替换每个值:
A10 - ID1
B20 - ID2
C30 - ID3
我必须有很多 id 才能用普通替换来做到这一点。有没有一种棘手的方法可以做到这一点,或者我应该使用其他技术(比如以某种程序语言移动数据并在那里进行替换)。
提前谢谢你。 乔罗
【问题讨论】:
我有一列包含样本数据(重复):
A10
B20
C30
A10
C30
C30
...
我想用其他列中的 ID 替换每个值:
A10 - ID1
B20 - ID2
C30 - ID3
我必须有很多 id 才能用普通替换来做到这一点。有没有一种棘手的方法可以做到这一点,或者我应该使用其他技术(比如以某种程序语言移动数据并在那里进行替换)。
提前谢谢你。 乔罗
【问题讨论】:
您可以在没有任何 VBA 的情况下使用 VLOOKUP 完成此操作。将所有键/值对放在一个 2 列数组中,例如 D1:E3。假设你的数据列从 A1 开始,把这个公式放在 B1 列:
= VLOOKUP(A1, $D$1:$E$3, 2, FALSE)
然后复制粘贴下来。
如果不是所有原始值都映射到新 ID,VLOOKUP 将返回“#N/A”。如果你想保留这些的原始值,你的公式会有点复杂:
= IF(ISNA(VLOOKUP(A1, $D$1:$E$3, 2, FALSE), A1, VLOOKUP(A1, $D$1:$E$3, 2, FALSE)))
【讨论】:
这是一个用于搜索一系列值/字符串并将它们替换为一组新值/字符串的宏:
那里有一个样本表,你也可以用来测试它。
按原样使用宏:
【讨论】: