下午的家伙,
我尝试使用数组作为标准范围来评估countifs公式。
我的表名为tblSkillsMatrix,并设置了以下标题; 角色职员技能1技能2技能3技能4技能5技能6技能7技能8技能9技能10等
有一个名为tblRoles的对应表。标题是角色标题,行包含所需的技能,例如技能1,技能3,技能5,技能8等
我希望我的countifs函数计算在相应角色的相关技能下显示为训练的项目数。正常公式看起来像这样;
=COUNTIFS(tblSkillsMatrix[[#All],[Role]],'Skills Summary'!C16,tblSkillsMatrix[[#All],[Skill 1]],"Trained",tblSkillsMatrix[[#All],[Skill 3]],"Trained",tblSkillsMatrix[[#All],[Skill 5]],"Trained",tblSkillsMatrix[[#All],[Skill 8]],"Trained")
是否有使用数组公式来确定我应该使用哪些列?所以公式看起来就像这样;
=COUNTIFS(tblSkillsMatrix[[#All],[Role]],'Skills Summary'!C16,Array{columns to evaluate},"Trained")
非常感谢
答案 0 :(得分:1)
数组公式** :
=SUM(IF(tblSkillsMatrix[Role]='Skills Summary'!C16,IF(MMULT(0+(T(OFFSET(INDIRECT("tblSkillsMatrix["&TRANSPOSE(tblRoles[JobType])&"]"),ROW(tblSkillsMatrix[Role])-MIN(ROW(tblSkillsMatrix[Role])),))="Trained"),ROW(tblRoles[JobType])^0)=COUNTA(tblRoles[JobType]),1)))
请注意,我更改了您的表格引用以排除标题,因为我认为您实际上并不需要将它们包括在计数中?
此致
**数组公式的输入方式与'标准'相同。公式。您只需按住CTRL和SHIFT键,然后按ENTER键,而不是按ENTER键。如果您已正确完成,您会注意到Excel在公式周围放置了大括号{}(尽管不要尝试自己手动插入这些括号)。