【问题标题】:Advanced Find And Replace In ExcelExcel中的高级查找和替换
【发布时间】:2017-02-01 15:30:37
【问题描述】:

我有一个产品列表 excel 表和类别列表 excel 表。

在excel类别中有cat_id和cat_name一一对应。

我需要对每个 cat_id 进行查找和替换,并将产品列表中的数字替换为 cat_name。

我将如何在 excel 中执行此操作?

【问题讨论】:

标签: excel replace


【解决方案1】:

我认为您无法通过 Excel 公式一步实现您的目标。但是,您可以使用以下方法。

假设产品列表表名为ProductList,另一个名为CategoryList。另外,假设工作表ProductList 上的cat_id 项目位于A 列中,工作表CategoryList 上的cat_idcat_name 列位于AB 列中。

首先,您必须确保工作表CategoryList 上的项目在cat_id 上按升序排序。然后,在工作表ProductList(假设是单元格Q1)上空列的第一行的单元格中,输入以下公式:

=LOOKUP($A1,CategoryList!A:A,CategoryList!B:B)

然后选择单元格Q1 并将右下角一直向下拖到工作表中数据的末尾。在此之后,Q 列将包含所需的值。

要将A 列中的原始值实际替换为Q 中的值,您需要复制整个Q 列并将“选择性粘贴”到A 列中,您可以在其中选择单选按钮“值” .之后,您可以删除临时列Q

如果您想对工作表CategoryList 上不存在的cat_id 项目保持稳健,您可以添加一个检查,使公式如下(单行):

=IF($A1<>LOOKUP($A1,CategoryList!A:A,CategoryList!A:A),
    "Not Found",LOOKUP($A1,CategoryList!A:A,CategoryList!B:B))

【讨论】:

  • 当我拖动黑色方块虽然它改变了所有的数字时,我把它全部工作在一张纸上。我必须定义单元格长度才能让它工作。我使用开放式办公室=LOOKUP(A1,B1:B210,C1:C210) 当我拖动方块时它变成 =LOOKUP(A2,B2:B211,C2:C2110) 并且它提出了一个问题..我只需要 a1 改变不其他的。我怎样才能拖动正方形并且只有一列增量?
  • 如果你希望你的行号在拖动黑色方块时保持不变,你应该在你想保持不变的数字之前添加一个 $ 符号,如 =LOOKUP(A1,B$1: 210 加元,1 加元:210 加元)。
【解决方案2】:

Powershell 脚本扩展 PSExcel 有一些加入功能:

PSExcel: https://github.com/RamblingCookieMonster/PSExcel

方法: Join-Worksheet -Path

我已尝试搜索并成功替换。 另请参阅我的回答: Perform find & replace in excel doc in C#

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-22
    • 2013-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-12
    相关资源
    最近更新 更多