我正在尝试在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))
这应该通过具有匹配日期并显示唯一值的主题。但是它不起作用,它只是在没有确保日期匹配的情况下完成任何结果,并且也不会仅显示唯一值,而是一次又一次地显示相同的值。
我想我需要在这个公式中定义我的日期匹配但不确定如何或在哪里?
请有人告诉我我哪里出错了吗?
提前致谢
答案 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,依此类推
如果你还有问题,请问;)
(通过电话完成,可能包含错误)