我有两张工作表,一张中有任务列表,还有几列列出任务状态的列,还有一列列出任务是否重要。在另一张工作表中,如果已填写重要列,我想显示任务的名称。
我已经使用下面显示的数组公式实现了这一点,我在这个帖子在这个网站上。=IFERROR(INDEX(PDCA!$B$10:$B$1048;SMALL(IF(PDCA!$L$10:$L$1048<>"";MATCH(ROW(PDCA!$L$10:$L$1048);ROW(PDCA!$L$10:$L$1048));"");ROW(PDCA!B1)));"")
到目前为止一切顺利。但是,在任务名称旁边,我还想显示已填写的状态字段数,但我不知道该怎么做。你们有人对我该如何完成这项任务有什么建议吗?
看此 Google Drive 文档我的 Excel 工作簿的粗略布局是什么样的(我使用的是 Excel 2010)。
如果不使用 UDF 就可以做到这一点,我会更加高兴。
答案1
可能有更简单的方法,sumproduct
但我现在想不出来。
假设您的表格A9:L22
包含标题。您可以在N9
=IFERROR(INDEX($B$10:$B$1047,SMALL(IF($L$10:$L$1047<>"",MATCH(ROW($L$10:$L$1047),ROW($L$10:$L$1047)),""),ROW(B1))),"")
在单元格中,O9
您可以使用此(易失性)函数 -
=COUNTA(OFFSET(INDIRECT("$D$"&MATCH(N9,$B$10:$B$22,0)&":$K$"&MATCH(N9,$B$10:$B$22,0)),9,))
显然将其更改为您的区域设置和范围并调整您的偏移量。
但说实话,我不认为这是可行的办法。