excel公式返回多个结果

时间:2018-03-14 02:40:41

标签: excel

我目前正在使用Index,Match来匹配从一张到另一张的记录。工作得很好,除非我有多个具有相同标识符的记录。让我解释一下:

名为Open Leave Report的工作表包含原始数据(查找值),而名为Open Leave Capture的工作表包含已清理的数据。所以我的公式看起来像这样

=INDEX('Open Leave Report'!O:O,MATCH('Open Leave Capture'!C9,'Open Leave Report'!B:B,0))

效果很好,除非我有以下内容:

Column B    Column O
Employee ID Continuous or Intermittent
1646484     Intermittent
1646484     Continuous

因此,当我在Open Leave Capture中键入Employee ID时,它总是会返回第一行,但它会忽略第二条记录。它看起来像这样:

Employee ID   Type
1646484       Intermittent
1646484       Intermittent

有什么方法可以格式化我的索引/匹配公式以恢复两个记录?

我希望我能解释清楚

2 个答案:

答案 0 :(得分:1)

不要使用INDEX和MATCH ...而是使用数据透视表。

每当我希望列表中的某些记录出现在不同的位置时,我将源数据转换为Excel表格,然后从中创建数据透视表,然后过滤该数据透视表以显示项目I'我很感兴趣。

没有公式,只要刷新数据透视表,它就会自动获取源数据的任何更改。与公式不同,公式可能非常复杂,需要分开,并依赖于您记住将公式拖到页面上以确保捕获任何新数据。

答案 1 :(得分:0)

如果将源数据转换为表格,解决方案会简单得多。选择源数据,然后使用Insert>表

此解决方案具有以下假设:

  1. 源数据的列名为"员工ID"和"输入"
  2. 在目的地中,要查找的ID从单元格A2
  3. 开始
  4. 在目的地中,要返回的值从单元格B2
  5. 开始

    这是放入单元格B2的公式。这是一个数组公式。您需要双击单元格,粘贴公式,然后按CTRL + SHIFT + ENTER保存。然后,您可以根据需要填写它。

    =IFERROR(INDEX(Table1[Type],SMALL(IF(Table1[Employee ID]=A2,ROW(Table1[Employee ID])-ROW(Table1[[#Headers],[Employee ID]])),COUNTIF($A$2:A2,A2))),"Not that many")