【问题标题】:excel formula to return multiple resultsexcel公式返回多个结果
【发布时间】:2018-03-14 02:40:40
【问题描述】:

我目前正在使用 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 中键入员工 ID 时,它总是会返回第一行,但会忽略第二条记录。它看起来像这样:

Employee ID   Type
1646484       Intermittent
1646484       Intermittent

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

我希望我解释得很好

【问题讨论】:

    标签: excel


    【解决方案1】:

    不要为此使用 INDEX 和 MATCH...改用数据透视表。

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

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

    【讨论】:

      【解决方案2】:

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

      这个解决方案有以下假设:

      1. 源数据包含名为“Employee ID”和“Type”的列
      2. 在目标中,要查找的 ID 从单元格 A2 开始
      3. 在目标中,要返回的值从单元格 B2 开始

      这是要放入单元格 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")

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-02-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多