if函数+isna函数+vlookup函数实现不同列相同单元格内容排列在同一行
1,首先学习的网址:https://jingyan.baidu.com/album/22a299b5dd0f959e19376a22.html?picindex=1
2,excel 这也许是史上最好最全的VLOOKUP函数教程:https://baijiahao.baidu.com/s?id=1603886666150544094&wfr=spider&for=pc
3,VLOOKUP函数返回错误值的原因和解决方法:http://www.officezhushou.com/excelhansu/4739.html
4,通过上面三个网址的学习和了解,尤其是第二条网址中的图解:
详细地解释了vlookup函数的各个参数意义。
5,第三条网址展示了vlookup函数的“脆弱性”,但是没有解决我的一个问题:序号+姓名两列作为查找区域导致vlookup函数返回错误信息,经过测试发现只有查找区域不包括序号一列,就能返回正确。
6,理解查找区域的返回列,也就是vlookup函数的第三个参数含义很重要,配合column()函数的使用可以实现同一行多列信息同时匹配——很有用。
7,最终我写出的函数:
=IF(ISNA(VLOOKUP($B2,$M:$U,COLUMN()-3,0)),"",VLOOKUP($B2,$M:$U,COLUMN()-3,0))
8,函数太长,难以阅读,果然有格式化工具:https://antoniothefuture.github.io/ExcelFormulaBeautifier-demo.github.io/
9,对于字面看上去相等,实际不相等的情况:
可以使用LEN函数比如:=LEN(A55)=LEN(E55)
在进行vlookup时需要使用例如=TRIM(CLEAN(A55))=TRIM(CLEAN(E55))两个函数进行删除多余不可见不可打印字符
10,使用countif函数实现计数:比如:=COUNTIF(AC:AC,"协议填报")