“ Meds”工作表中有两列数据...
MedContinuing AgeAtMedStop
Yes "Blank"
Yes 72.22
No "Blank"
No 72.57
"Blank" 73.85
我正在另一张纸上写一个公式,根据以下内容返回1或0:
MedContinuing
为“空白”,则不执行任何操作MedContinuing
为“否”且AgeAtMedStop
为空白,则不执行任何操作MedContinuing
为“是”且AgeAtMedStop
为“空白”,则返回1。如果AgeAtMedStop
为数字,则返回0。MedContinuing
为“否”且AgeAtMedStop
为数字,则返回1。否则,不返回任何内容。当MedContinuing
为“是”或为“否”时,我能够编写两个单独的函数(请参见下文),但是我需要将两个函数合并为一个公式。
是的话...
=IF(INDEX(Meds!2:2,MATCH("MedContinuing",Meds!$1:$1,0))="","",
IF(INDEX(Meds!2:2,MATCH("MedContinuing",Meds!$1:$1,0))="No","",
IF(AND(INDEX(Meds!2:2,MATCH("MedContinuing",Meds!$1:$1,0))="Yes",INDEX(Meds!2:2,MATCH("AgeAtMedStop",Meds!$1:$1,0))=""),1,0)))
没有的时候...
=IF(INDEX(Meds!2:2,MATCH("MedContinuing",Meds!$1:$1,0))="","",
IF(INDEX(Meds!2:2,MATCH("MedContinuing",Meds!$1:$1,0))="Yes","",
IF(AND(INDEX(Meds!2:2,MATCH("MedContinuing",Meds!$1:$1,0))="No",INDEX(Meds!2:2,MATCH("AgeAtMedStop",Meds!$1:$1,0))=""),"",
IF(AND(INDEX(Meds!2:2,MATCH("MedContinuing",Meds!$1:$1,0))="No",INDEX(Meds!2:2,MATCH("AgeAtMedStop",Meds!$1:$1,0))>0),1,0))))
编辑:解决方案
使用Peter K的逻辑...
=IF(INDEX(Meds!6:6,MATCH("MedContinuing",Meds!$1:$1,0))="","",
IF(AND(INDEX(Meds!6:6,MATCH("MedContinuing",Meds!$1:$1,0))="No",INDEX(Meds!6:6,MATCH("AgeAtMedStop",Meds!$1:$1,0))=""),"",
IF(AND(INDEX(Meds!6:6,MATCH("MedContinuing",Meds!$1:$1,0))="Yes",INDEX(Meds!6:6,MATCH("AgeAtMedStop",Meds!$1:$1,0))=""),1,
IF(AND(INDEX(Meds!6:6,MATCH("MedContinuing",Meds!$1:$1,0))="Yes",INDEX(Meds!6:6,MATCH("AgeAtMedStop",Meds!$1:$1,0))>0),0,
IF(AND(INDEX(Meds!6:6,MATCH("MedContinuing",Meds!$1:$1,0))="No",INDEX(Meds!6:6,MATCH("AgeAtMedStop",Meds!$1:$1,0))>0),1,"")))))
答案 0 :(得分:2)
从您的问题尚不完全清楚,为什么要使用INDEX
和MATCH
函数来解决这样简单的问题?
我建议从基本的嵌套if函数开始:
=IF(A2="";"";IF(A2="No";IF(B2="";"";1);IF(B2="";1;0)))
您可以将此函数放在两列旁边,然后复制到另一个工作表,以便Excel处理这些引用。 我还假设您的数据是干净无误的,即您的列中仅存在3个MedContinuing可能值(“是”,“否”或空白)和2个AgeAtMedStop(空白或数字),因此没有{{1} }测试需要消除其他可能的值。
答案 1 :(得分:0)