Excel:使用条件匹配索引,显示唯一值?

时间:2016-04-19 08:08:30

标签: excel indexing count

我正在尝试在Excel中创建日历。 我有第1页,其中包含我的日历模板,如下所示:

April 8           April 9           April 10           April 11         April 12

SubjectA          SubjectD          SubjectG           SubjectJ         SubjectK
DescriptionA      DecriptionD       DescriptionG       DescriptionJ     Desc K


SubjectB          SubjectE          SubjectH         
DescriptionB      DescriptionE      DescriptionH


SubjectC          SubjectF          SubjectI
DescriptionC      DescriptionF      DescriptionI

我在表2中有如下行数据:

ID      Date            Subject      Description
1       08/04/2016      SubjectA     DescrptionA
2       08/04/2016      SubjectB     DescriptionB
3       08/04/2016      SubjectC     DescriptionC
4       09/04/2016      SubjectD     DescriptionD
5       09/04/2016      SubjectE     DescriptionE
6       09/04/2016      SubjectF     DescriptionF
7       10/04/2016      SubjectG     DescriptionG
8       10/04/2016      SubjectH     DescriptionH
9       10/04/2016      SubjectI     DescriptionI
10      11/04/2016      SubjectJ     DescriptionJ
11      12/04/2016      SubjectK     Desc K

基本上我想在我的日历的单元格中使用索引匹配公式,这将给出日期匹配的“主题”。

例如在表2中,有3行主题为“A”,“B”和“C”,所有日期均为4月8日。因此,这些应显示在4月8日的第1页的日历中。

我正在尝试使用此公式来执行此操作:

=INDEX(Data!$G$2:$G$5000, MATCH(0, COUNTIF(Calendar!$G$18:$G18, Data!$G$2:$G$5000), 0))

这应该通过具有匹配日期并显示唯一值的主题。但是它不起作用,它只是在没有确保日期匹配的情况下完成任何结果,并且也不会仅显示唯一值,而是一次又一次地显示相同的值。

我想我需要在这个公式中定义我的日期匹配但不确定如何或在哪里?

请有人告诉我我哪里出错了吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

要获得多个解决方案,您需要一个带有ROW的数组公式来获取INDEX与SMALL的行(假设日期在B列中,而主题在D中)

=INDEX(Data!$D:$D,SMALL(IF(Data!$B$2:$B$5000=Calendar!$G$18,ROW($2:$5000)),xxx))
  

这是一个数组公式,需要用ctrl + shift + enter

确认

只需将xxx更改为1即可获得第一个匹配,将第二个更改为2,依此类推 如果你还有问题,请问;)

(通过电话完成,可能包含错误)