案例原型:从客户财务软件系统中“固定资产账套”导出的卡片明细表,其数据为在一个单元格中,用分号分开。例子如下表格所示。
问题:这样无法制作固定资产明细表、盘点表、抽盘点、折旧计算表
解决方法:用excel函数将数据按分号间隔,分别列入每一单元格,如下表格所示。
综合部;;5;IBM笔记本电脑一台;;1;;在用电子计算机;;14,200.00;;;459.14;;13,740.86 |
|
|
|
|
|
|
|
综合部 |
5 |
IBM笔记本电脑一台 |
1 |
在用电子计算机 |
14,200.00 |
459.14 |
13,740.86 |
思路:总体方法是如何识别分号“;” ,按分号的位置保留数据。
1、 从第1个分号开始,将分号用“★“代替,然后再查找“★“的字符位置(如为a)。
a=FIND("★",SUBSTITUTE(A1,";","★",2))
2、 第一个分隔数据可以“取。
LEFT(A1,a-1)
3、 第二个分隔数据的方法有些不同(计算出单元格数据的总长度,即总字符数n=[LEN(A1)])
(1) 取从右向左n-a个字符
即 ;5;IBM笔记本电脑一台;;1;;在用电子计算机;;14,200.00;;;459.14;;13,740.86
(2)再将上述数据为模型,继续将第1个分号用"★"代替,查找其字符位置m,取“从左向右m-1个字符”。
即 ★5;IBM笔记本电脑一台;;1;;在用电子计算机;;14,200.00;;;459.14;;13,740.86
"★"字符位置为1
从左向右1-1个字符,即为空
4、 第三个分隔数据的方法同第二个
最终结果可用:
LEFT(RIGHT(A1,LEN(A1)-FIND("★",SUBSTITUTE(A1,";","★",2))),FIND("★",SUBSTITUTE(RIGHT(A1,LEN(A1)-FIND("★",SUBSTITUTE(A1,";","★",2))),";","★",1))-1)
相关文章
同类最新