[算表] 多筆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