【问题标题】:MS Excel 2012 - Replace value if equal to otherMS Excel 2012 - 如果等于其他值,则替换值
【发布时间】:2013-02-04 15:48:16
【问题描述】:

我有一列包含样本数据(重复):

A10
B20
C30
A10
C30
C30
...

我想用其他列中的 ID 替换每个值:

A10 - ID1
B20 - ID2
C30 - ID3

我必须有很多 id 才能用普通替换来做到这一点。有没有一种棘手的方法可以做到这一点,或者我应该使用其他技术(比如以某种程序语言移动数据并在那里进行替换)。

提前谢谢你。 乔罗

【问题讨论】:

    标签: excel replace


    【解决方案1】:

    您可以在没有任何 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)))
    

    【讨论】:

      【解决方案2】:

      这是一个用于搜索一系列值/字符串并将它们替换为一组新值/字符串的宏:


      Mass Replace


      那里有一个样本表,你也可以用来测试它。

      按原样使用宏:

      1. 创建一个名为 Categories 的新工作表
      2. 将要查找的值放在 A 列中
      3. 将替换值放在 B 列中
      4. 在屏幕上显示您的主工作表(示例工作表称为数据
      5. 运行宏

      【讨论】:

        猜你喜欢
        • 2020-11-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多