我有一个产品列表 excel 表和类别列表 excel 表。
在类别 excel 中有 cat_id 和 cat_name 一个对应另一个。
我需要对每个 cat_id 进行查找和替换,并将产品列表中的数字替换为 cat_name。
我将如何在excel中做到这一点?
我认为您无法通过 Excel 公式一步实现您想要的。但是,您可以使用以下方法。
假设调用了产品列表表,而调用ProductList
了另一个表CategoryList
。另外,假设工作表上的cat_id
项目ProductList
在列中,工作表上A
的cat_id
和cat_name
列CategoryList
在列A
和中B
。
首先,您必须确保工作表上的项目CategoryList
按升序排序cat_id
。然后,在工作表上空列的第一行的单元格中ProductList
(假设是 cell Q1
),输入以下公式:
=LOOKUP($A1,CategoryList!A:A,CategoryList!B:B)
然后选择单元格Q1
并将右下角一直向下拖动,直到工作表中数据的末尾。在此之后,列Q
将包含所需的值。
A
要将列中的原始值实际替换为 中的值Q
,您需要复制整个列Q
并将“选择性粘贴”到列A
中,在其中选择单选按钮“值”。之后,您可以删除临时列Q
。
如果您想cat_id
对 sheet 上不存在的项目保持稳健CategoryList
,您可以添加一个检查,使公式如下(在一行上):
=IF($A1<>LOOKUP($A1,CategoryList!A:A,CategoryList!A:A),
"Not Found",LOOKUP($A1,CategoryList!A:A,CategoryList!B:B))
Powershell 脚本扩展 PSExcel 具有一些连接功能:
PSExcel:https ://github.com/RamblingCookieMonster/PSExcel
方法:
Join-Worksheet -Path
我已经尝试搜索并成功替换。也可以在这里参考我的答案: Perform find & replace in excel doc in C#