【问题标题】:Add values from one column to another based on a reference [Excel] [closed]根据参考将一列中的值添加到另一列[Excel] [关闭]
【发布时间】:2020-02-01 16:24:15
【问题描述】:

我正在尝试找出解决此问题的最佳方法;

我有两张 Excel 表格。
表 1
上校 A 上校 B
商品编号 售价 此 Sheet1 有大约 10,000 个条目。

表 2
上校 A 上校 B
商品编号 售价
此 Sheet2 有大约 5,000 个条目。这里的 5,000 个条目与 Sheet1 具有相同的项目编号,但我需要在 sheet1 中更新不同的售价。

所以我基本上想在 Sheet1 中找到 Sheet2 的所有 5,000 件商品,然后用 Sheet2 中的值更新 Sheet1 中的售价。

表 1
-0001 45.45
-0002 34.23
-0003 23.23
-0004 37.32

表 2
-0001 56.34
-0002 95.43

Sheet1 最终应该是这样的;
-0001 56.34
-0002 95.43
-0003 23.23
-0004 37.32

**附加条款;两张表中的记录与我上面显示的顺序不同。

他们更像;
表 1
-0001 45.45
-0003 23.23
-0002 34.23
-0004 37.32

表 2
-0002 95.43
-0001 56.34

表 1

表 2

【问题讨论】:

  • 这可以通过index match 组合在辅助列中轻松完成。
  • 您可以使用 forumla 检查表 2 中的商品编号是否在表中,如果是,则查看它并返回价格,如果不存在则从 shhet1 中选择价格。然后只需将值复制并粘贴到 sheet1 列 B : ) 公式看起来很接近: if(vlookup(itemno.1, $blocked range of sheet2 $,2,False)=True, vlookup(itemno.1, $blocked range of sheet2 $,2,False),itemno1price)

标签: excel vba excel-formula excel-2010


【解决方案1】:

如果您将其放在 sheet1 列 C(或任何空列)中并向下拖动填充手柄,它将为您提供更新后的价格:

=IFNA(INDEX(Sheet2!B:B,MATCH(Sheet1!A1,Sheet2!A:A,0)),"")

然后就可以合并两列了。

编辑 合并两者的一种简单方法是像这样更新公式:

=IFNA(INDEX(Sheet2!B:B,MATCH(Sheet1!A1,Sheet2!A:A,0)),O1)

再次向下拖动,选择整列并将值粘贴到您的价格所在的 B 列。

【讨论】:

  • 在我的工作表 2 中,项目编号在 A 列中,价格在 B 列中,但是,在我的工作表 1 中,项目编号在 A 列中,但价格在 O 列中。
  • Sheet2!B:B 更改为Sheet2!O:O,它也应该这样做。
  • @mysamza 你没有得到任何点击吗?这是不可能的,至少它应该填充了 sheet1 列 B 中的值。文本类型应该不是问题。你确定你有正确的列字母吗?你有隐藏的列吗?您是否将填充手柄向下拖动到数据的末尾?
  • 我已经在原始帖子正文中添加了我的 Sheet1 和 Sheet2 的屏幕截图。
  • 我看不到 sheet1 中的产品编号与 sheet2 中的产品编号之间有任何相关性。您确定存在格式相同的匹配值吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-15
  • 2021-03-23
相关资源
最近更新 更多