考虑下表(原始数组扩展如下A1:P23
):
Member || Collab01 | Collab02 | Collab03 | Collab04 | Collab05 | ... | Collab15
------------------------------------------------------------------------------------
AA || Yes | Yes | No | No | No | ... | No
AB || No | No | No | No | No | ... | No
AC || No | Yes | Yes | No | No | ... | No
AD || No | No | No | No | No | ... | No
AE || No | No | No | No | No | ... | No
AF || No | No | No | No | No | ... | No
AG || Yes | Yes | No | No | Yes | ... | No
... || ... | ... | ... | ... | ... | ... | ...
AV || Yes | Yes | No | Yes | Yes | ... | Yes
单元格B25
列出会员,选择其中一个
单元格B31
包含嵌套IF
,使用INDEX-MATCH语句根据B25
(例如已选择AB)进行查找,并尝试按列查找第一个Yes
。算法如下所示:
=IF(INDEX($B$2:$P$23,MATCH($B$25,$A$2:$A$23,0),MATCH("Collab01",$B$1:$P$1,0))="Yes",$B$1,IF(INDEX($B$2:$P$23,MATCH($B$25,$A$2:$A$23,0),MATCH("Collab02",$B$1:$P$1,0))="Yes",$C$1,IF(INDEX($B$2:$P$23,MATCH($B$25,$A$2:$A$23,0),MATCH("Collab03",$B$1:$P$1,0))="Yes",$D$1,IF [etc.]
如果算法没有找到任何内容(即相应行中只有No
),则应显示:"Not applicable or no data submitted"
B32
所需的单元格是在单元格B31
停止的位置继续。
到目前为止取得的成就:
B31
个单元格的单元格地址的公式:=IFERROR(CELL("address",INDEX(B1:P1,MATCH(B31,B1:P1,0))),"")
B31
完成后启动列):=INDEX(B1:P1,MATCH("Collab"&TEXT(RIGHT(B31,2)+1,"00"),$B$1:$P$1,0))
问题:不使用VBA ,如何在单元格B32
中编写算法,使其与B31
在同一行开始,但是1列更远并继续分析以找到下一个Yes
?