Excel:聚合函数与IF函数结合

时间:2018-12-15 13:03:40

标签: excel if-statement aggregate extract criteria

我有一个遇到麻烦的Excel公式。我已经在Google和YouTube上搜索了答案,但似乎找不到答案。

在Excel中,我使用具有两个条件的聚合函数。基于“位置”和“功能”,我能够从无数行和数据列中提取记录。

我对位置和功能都有一个下拉列表。对于“位置”,我希望能够在以下位置之间进行选择:

  

没有选择,阿姆斯特丹,巴黎,伦敦和马德里。

对于“功能”,我希望能够在以下选项之间进行选择:

  

没有选择,银行家,银行家II和助理。

我正在使用以下公式:

=IF(ROWS(M$2:M2)>$I$6;"";INDEX(source[Name];AGGREGATE(15;6;(ROW(source[Name])-ROW(source[#Headers]))/((source[Location]=$I$2)*(source[Function]=$I$3));ROWS(M$2:M2))))

我希望能够基于两个条件但也可以基于一个条件来提取数据。这就是为什么我使用“无选择”的原因。每当我为“地点”选择“不选择”时,都不会,我希望能够提取所有地点中所有银行家的数据。

我遇到的问题是上述公式,我必须选择两个条件。每当我在下拉列表之一上选择“无选择”时,它都不会提取数据。

我知道可以使用IF函数,但我做不到。这是我正在从事的一个学校项目,对Excel的了解非常有限。

链接到我正在使用的示例:https://www.dropbox.com/s/mhsfzv7d63y7rb7/example%281%29.xlsx?dl=0

2 个答案:

答案 0 :(得分:1)

您需要在每个分母条件上加1,同时确保分母不超过1。

React-Router

答案 1 :(得分:0)

在样本表上:

M2: =IFERROR(INDEX(source,AGGREGATE(15,6,1/(((source[[Location]:[Location]]=$I$2)+($I$2="No Selection"))*((source[[Function]:[Function]]=$I$3)+($I$3="No Selection")))*(ROW(source)-ROW(source[#Headers])),ROWS($1:1)),COLUMNS($A:A)),"")
  • 选择M2并填写到M14

  • 选择M2:M14并向右填充。

请注意,addition运算符正在模仿数组中每个条目的IF函数。例如,如果((source[[Location]:[Location]]=$I$2)+($I$2="No Selection")) =下拉菜单中的名称,则1将返回Location;如果下拉列表= No Selection OR >