【问题标题】:Vlookup/index/match with two datasets on two sheetsVlookup/index/match 与两张纸上的两个数据集
【发布时间】:2014-05-22 18:43:58
【问题描述】:

我在两个工作表中有两个数据集。第一个工作表包含销售订单号(Sheet1:A 列)和其他数据。第二个工作表包含销售订单号(Sheet2:A 列)和产品详细信息。

在 sheet1 上,如果订单的单位数大于 1,我必须手动复制销售订单号(插入另一行)。然后我需要从 sheet2 中获取该特定订单的每个单位的产品详细信息数字。但是在 sheet2 中,一个销售订单号有多个产品。

如果一个销售订单号有多个产品,我如何创建查找/匹配以获取每个销售订单号的产品详细信息而不复制产品详细信息?

我知道一个简单的 vlookup 函数会返回它首先匹配的值,这不是我想要的。

示例:Sheet1

Column A (Sales Order#)      Column B (Quantity)     Column C (Product)  Column D (Serial Number)
0417436GPCP                  1
0417436GPCP                  1
0413412FACY                  1
0413412FACY                  1

Sheet2

Column A (Sales Order#)    Column B (Product)    Column C (Serial Number)

0417436GPCP                Door                  A13251
0417436GPCP                Window                A41315
0415835PTVX                Door                  C3431414
0412815PAIB                Door                  D1441412   
0413412FACY                Window                B41141
0413412FACY                Lock                  A4114151
0529834RWNY                Lock                  152141

理想输出

Column A (Sales Order#)  Column B (Quantity)  Column C (Product)  Column D (Serial Number)

0417436GPCP              1                    Door                A13251
0417436GPCP              1                    Window              A41315
0413412FACY              1                    Window              B41141
0413412FACY              1                    Lock                A4114151

【问题讨论】:

  • 请使用“代码”{} 按钮格式化您的示例数据,使其更具可读性。为你做了第一个块...
  • 排序不一致,Sheet2 中有很多销售订单号,而 Sheet1 不需要。
  • 基本上,我需要公式为一个查找值返回多个对应的值

标签: excel indexing match vlookup


【解决方案1】:
  • 第 1 步:在 Sheet1 中,在 A 列之前插入一个新列(这会将原来的 A 列向右移动,使其成为 B 列
  • 第 2 步:在新的 A 列中,插入公式 =COUNTIF($B$2:B2,B2) 并将公式向下拖动到工作表的最后一行。
  • 第 3 步: 在 Sheet2 中重复第 1 步和第 2 步,调整 COUNTIF 公式标准以反映要计算的列。在这种情况下,公式应该是 =COUNTIF($B$2:B2,B2)
  • 步骤 4: 在 Sheet1 的 D 列(原 C 列)中,插入以下公式;

    =IFERROR(INDEX(Sheet2!$C$2:$C$8, MATCH($B2&"-"&$A2,INDEX(Sheet2!$B$2:$B$8&"-"&Sheet2!$A$2: $A$8, 0), 0)),"")

  • 第 5 步:在 Sheet1 中,在 E 列(原 D 列)中,插入 D 列中的公式,并调整第一个索引公式标准以反映 Sheet2 中的列;

    =IFERROR(INDEX(Sheet2!$D$2:$D$8, MATCH($B2&"-"&$A2,INDEX(Sheet2!$B$2:$B$8&"-"&Sheet2!$A$2: $A$8, 0), 0)),"")

  • 第 6 步:向下拖动每列的公式

`

【讨论】:

    猜你喜欢
    • 2019-11-24
    • 1970-01-01
    • 2018-11-21
    • 2018-06-29
    • 1970-01-01
    • 2016-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多