我目前正在使用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捕获中输入员工ID时,它总是返回第一行,但会忽略第二条记录。它看起来是这样的:
Employee ID Type
1646484 Intermittent
1646484 Intermittent有没有办法格式化我的索引/匹配公式以返回这两条记录?
我希望我解释得很好。
发布于 2018-03-14 11:39:18
不要对this...use PivotTables使用索引和匹配。
每当我希望列表中的某些记录出现在不同的位置时,我都会将源数据转换为Excel Table,并从中创建一个PivotTable,然后过滤该PivotTable以仅显示我感兴趣的项。
没有公式,只要您刷新PivotTable,它就会自动获取对源数据的任何更改。与公式不同,公式可以非常复杂地拆分,并依赖于您记住将公式拖到页面下,以确保捕获任何新数据。
发布于 2018-03-14 23:13:14
如果将源数据转换为表,则解决方案要简单得多。选择源数据,然后使用Insert > Table。
此解决方案有以下假设:
开始
这是要放入单元格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")
https://stackoverflow.com/questions/49268950
复制相似问题