[算表] 多筆txt純文字檔轉換為excel問題

看板Office作者時間10年前 (2015/07/22 22:05), 編輯推噓0(0069)
留言69則, 2人參與, 最新討論串1/1
軟體: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 . . . 有什麼方法可以不靠手動貼上,而是自動轉換可以做到呢?? 可否請各位高手解答一下,謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.38.186.44 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1437573940.A.B6D.html

07/22 22:13, , 1F
如不以巨集方式;而改以用命令提示字元
07/22 22:13, 1F

07/22 22:16, , 2F
copy *.txt 自訂檔名.txt,合併,在用excel分割資料,及轉
07/22 22:16, 2F

07/22 22:16, , 3F
07/22 22:16, 3F

07/22 22:18, , 4F
有考慮使用巨集,但我的文字檔每次的檔名跟數量都不一
07/22 22:18, 4F

07/22 22:19, , 5F
樣,好像也不太適合用巨集
07/22 22:19, 5F

07/22 22:20, , 6F
謝謝soyoso大大,那請問分割資料要怎麼做呢?
07/22 22:20, 6F

07/22 22:20, , 7F
檔名不一樣,可用dir(*.txt),數量不一樣用range.end(參數
07/22 22:20, 7F

07/22 22:21, , 8F
).row或是用worksheetfunction.counta/count
07/22 22:21, 8F

07/22 22:22, , 9F
分割資料方式則是用資料→資料工具→資料剖析
07/22 22:22, 9F

07/22 22:33, , 10F
我使用命令提示字元合併文字檔後,會變成a~e欄資料都
07/22 22:33, 10F

07/22 22:34, , 11F
是往下面增加,而不是往右邊增加,請教一下有什麼方法
07/22 22:34, 11F

07/22 22:34, , 12F
可以改變嗎?
07/22 22:34, 12F

07/22 22:52, , 13F
轉置方面想到的是用offset配合輔助欄
07/22 22:52, 13F

07/22 22:52, , 14F
07/22 22:52, 14F

07/23 00:36, , 15F
感謝soyoso唷,問題差不多解決一半了,現在卡在你給的
07/23 00:36, 15F

07/23 00:37, , 16F
範例檔有些函數好像不支援EXCEL2000版本,而我公司只
07/23 00:37, 16F

07/23 00:37, , 17F
能用excel2000,不知還有其他可行的方法嗎? 謝謝
07/23 00:37, 17F

07/23 07:27, , 18F
抱歉,眼拙沒看清楚 請以這版為主https://goo.gl/0bLptA
07/23 07:27, 18F

07/24 00:41, , 19F
那如果是像以下這個文字檔的格式:
07/24 00:41, 19F

07/24 00:43, , 21F
已使用命令提示字元將多個這類檔案合併後,只要取long
07/24 00:43, 21F

07/24 00:44, , 22F
上面連結Not Found Error 404
07/24 00:44, 22F

07/24 00:45, , 23F
tm.Average Thread tension這項欄位以下的數據,那我
07/24 00:45, 23F

07/24 00:45, , 24F
語法該如何改變呢?
07/24 00:45, 24F

07/24 00:50, , 25F
https://goo.gl/OAH6PO 抱歉剛剛連結沒貼好
07/24 00:50, 25F

07/24 00:53, , 26F
這個是合併後貼到EXCEL後的檔案:
07/24 00:53, 26F

07/24 00:54, , 27F
07/24 00:54, 27F

07/24 01:05, , 28F
我自己試過改語法好像都不行,再次麻煩解決了,感謝!
07/24 01:05, 28F

07/24 08:41, , 29F
以上二個連結都要權限 https://goo.gl/JX7nCl
07/24 08:41, 29F

07/24 21:50, , 30F
http://1drv.ms/1TWNso3 這個應該可以了
07/24 21:50, 30F

07/24 21:51, , 31F
在檔案上面按右鍵下載,一個是文字檔,一個是合併後的
07/24 21:51, 31F

07/24 21:51, , 32F
Excel檔
07/24 21:51, 32F

07/24 22:09, , 33F
選取a欄後,資料→篩選→自動篩選,按下篩選倒三角,選自
07/24 22:09, 33F

