我试图使用索引公式获取上述日期的任何人的数据,但总是返回无效值。我该怎么做呢?因为数据导出日期总是在最后一列。
我正在做什么:从下拉菜单(数据验证选项)中选择给定 Excel 表中的人名,然后选择日期以显示特定日期针对特定代理的所有数据
对于下面提到的数据我使用
=index(A:E,match(sheet2!A1,A:A,0),Match(sheet2!B1,B:B),Match(sheet2,C1,E:E))
总是给出 N/A。
请帮忙
Login ID ACD Calls Avg ACD Time Avg ACW Time Date
Qayyum 64 :03:10 :00:03 1/5/2017
Abdul 80 :02:56 :00:05 1/3/2017
Abdul 107 :03:07 :00:04 1/4/2017
Abdullah 62 :02:12 :00:02 1/2/2017
Afreen jahan 94 :02:55 :00:07 1/3/2017
Afreen jahan 81 :03:05 :00:08 1/2/2017
工作表2
A1 B1 C1
Abdul ACD Calls 1/2/2017
答案1
您正在为二维区域提供 3 个坐标。
当您评估 Index 函数时,返回中的 Match 函数3,3,3
。Excel 不知道如何处理额外的坐标。Excel 期望3,3
- 第三行,第三列。
要查看基于登录、呼叫和日期的平均 ACD 时间,请使用以下公式:
=INDEX($C$2:$C$7,1,SUMPRODUCT(--($A$2:$A$7=Sheet2!$A$1),--($B$2:$B$7=Sheet2!$B$1),--($E$2:$E$7=Sheet2!$C$1)))
要查看基于登录、呼叫和日期的平均 ACW 时间,请使用以下公式:
=INDEX($D$2:$D$7,1,SUMPRODUCT(--($A$2:$A$7=Sheet2!$A$1),--($B$2:$B$7=Sheet2!$B$1),--($E$2:$E$7=Sheet2!$C$1)))
这是根据 Sheet2 上的布尔值对列进行索引,使 Sheet1 中的相应列与 Sheet2 上的值相匹配。如果未找到任何内容,它将返回列标题。您需要调整公式范围以匹配您的数据范围。
答案2
更准确地说,INDEX()
确实知道如何处理第三个坐标并尝试这样做。
那个“第三”(第四,因为范围是第一个,并且MATCH()
添加了“坐标”2、3 和 4)是参数AREA
。
INDEX()
允许您拥有多个区域(范围),它将分别处理这些区域。它们可以是连续的或不连续的,甚至可以重叠或重复。您可以在第四个参数中告诉它要处理哪一个。
此处提出的问题只有一个区域。因此,要求INDEX()
使用第三个区域会失败(N/A 错误),因为没有第三个区域可用。
以上仅供理解。解决方案仍然是以不同的方式做事!你知道,通过不指定AREA
的参数。