【问题标题】:Excel - Replace matching column values based on another column setExcel - 根据另一列集替换匹配的列值
【发布时间】:2017-03-04 23:16:23
【问题描述】:

我想知道是否有办法将一列中的值替换为另一列集中的新值。就像自动搜索和替换仅限于一个列,其中搜索/替换数据由另一个 excel 文件中的列集决定。具体情况如下。

在一列中,我有类似这样的旧用户 ID,无法对其进行排序,因为它是用于导入网站的 CSV,并且它具有重复项,每行代表新的论坛主题和回复等:

7766
7779
7781
7782
7791
7792

我需要用新的正确值替换这些值。 我在另一个 excel 文件中有另外两列,其中旧成员 ID 号旁边是相应的新成员 ID 号,按升序排列,如下所示:

7066    637
7067    638
7068    639
7069    640
7070    641
7071    642
7072    643

主题/线程文件我手动为所有成员使用了搜索和替换功能,这需要很长时间......我想知道是否有一种自动方法可以为回复文件执行此操作?它具有更多的数据行。 谢谢

【问题讨论】:

    标签: excel


    【解决方案1】:

    您尝试过 vlookup 吗? =VLOOKUP(C2,[Book2]Sheet1!$B$2:$C$8,2)

    [Book2] 是您正确或新 ID 所在的位置。

    【讨论】:

    • 我已经尝试过 vlookup,但不确定如何使用参数,因为当我这样做或使用你的公式时,我得到了错误的结果。所以简单来说,如果第一张纸上的 G 列代表作者 ID(第 1 行没有使用,因为它是列标题),第二张纸上的 A 列代表匹配数据,第二张纸上的 B 列代表重置价值。我将如何制定?谢谢!编辑,我认为这有效! =VLOOKUP(G2,Sheet1!A:B,Sheet1!A:A,2) 虽然我不确定范围是什么.. 但希望这能解决问题
    • 在 95% 的情况下,您希望使用 false 或 0 作为范围参数。这会强制 vlookup 返回完全匹配或错误。
    • 使用 true 或 1 将返回数据集中最接近的匹配项。
    • 为了纠正自己,=VLOOKUP(G2,Sheet1!A:B,2,FALSE) 对我来说是有效的。感谢@WCoaster 的帮助!
    猜你喜欢
    • 2016-11-22
    • 2016-12-05
    • 1970-01-01
    • 2019-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-03
    • 1970-01-01
    相关资源
    最近更新 更多