07/24 22:09, , 34F
訂,等於或包含,再打上原po要篩選的條件
07/24 22:09, 34F

07/24 22:14, , 35F
或是使用進階篩選,如果複製到其他地方的話,b欄標題也請
07/24 22:14, 35F

07/24 22:14, , 36F
打上
07/24 22:14, 36F

07/24 22:23, , 37F
我的意思是要這樣http://1drv.ms/1TWNso3 請看新增的
07/24 22:23, 37F

07/24 22:23, , 38F
jpg圖片檔
07/24 22:23, 38F

07/24 22:49, , 39F
1.先用match抓到(cn)的位置,2.同1抓Number of Threads位
07/24 22:49, 39F

07/24 22:50, , 40F
以確定筆數,筆數可用前項的位置配合index
07/24 22:50, 40F

07/24 22:51, , 41F
https://goo.gl/kzBjKH 用(cn)的位置和筆數應可用offset來
07/24 22:51, 41F

07/24 22:51, , 42F
調整成原po要的
07/24 22:51, 42F

07/24 23:09, , 43F
那請問B欄是要輸入什麼語法呢?
07/24 23:09, 43F

07/24 23:15, , 44F
可以給我你的範例檔我來研究看看嗎? 感恩!
07/24 23:15, 44F

07/24 23:19, , 45F
b欄和a欄類似,將(cn)改為number of threads這儲存格的字
07/24 23:19, 45F

07/24 23:19, , 46F
串,也可指定儲存格
07/24 23:19, 46F

07/24 23:32, , 47F
我照你的方式改了 可是B欄一直出現#N/A ?
07/24 23:32, 47F

07/24 23:33, , 48F
A欄目前沒有問題
07/24 23:33, 48F

07/24 23:34, , 49F
儲存格字串"Number of Threads :"
07/24 23:34, 49F

07/24 23:36, , 50F
您有打上空格嗎?如不打就改為"Number of Threads*"
07/24 23:36, 50F

07/24 23:37, , 51F
或是指定儲存格Sheet1!A$13
07/24 23:37, 51F

07/24 23:38, , 52F
B欄我試出來了 那C欄抓哪裡的資料呢?
07/24 23:38, 52F

07/24 23:41, , 53F
抓Number of Threads的B欄資料
07/24 23:41, 53F

07/24 23:43, , 54F
您有B欄列號資料配合index或是offset抓取Number of Thread
07/24 23:43, 54F

07/24 23:44, , 55F
的B欄資料
07/24 23:44, 55F

07/24 23:45, , 56F
所以是(cn)改709?
07/24 23:45, 56F

07/24 23:49, , 57F
不是;是=index(sheet1!b:b,b2)
07/24 23:49, 57F

07/24 23:49, , 58F
=MATCH("709",OFFSET(Sheet1!B$1,A1,,1000),)+A1
07/24 23:49, 58F

07/24 23:53, , 59F
不是用match("709"...)
07/24 23:53, 59F

07/24 23:54, , 60F
我在Sheet3要輸出結果,指令如下:
07/24 23:54, 60F

07/24 23:55, , 61F
=IF(OFFSET(Sheet2!$C$1,COLUMN(),)>=ROW(),OFFSET(S
07/24 23:55, 61F

07/24 23:56, , 62F
heet1!$E$1,SMALL(Sheet2!$A:$A,COLUMN())+ROW()-1,)
07/24 23:56, 62F

07/24 23:56, , 63F
,"")
07/24 23:56, 63F

07/24 23:56, , 64F
結果顯示出來的值都是0,哪裡有錯呢?
07/24 23:56, 64F

07/24 23:57, , 65F
剛剛C欄也OK了
07/24 23:57, 65F

07/25 00:02, , 66F
OK了 我剛剛少打了一些符號 哈!
07/25 00:02, 66F

07/25 00:03, , 67F
真的謝謝啦 真是高手中的高手阿! 感激不盡!
07/25 00:03, 67F

07/25 00:03, , 68F
公式有用到column(),row()要看您填入那一個儲存格了
07/25 00:03, 68F

07/25 00:04, , 69F
^^
07/25 00:04, 69F
文章代碼(AID): #1LhwCqjj (Office)
文章代碼(AID): #1LhwCqjj (Office)