我有大量的客户在4个不同的场合进行约会(我称此主题):第一次访问,第一次检查,第二次检查和最终访问。这些客户还链接到一个合作伙伴:Kate,Dave,Bart,Will,John和Tom。
我希望从这个庞大的客户列表中提取两个日期(例如1月1日和3月1日)之间基于“主题”和“合作伙伴”的客户名称。因此,我列出了以下两个下拉列表:
主题:无选择,第一次访问,第一次检查,第二次检查和最终访问。
合作伙伴:没有选择,凯特,戴夫,巴特,威尔,约翰和汤姆。
例如,如果我选择查看所有在2019年1月1日至2019年3月1日之间进行约会的客户,则``主题=第一次访问''和``合作伙伴=未选择''。我希望能够看到上述两个日期之间所有合作伙伴的第一次访问的所有约会。如果我选择以上日期,则“主题=未选择”和“合作伙伴=未选择”,我希望能够看到所有主题和所有合作伙伴在两个所选日期之间的所有约会。
我的Excel工作表中存在以下两个问题。
第一 我使用的是countifs公式(excel工作表中的G6)来计算约会的数量。但是,我遇到的麻烦是我似乎无法正确地编写公式来也计算合作伙伴,而“我现在拥有的countifs公式仅对两个日期之间的主题进行计数,因此,每当我为主题选择“无选择”时,它都不会为我提供所有计数(就像我想要的那样)。
第二 我的汇总公式(Excel工作表“提取”中的G10)很乱,我几乎不知道如何正确编写公式。我将不胜感激与此有关的任何帮助。我认为聚合函数很漂亮,如果有人对我有更多的了解,我也将不胜感激。
链接到我的Excel工作表:https://www.dropbox.com/s/hqntzkj2xq0i250/Aggregate%20function%20struggle.xlsx?dl=0
我知道现在是假期,也许不是在网上提问的最佳时间,但是这些公式现在就像我脑海中的碎片。
答案 0 :(得分:1)
我希望这可以帮助您解决第一个问题。
在“提取”选项卡的G6单元格中,粘贴以下公式:
= COUNTIFS(INDIRECT(“ source [[#All],[”&$ L $ 5&“]]”)),“> =”&$ G $ 4,INDIRECT(“ source [[#All],[” &$ L $ 5&“]]”),“ <=”&$ N $ 4,source [[#All],[PARTNER]],IF($ J $ 5 =“ No Selection”,“ <>”“”, $ J $ 5))
对于您的第二问题,您需要在“提取”选项卡中取消合并单元格G10:L64(因为数组公式在合并的单元格中无效)。在单元格G10中,使用以下数组公式(通过Ctrl + Shift + Enter确认):
= IFERROR(INDEX(source [[#All],[NAME]],(SMALL(IF((---- INDIRECT(“ source [[#All],[”&$ L $ 5&“]]” )> == EXTRACTED!$ G $ 4))*(-(INDIRECT(“ source [[#All],[”&$ L $ 5&“]]”)<= EXTRACTED!$ N $ 4))* IF($ J $ 5 =“ No Selection”,1,(-(source [[#All],[PARTNER]] = EXTRACTED!$ J $ 5))),ROW(source [[#All],[NAME]]), “”),F10))),“”)
您现在可以将其向下拖动以查看所有结果。我知道您想使用AGGREGATE公式,但是我遵循了我的解决方案(对不起!)。输入公式后,您现在可以选择单元格G10:L10并单击“合并和居中”。
希望有帮助!