使用Excel为相同的查找值返回唯一值

我正在尝试使用VLookup将“购买号码”匹配到特定的“发票号码”。 为了做到这一点,我有几个关于购买的标识,我把它们放在一起,拿出一个特殊的“Concat ID”。 然后,我有一个发票号码列表也具有相同的标识符列表来创build相同的“Concat ID”。

我遇到的问题是,这套标识符并不是唯一的(也就是说一次购买10台计算机可能会多次发生,因此它多次出现在我的列表中)。 因此,当我使用Vlookup来匹配2个ID时,每次发现Concat ID(这只是该Concat ID的第一个出现)时,它总是给我相同的购买编号。

由于没有其他数据可以进行匹配(因为发票date和购买date并不总是相同的date,甚至接近彼此),我只是想确保每个发票号码具有唯一的购买号码。

我不确定它是否可能,但我希望能够执行vlookup,然后跳到下一次findConcat ID,不允许重复,但这对我来说是不可行的。 因为这是一个16000行的文件,任何洞察力非常赞赏。

我相信这不是最清楚的解释,所以我附上了两个例子的截图,以防有人察觉。 我一直在使用一个简单的VLookup,但我愿意尝试VBA或任何其他人都有的build议。 一如既往,先谢谢Stack社区提供任何帮助/见解!

购买信息

尝试与发票信息匹配

我仍然不确定你对ConcatID购买号码有什么期望,但是要返回与你的问题中描述的方式生成的特定ConcatID相匹配的购买号码,以及在下列情况下“跳到下一个”相同的ConcatID的,你可以做如下的事情;

  • 请注意,我从原始数据中创build了一个表,并使用结构化引用。 与引用整个列相比,这样可以处理的数据量要less得多,并且还可以在添加/删除行时自动调整范围
  • 另请注意,如果您的表格在第一行以外开始,则需要在公式中进行调整才能解决此问题。

 G2: =INDEX(PurchaseTbl[#All],AGGREGATE(15,6,1/1/(PurchaseTbl[Concat ID]=F2)*ROW(PurchaseTbl),COUNTIF($F$1:F2,F2)),7) 

并根据需要填写

在这里输入图像说明

我有一个非常愚蠢的解决scheme,但也许会有所帮助。

使用此公式为每一行创build一个唯一的ID。 它将统计表中以前使用过的特定Concat ID次数,然后将其附加到最后。 您可以使用Concat ID Unique来获取正确的Purchase Number

=D2 & "_" & (COUNTIF(D$1:D1, "=" & D2))

在这里输入图像说明