Excel这个多嵌套型复杂IF函数该怎么写?

由于公司电脑加了权限,无法拷贝,只能拍图给大家看了
这数据很乱,我理了一下觉得可能需要多嵌套型IF完成,但这个对我有点难,简单的IF我还能做,这个真做不来,求老师们看看能实现吗?
首先,ABCD列是要处理的数据,GHIJ是我整理好可以作为协助判断的数据
最终结果像E列这样呈现,具体判断需求如下:
1、先判断D列,识别账号前3位从I列的做对比,如果I列能匹配上,就取J列对应值(注意只识别前3位,如果出现空值或其它不满足前3位值,就跳C列继续做判断)
2、D列不满足,跳C列继续判断:只识别2位和3位的值,简单说只判断2个字和3个字,如果符合就呈现“个人”在结果显示。再加上一个判断,有关键词为“公司”或“有限”,就结果呈现“对公”(如果出现空值或其它不满足条件,就跳B列继续做判断)
3、C列不满足,跳B列继续判断:如果数值满足18位身份号,就在E列输出“个人”,但有个棘手问题,B列刚好也有个18位不是身份号的,是9开头的,这个有办法做忽略判断吗??
4、B列不满足,跳A列继续判断:与G列做匹配,如果匹配上了,就取H列对应值

就这些,有老师能帮忙写下吗?感谢!

    公式为:

    =IFERROR(VLOOKUP(--LEFT(D2,3),I:J,2,),IF(OR(LEN(C2)={2,3}),"个人",IF(OR(ISNUMBER(FIND({"公司","有限"},C2))),"对公",IF(AND(LEN(B2)=18,LEFT(B2)<>"9"),"个人",IFERROR(VLOOKUP(A2,G:H,2,),"")))))

    如图所示:

追问

老师太厉害了!!居然还能这么写!感谢!学习学习

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-09-26

公式为:

=IFERROR(VLOOKUP(--LEFT(D2,3),I:J,2,),IF(OR(LEN(C2)={2,3}),"个人",IF(OR(ISNUMBER(FIND({"公司zhi","有限"},C2))),"对公",IF(LEFT(b1,1)=9,"","个人"),IFERROR(VLOOKUP(A2,G:H,2,),"")))))

如图所示d:

第2个回答  2020-09-25
第3个问题可以这样:判断b列开头是否是9,如果是9显示空,不是9就显示“个人”=IF(LEFT(b1,1)=9,"","个人")
相似回答