【问题标题】:Excel column fill up from another excel by macro or formulaExcel 列通过宏或公式从另一个 excel 填充
【发布时间】:2022-01-09 18:01:45
【问题描述】:

我有两个不同的 Excel 表。一张excel表中的一些值我需要比较一些列,如果它们匹配,则需要将这些值复制到另一张excel表上。有很多行无法手动填充,所以我正在考虑是否可以使用任何公式来复制。

示例:

SHEET1

SHEET2

例如,我需要根据 Sheet1 中的匹配组合填充 Sheet2 中的橙色列 (N)。如果 C 列和 K 列与两个工作表中的值匹配,那么我需要将 N 列的值从工作表 1 复制到工作表 2。

PS:两张表中的行顺序不同。

添加一些excel示例以便于输出。

Sheet1
    Item_code   Item_id Item_name
    AB          011     ABC
    CD          012     PQR
    EE          045     AAS
    DF          015     AAF
    SD          032     DDF
    FG          078     KKJ
    TY          013     NJY

Sheet2
Item_code   Item_id Item_name
TY          013 
SD          032     
CD          012     
DF          015     
AB          011     
FG          078     
EE          045 

【问题讨论】:

  • 我建议通过表引用使用 INDEX/MATCH。显示的表格的名称是什么?
  • 嗨,您能否详细说明您的意思。举一些例子。因为我在这里添加了一些示例代码

标签: excel vba excel-formula


【解决方案1】:

=IFERROR(INDEX(SHEET1!N:N,MATCH(1,(SHEET1!C:C=@C:C)*(SHEET1!K:K=@K:K),0)),"") 会给你想要的结果。但最好使用表引用(但我们不知道表名)。

旧版本的 Excel 需要使用 ctrl+shift+enter 确认此公式

【讨论】:

  • 你的公式不起作用,你能拿我的示例代码制作你的表格,并给一个截图。正如我所尝试的那样。它说无效的功能。
  • 您可能没有 Office365。然后你需要在N2中这样输入,由ctrl+shift+enter确认:=IFERROR(INDEX(SHEET1!N:N,MATCH(1,(SHEET1!C:C=C2)*(SHEET1!K:K=K2),0)),"")并向下拖动公式。
  • 好的,谢谢。它现在可以工作了。
【解决方案2】:

如果我正确理解了这个问题,那么这里的 IF 语句就足够了吗? =IF(AND($C1=Sheet1!$C1,$K1=Sheet1!$K1),Sheet1!$N1,"")

【讨论】:

  • 您能否按照我的示例编辑您的代码。我添加了一个示例代码,可以复制粘贴到任何 excel 中?
  • 还有一点,行序列的顺序不同,所以 sheet2 中的 C1 可能与 sheet1 中的 C1 不同。但在 C 列中,该值将存在。
  • 对,您似乎想要创建一个索引。您可以通过创建一个新工作表,然后使用 =UNIQUE(Sheet1!C:C) 并使用 VLOOKUP 将它们与列 K 值匹配来做到这一点。从那里,您可以在新工作表上再次执行 VLOOKUP 以将它们全部匹配在一起。
猜你喜欢
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
  • 2012-11-22
  • 1970-01-01
  • 1970-01-01
  • 2021-05-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多