【问题标题】:Vlookup with multiple duplicate values具有多个重复值的 Vlookup
【发布时间】:2013-04-03 22:41:55
【问题描述】:

我正在尝试在 2 个电子表格之间进行 vlookup。其中一个电子表格有多个重复项...例如:

我在电子表格 1 中:

Column A              Column B Column C Column D Column E
---------------------------------------------------------

cs_no             Alarmnet1 Alarmnet2 Alarmnet3 Alarmnet4
---------------------------------------------------------

    FLA013791    
    FLA013791
    FLA013791
    FLA013791
    FLA017564
    FLA017564
    FLA018638
    FLA018638
    FLA018638
    89517190
    89517190
    89517191
    89517192
    89517192
    FLA012274
    FLA012274
    FLA013334
    FLA018635
    FLA018635

我必须将 Alarmnet 代码放在第二张纸上所需的空格中

第二个我有:

Column A Column B
-----------------

cs-no                    ItemNum
-----------------------------------


    89517190       AN547
    89517191       AN547
    89517192       AN547
    89517193       AN583
    89517194       AN583
    89517195       AN583
    FLA012274      AN547
    FLA013334      AN547
    FLA013791      ALARMNETGTC3
    FLA013791      AN548
    FLA016009      AN548
    FLA016927        AN548
    FLA017564        ALARMNETGTC3
    FLA017564        AN548
    FLA017974        AN548
    FLA018075        AN548
    FLA018316        AN548
    FLA018635        AN547
    FLA018636        AN547
    FLA018637        AN547
    FLA018638     ALARMNETGTC3
    FLA018638     AN549
    FLA018639     AN547
    FLA018640       AN547
    FLA018641       AN547
    FLA018642     AN547
    FLA018644       AN547
    FLA018645       AN547
    FLA018647       AN548
    FLA018647       AN560
    FLA018647       AN564
    FLA018648     AN547
    FLA018649       AN547
    FLANT10897      AN547
    FLANT10897      AN554
    FLT43270      AN547

如果有人可以帮助我......真的很酷......

【问题讨论】:

  • 不...这个有不同的值...我的有重复...
  • 你是通过cs-no和itemNum查找的吗?
  • 您可以根据此处发布的答案和我放置的链接构建解决方案。
  • 是的,我的答案的唯一问题是,如果 OP 无法将列添加到第二个电子表格,它将无法正常工作,并且需要数组函数或一些 VBA 代码才能通过它。

标签: excel duplicates vlookup


【解决方案1】:

我在这里使用的一种方法 -

在副本的左侧放置一个公式并在其上附加一个数字

=If(B2=B1,B2+(A1+"1"),B2+"1")

基本上,公式说明如果值是重复的,则将其加 1,否则将其作为附加到值末尾的第一个值。

并更改您的 vlookup 以处理每个值,如果没有找到辅助值,则为 null

=If(IsError(Vlookup(A1+Right(B$1, 1),'Sheet2'!A:C,3,false))=true,"",Vlookup(A1+Right(B$1, 1),'Sheet2'!A:C,3,false))

Right(B$1, 1) 将数字从 AlarmNet1 的末尾或任何其他位置拉出,以查找第 1 到第 4 个值。 B1 应该指向那个单元格并且也是一个静态引用。

如果这对您的情况不起作用,请告诉我,我可以调整答案。

【讨论】:

  • 如果我有数百个副本怎么办?我是否必须将该代码放在每个重复项的前面?我也可以把它放在 single 前面一次吗?
  • 好吧,在你的第一张表中,你定义了要报告的重复次数,并且以某种方式你必须定义你想看到多少,所以如果你有数百个重复,你仍然需要一个列标题为此,是的。我会调整我的答案以适应数百人。
  • 您愿意使用 vba 宏吗?我可以很容易地写一个来做到这一点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-20
  • 1970-01-01
  • 1970-01-01
  • 2020-09-07
  • 1970-01-01
  • 2014-11-13
相关资源
最近更新 更多