【问题标题】:Return multiple rows with various column data using Vlookup or INDEX-MATCH使用 Vlookup 或 INDEX-MATCH 返回具有各种列数据的多行
【发布时间】:2016-05-09 03:13:57
【问题描述】:

现在我有一个包含 2 张工作表的 excel 文件,我需要根据一个标准将一些数据从 sheet1 提取到 sheet2 - sheet1 的 A 列中的文本包含来自 sheet2 的 A2 的某些文本字符串。同时,我还必须从找到文本字符串的那些行中提取其他列的数据。但是,Vlookup 只返回第一个实例。由于该文件是机密文件,因此我为此创建了一个模型。

表 1

Classes Taken   Name    Gender  Age

Math,Physics,Chemistry, Literature  Joseph  Male    16

Chinese, History, Philosophy, Politics  Alice   Female  17

Philosophy, Math, Physics   Erica   Female  16

Chinese, Biology, Statistics    Evan    Male    18

表 2

Philosophy  (Lookup)

Name    Gender  Age

如果我想在 sheet2 中显示上过哲学课的人的信息怎么办。

谢谢!!

【问题讨论】:

  • 如果您需要所有实例,则需要 VBA。公式不够。
  • 我不太了解VBA,有没有代码可以直接应用于这个案例?
  • 考虑使用数据透视表。
  • 然后模拟一些格式相同的数据,并显示使用该模拟数据的预期结果。
  • “数学、物理、化学、文学”是否都在同一个单元格的 A 列中?

标签: excel vlookup


【解决方案1】:

非阵列解决方案

Sheet1
- 在Sheet1 上输入表格数据,如下所示:
Sheet1 Thumbnail Image

Sheet2
- 单元格A1 包含查找值:哲学
- 单元格 A2:C2 包含标题行数据:Name Gender Age
- 在单元格A3,插入这个公式:
=INDEX(Sheet1!$A2:$D2,MATCH("*"&$A$1&"*",Sheet1!$A2:$A2,0),MATCH(A$2,Sheet1!$A$1:$D$1,0))
- 按 ENTER
- 复制到C3,然后复制到C6,得到这里显示的结果:
Sheet2 Thumbnail Image

【讨论】:

    【解决方案2】:

    阵列解决方案

    Sheet1
    - 在Sheet1 上输入表格数据,如下所示:
    Sheet1 Thumbnail Image

    Sheet2
    - 单元格A1 包含查找值:哲学
    - 单元格 A2:C2 包含标题行数据:Name Gender Age
    - 在单元格A3,插入这个公式:
    =IFERROR(INDEX(Sheet1!B$2:B$5,SMALL(IF(ISNUMBER(SEARCH($A$1,Sheet1!$A$2:$A$5)),ROW(Sheet1!B$2:B$5)-ROW(Sheet1!B$2)+1),ROWS(Sheet1!$1:1))),"")
    - 按 CTRL+SHIFT+ENTER
    - 复制到C3,然后复制到C6,得到这里显示的结果:
    Sheet2 Thumbnail Image

    请注意
    - 此公式包含IFERROR 函数,该函数仅适用于 Excel for PC 2007 或更高版本。它也适用于 Excel for Mac 2011 或更高版本(根据 Microsoft 的文档)。
    - 此公式也是 ARRAY,如果您使用大型数据集,它可能会减慢速度。
    - 每次编辑此公式时,请按 CTRL+SHIFT+ENTER 重新确认。

    【讨论】:

      猜你喜欢
      • 2016-02-07
      • 2016-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多