none
求救,如何用excel转化这个数据项 RRS feed

  • 问题

  • 我想用excel 2003转化一个数据项
    源数据
    9787121066191
    转换后
    978-7-121-06619-1
    就是在中间加4个 -,第一个,第
    二个,第四个是固定的,已经写出来了,就是
    =SUBSTITUTE(REPLACE(A1,13,1,"-"&RIGHT(A1,1)),9787,"978-7-",1),但是第二个“-”要根据原数据的第5位数确定在第几个数字后面加“-”,比如上面978-7-121-06619-1  9787后面是1,所以在9787121后面加,如果9787后面是2的话,那就要加在第8个数字后面了,比如  
    9787208062183
     要编程978-7-2080-621-3也就是说要根据第5个数字的大小确定第3个“-”   的位置

       这个太复杂了,小弟我搞不定,大哥们帮帮忙啊
    gao
    2009年6月10日 0:44

答案

  • =LEFT(A1,3)&"-"&MID(A1,4,1)&"-"&MID(A1,5,IF(MID(A1,5,1)="1",3,4))&"-"&MID(A1,IF(MID(A1,5,1)="1",8,9),IF(MID(A1,5,1)="1",5,3))&"-"&RIGHT(A1,IF(MID(A1,5,1)="1",1,2))


    Microsoft Technet Observer 如果问题没有解决,请继续跟帖讨论;如果问题得到解决,请标记为答复。
    • 已标记为答案 gaogaogao 2009年6月11日 7:15
    2009年6月10日 3:00
    版主
  • 谢谢,您的回复给了我很大的帮助
    ,根据您的回答,我做出了我想要的结果

    =IF(MID(A7,5,1)="0",(LEFT(A7,3)&"-"&MID(A7,4,1)&"-"&MID(A7,5,2)&"-"&MID(A7,6,6)&"-"&RIGHT(A7,1)),IF(MID(A7,5,1)="1",(LEFT(A7,3)&"-"&MID(A7,4,1)&"-"&MID(A7,5,3)&"-"&MID(A7,7,5)&"-"&RIGHT(A7,1)),IF(MID(A7,5,1)="2",(LEFT(A7,3)&"-"&MID(A7,4,1)&"-"&MID(A7,5,3)&"-"&MID(A7,7,5)&"-"&RIGHT(A7,1)),IF(MID(A7,5,1)="3",(LEFT(A7,3)&"-"&MID(A7,4,1)&"-"&MID(A7,5,3)&"-"&MID(A7,7,5)&"-"&RIGHT(A7,1)),IF(MID(A7,5,1)="5",(LEFT(A7,3)&"-"&MID(A7,4,1)&"-"&MID(A7,5,4)&"-"&MID(A7,8,4)&"-"&RIGHT(A7,1)),IF(MID(A7,5,1)="8",(LEFT(A7,3)&"-"&MID(A7,4,1)&"-"&MID(A7,5,5)&"-"&MID(A7,9,3)&"-"&RIGHT(A7,1))))))))
    gao
    • 已标记为答案 gaogaogao 2009年6月11日 8:35
    2009年6月11日 7:22

全部回复

  • =LEFT(A1,3)&"-"&MID(A1,4,1)&"-"&MID(A1,5,IF(MID(A1,5,1)="1",3,4))&"-"&MID(A1,IF(MID(A1,5,1)="1",8,9),IF(MID(A1,5,1)="1",5,3))&"-"&RIGHT(A1,IF(MID(A1,5,1)="1",1,2))


    Microsoft Technet Observer 如果问题没有解决,请继续跟帖讨论;如果问题得到解决,请标记为答复。
    • 已标记为答案 gaogaogao 2009年6月11日 7:15
    2009年6月10日 3:00
    版主
  • 谢谢,您的回复给了我很大的帮助
    ,根据您的回答,我做出了我想要的结果

    =IF(MID(A7,5,1)="0",(LEFT(A7,3)&"-"&MID(A7,4,1)&"-"&MID(A7,5,2)&"-"&MID(A7,6,6)&"-"&RIGHT(A7,1)),IF(MID(A7,5,1)="1",(LEFT(A7,3)&"-"&MID(A7,4,1)&"-"&MID(A7,5,3)&"-"&MID(A7,7,5)&"-"&RIGHT(A7,1)),IF(MID(A7,5,1)="2",(LEFT(A7,3)&"-"&MID(A7,4,1)&"-"&MID(A7,5,3)&"-"&MID(A7,7,5)&"-"&RIGHT(A7,1)),IF(MID(A7,5,1)="3",(LEFT(A7,3)&"-"&MID(A7,4,1)&"-"&MID(A7,5,3)&"-"&MID(A7,7,5)&"-"&RIGHT(A7,1)),IF(MID(A7,5,1)="5",(LEFT(A7,3)&"-"&MID(A7,4,1)&"-"&MID(A7,5,4)&"-"&MID(A7,8,4)&"-"&RIGHT(A7,1)),IF(MID(A7,5,1)="8",(LEFT(A7,3)&"-"&MID(A7,4,1)&"-"&MID(A7,5,5)&"-"&MID(A7,9,3)&"-"&RIGHT(A7,1))))))))
    gao
    • 已标记为答案 gaogaogao 2009年6月11日 8:35
    2009年6月11日 7:22