将公式改一下看看
=IF(B9="错误","错误",IF(ISNA(VLOOKUP(LEFT(B9,6),地址码!A:B,2,FALSE)),"该地址码对应的地区不存在",VLOOKUP(LEFT(B9,6),地址码!A:B,2,FALSE)))
或者
=IF(B9="错误","错误",IF(ISNA(VLOOKUP(LEFT(B9,6),地址码!A:B,2,)),"该地址码对应的地区不存在",VLOOKUP(LEFT(B9,6),地址码!A:B,2,)))
在A1输入身份z号码,15或18位的都可以,在B1输入=IF(LEN(A1)=18,DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)),IF(LEN(A1)=15,DATE(MID(A1,7,2),MID(A1,9,2),MID(A1,11,2)),FALSE))回车,你试试吧
补充一下,你要把B1的格式设置成日期的格式哦
1、方法一:
在B2单元格内输入公式:
=SUBSTITUTE(A2,",",REPT(" ",30))
将"李白,唐朝,《蜀道难》"中的“,”替换为30个空格
这里注意下公式的中的第一组引号,使用的是逗号与A列中的逗号必须一致,中文下的逗号
第二组引号在REPT函数里,中间输入了一个空格,英文下的空格,目的是将“,”替换为30个“ ”(空格)
REPT是重复字符次数。
然后我们在对其取值,在公式前面套一个left,左取数值的意思
=LEFT(SUBSTITUTE(A2,",",REPT(" ",30)),4)
此时我们将诗人的姓名取出来了,这个单元格我们取了4个字符,防止有些人名是4个字的。
这里我们测算下B2的字符,使用len函数去测算
可以看出,字符为4,跟我们取出来的4个字符吻合
为了完美,我们可以在将多余的空格去掉,此时trim出场,trim是去掉多余的空格
=TRIM(LEFT(SUBSTITUTE(A2,",",REPT(" ",30)),4))
可以看到,测算字符的单元格就变成了2,也就是说B2单元格内的字符数为2,正好是“李白”的字符数
此时姓名已经取出来了,然后我们取朝代
我们将B2的公式复制到C2,不是复制单元格 ,是将里面的公式复制过去哦
修改公式为=TRIM(MID(SUBSTITUTE(A2,",",REPT(" ",30)),30,10))
此时将left变成了MID函数
从第30个字符开始取,取10个
我们将代表作删除掉,用公式去做
将B2中的公式复制到D2,将left改成right即可,取数的数字4变成10
=TRIM(RIGHT(SUBSTITUTE(A2,",",REPT(" ",30)),10))
我们实际上可以将公式一条完成,下面我们在B2中重新修改下公式
在B2单元格内输入公式:
=TRIM(MID(SUBSTITUTE($A2,",",REPT(" ",30)),(COLUMN(A1)-1)30+1,10))
然后将B2右拉,下拉,整个就完成了
因为右拉,所以中间的A2公式要锁定列
2、方法二:使用分列,当然分列做不到数据变化后自动更新,不过在不会函数的情况下使用分列很容易 *** 作的
3、方法三:使用智能填充
在B2中打字“李白”然后选中B2:B16,按下cTrl+E,即可实现快速填充
C2,D2如法炮制
如果只有这么一条,直接打字“上海”就可以了。如果表1的数据还有很多,那么要看都是什么格式,根据规律才能写出正确的公式,例如假设名字后面如果都有逗号,可以这样写公式:
=VLOOKUP(LEFT(A1,FIND(",",A1)-1), 表二!A:B, 2, 0)
既然户籍代码表都已经弄好了,人工去处理的话也有点麻烦,但如果用VBA去分列也没多大作用。
数组+字典的方法按你给的图表定做了一个,估计够用了。
下载附件,然后把两个表内容复制粘贴到对应的两个工作表,点击“查找匹配”按钮即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)