0

一段时间以来,我一直在尝试匹配两个不同的数据电子表格。我正在尝试将美元金额与对应于美元金额的匹配名称进行匹配。我继续并为每一行分配了唯一标识符,认为这可以帮助我匹配金额,但是当有两个或多个相同且名称相同的美元金额时,我的问题就来了..无论如何要获得第二个身份证出现?

公式表:(我需要第二个 112 拉 113 .. 反正那可能吗??

  A        B            C          D             E             F              G
IDSheett2 IDsheet1  NameSheet1 NameSheet2   Item       AmountSheet1     AmountSheet2
  554      112      Jim           Jim            Hat          25             25
  555       112      Jim        Jim          Shoe         25                 25

B2 列中的公式:它应该通过表 1 和表 2 并自动填写匹配的 id - 与名称和金额匹配的 id。

=IFERROR(INDEX(sheet1!$C$2:$C$1000,MATCH(1,INDEX((sheet1!$A$2:$A$1000=D1)*(sheet1!$B$2:$B$1000=G1),0,1),0)),"")

Sheet2 中的数据:A= ID B= 名称 C= 项目名称(ID 基本上是第 1 行 = 1, 2 = 2..)

A   B   C   D
554 Jim Hat 25
555 jim Shoe25

Sheet1 中的数据:A= 名称 B= 金额 C= 分配的 ID(ID 基本上是第 1 行 = 1, 2 = 2..)

A      B  C
Jim   25  112
Jim   25  113

我也对其他想法持开放态度。谢谢您的帮助。

已更新::: 基于评论

我没有尝试创建数据库.. 我有两组数据,我正在尝试比较和匹配类似的项目(我获取匹配的项目并将其通过电子邮件发送给一群人)。我不得不更改一些名称,因为这与工作有关,但总体概念应该保留。

我不可能知道传入的电线上有多少个名字,以及我预期的电线列表上有多少个名字。我在每一页上为每行分配了唯一的 ID,因此我可以执行 iferror/index/match 以从唯一行拉到主页。

我试图完成什么:

我有两组数据:Sheet1 是传入的电汇(它给了我一个名称和一个金额)Sheet 2 是帐户名称,Item 它的用途和预期金额。

我正在尝试匹配公式表上的名称和数量,但我遇到了两个具有相同名称和相同数量的项目的问题,仅拉动它遇到的第一个 ID 号,这成为一个问题,因为我有另一个 vba将删除多个 ID 的代码,所以我知道我没有计算两次。

我的最后一页应该是:

   ID sheet2   IDsheet1     Name       Item(sheet2)      Amount
    554           112         JIM       Hat            25
    555           113         JIM        Shoe           25

但现在 113 id 不会拉,它只会是 112 两次(最终会被删除,所以我会错过第二场比赛)

..+ 一切正常,除非有两个相同名称和相同数量的项目 + .. 这是我唯一一次遇到这个问题。

是否有任何代码或过程可以让工作表意识到它已经使用了 112 的 ID,然后自动填写 113 的 ID(所以它不会被我的 vba 代码删除)?

4

1 回答 1

2

在您的公式表中,B2 并复制下来:

=IFERROR(INDEX(Sheet1!$C$2:$C$1000,MATCH(1,INDEX((Sheet1!$A$2:$A$1000=D2)*(Sheet1!$B$2:$B$1000=G2)*(COUNTIF(B$1:B1,Sheet1!$C$2:$C$1000)=0),),0)),"")
于 2013-09-30T18:13:24.447 回答