<p> <font size="3">以附件中SHEET2的表格为例,要将A列中的内容按文本和数字分开放在B C列。<br/></font> <br/> 方法1:用LEN和SUBSTITUTE计算数字的个数来作为截取字符长度。</p><p>D2=RIGHT(A2,SUM(LEN(A2)-LEN(SUBSTITUTE(A2,{0,1,2,3,4,5,6,7,8,9},))))</p><p>B2==LEFT(A2,LEN(A2)-(SUM(LEN(A2)-LEN(SUBSTITUTE(A2,{"0","1","2","3","4","5","6","7","8","9"},"")))))</p><p>或者C2=SUBSTITUTE(A2,B2,"")</p><p> 方法2:用FIND在A2找到第一个数字的位置并减去1来作为截取字符长度。因为A2不一定包含0~9这些数字,所以用ISNUMBER函数将错误值过滤掉</p><p>=LEFT(A2,MIN(IF(ISNUMBER(FIND({1,2,3,4,5,6,7,8,9,0},A2)),FIND({1,2,3,4,5,6,7,8,9,0},A2)))-1</p><p>=RIGHT(A2,LEN(A2)-MIN(IF(ISNUMBER(FIND({1,2,3,4,5,6,7,8,9,0},A2)),FIND({1,2,3,4,5,6,7,8,9,0},A2)))+1)</p><p> 以上公式是有一定缺陷的,只能针对文本与数字分别连续存放且文本串在前数字串在后的字符串,如果目标字符串中的文本与数字是交融在一起的,则需要对公式做进一步改善。</p><p> </p><p><font color="#09f709" size="5">附件再15楼</font></p>
[此贴子已经被作者于2007-8-27 8:31:25编辑过] |