[算表] 多笔txt纯文字档转换为excel问题

楼主: oscar328111   2015-07-22 22:05:35
软件:excel 2000
假设我有多个txt纯文字档,皆放在同一资料夹中大致格式如下:
a b c d e
1 2 3 4 5
6 7 8 9 0
1 2 3 4 5
x x x x x
. . . . .
. . . . .
英文字母a~e代表每项的标题栏,以下为数据,每个档案都是这样的格式,只有数字不一样
现在我只要取每个档案的"c"项以下的数据,然后转换到excel当中,并且排列在一起
完成后的excel档内容如下:
c c c c c c c
1 3 5 2 . . .
2 2 4 8 . . .
4 1 6 2 . . .
有什么方法可以不靠手动贴上,而是自动转换可以做到呢?? 可否请各位高手解答一下,谢谢!
作者: soyoso (我是耀宗)   2015-07-22 22:13:00
如不以宏方式;而改以用命令提示字符copy *.txt 自订档名.txt,合并,在用excel分割资料,及转置
楼主: oscar328111   2015-07-22 22:18:00
有考虑使用宏,但我的文字档每次的档名跟数量都不一样,好像也不太适合用宏谢谢soyoso大大,那请问分割资料要怎么做呢?
作者: soyoso (我是耀宗)   2015-07-22 22:20:00
档名不一样,可用dir(*.txt),数量不一样用range.end(参数).row或是用worksheetfunction.counta/count分割资料方式则是用资料→资料工具→资料剖析
楼主: oscar328111   2015-07-22 22:33:00
我使用命令提示字符合并文字档后,会变成a~e栏资料都是往下面增加,而不是往右边增加,请教一下有什么方法可以改变吗?
作者: soyoso (我是耀宗)   2015-07-22 22:52:00
转置方面想到的是用offset配合辅助栏https://goo.gl/C7iV1t
楼主: oscar328111   2015-07-23 00:36:00
感谢soyoso唷,问题差不多解决一半了,现在卡在你给的范例档有些函数好像不支援EXCEL2000版本,而我公司只能用excel2000,不知还有其他可行的方法吗? 谢谢
作者: soyoso (我是耀宗)   2015-07-23 07:27:00
抱歉,眼拙没看清楚 请以这版为主https://goo.gl/0bLptA
楼主: oscar328111   2015-07-24 00:41:00
那如果是像以下这个文字档的格式:https://drive.google.com/open?id=0B96i5UZXVGEeZzh已使用命令提示字符将多个这类档案合并后,只要取long
作者: soyoso (我是耀宗)   2015-07-24 00:44:00
上面连结Not Found Error 404
楼主: oscar328111   2015-07-24 00:45:00
tm.Average Thread tension这项字段以下的数据,那我语法该如何改变呢?https://goo.gl/OAH6PO 抱歉刚刚连结没贴好这个是合并后贴到EXCEL后的档案:https://goo.gl/TUOcmH我自己试过改语法好像都不行,再次麻烦解决了,感谢!
作者: soyoso (我是耀宗)   2015-07-24 08:41:00
以上二个连结都要权限 https://goo.gl/JX7nCl
楼主: oscar328111   2015-07-24 21:50:00
http://1drv.ms/1TWNso3 这个应该可以了在档案上面按右键下载,一个是文字档,一个是合并后的Excel档
作者: soyoso (我是耀宗)   2015-07-24 22:09:00
选取a栏后,资料→筛选→自动筛选,按下筛选倒三角,选自订,等于或包含,再打上原po要筛选的条件或是使用进阶筛选,如果复制到其他地方的话,b栏标题也请打上
楼主: oscar328111   2015-07-24 22:23:00
我的意思是要这样http://1drv.ms/1TWNso3 请看新增的jpg图片档
作者: soyoso (我是耀宗)   2015-07-24 22:49:00
1.先用match抓到(cn)的位置,2.同1抓Number of Threads位以确定笔数,笔数可用前项的位置配合indexhttps://goo.gl/kzBjKH 用(cn)的位置和笔数应可用offset来调整成原po要的
楼主: oscar328111   2015-07-24 23:09:00
那请问B栏是要输入什么语法呢?可以给我你的范例档我来研究看看吗? 感恩!
作者: soyoso (我是耀宗)   2015-07-24 23:19:00
b栏和a栏类似,将(cn)改为number of threads这储存格的字串,也可指定储存格
楼主: oscar328111   2015-07-24 23:32:00
我照你的方式改了 可是B栏一直出现#N/A ?A栏目前没有问题
作者: soyoso (我是耀宗)   2015-07-24 23:34:00
储存格字串"Number of Threads :"您有打上空格吗?如不打就改为"Number of Threads*"或是指定储存格Sheet1!A$13
楼主: oscar328111   2015-07-24 23:38:00
B栏我试出来了 那C栏抓哪里的资料呢?
作者: soyoso (我是耀宗)   2015-07-24 23:41:00
抓Number of Threads的B栏资料您有B栏列号资料配合index或是offset抓取Number of Thread的B栏资料
楼主: oscar328111   2015-07-24 23:45:00
所以是(cn)改709?
作者: soyoso (我是耀宗)   2015-07-24 23:49:00
不是;是=index(sheet1!b:b,b2)
楼主: oscar328111   2015-07-24 23:49:00
=MATCH("709",OFFSET(Sheet1!B$1,A1,,1000),)+A1
作者: soyoso (我是耀宗)   2015-07-24 23:53:00
不是用match("709"...)
楼主: oscar328111   2015-07-24 23:54:00
我在Sheet3要输出结果,指令如下:=IF(OFFSET(Sheet2!$C$1,COLUMN(),)>=ROW(),OFFSET(Sheet1!$E$1,SMALL(Sheet2!$A:$A,COLUMN())+ROW()-1,),"")结果显示出来的值都是0,哪里有错呢?刚刚C栏也OK了OK了 我刚刚少打了一些符号 哈!真的谢谢啦 真是高手中的高手阿! 感激不尽!
作者: soyoso (我是耀宗)   2015-07-25 00:03:00
公式有用到column(),row()要看您填入那一个储存格了^^

Links booklink

Contact Us: admin [ a t ] ucptt.com