[問題] 如何提取特定字元

看板Office作者 (tarro38)時間10年前 (2015/06/06 06:39), 編輯推噓0(0025)
留言25則, 2人參與, 最新討論串1/1
(若是和其他不同軟體互動之問題 請記得一併填寫) 軟體: excel 2007 各位好,最近處理到一系列的時間資料 原始資料的格式如下: Sunday, May 31, 2015 at 22:28 我想要用公式讓時間自動變成: 2015/5/31 22:28 原本想用MID、LEFT這些函數 但卻發現原始資料前面的星期、月份名稱讓我無法鎖定字元數 (因為隨著資料時間不同,星期、月份、日期的字元數都會變) 請問有甚麼建議的好方法可以準確的截取所需字元呢? 範例檔案如連結,謝謝>< https://goo.gl/VOghPa -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.108.18 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1433543942.A.387.html

06/06 07:31, , 1F
https://goo.gl/4EkikR 配合find和substitute試試
06/06 07:31, 1F

06/09 21:55, , 2F
真不好意思,研究了一陣子,還是看不太懂
06/09 21:55, 2F

06/09 21:55, , 3F
方便的話可以麻煩SOYO大再教一下公式內容的邏輯嘛
06/09 21:55, 3F

06/09 22:00, , 4F
SUBSTITUTE(RIGHT(A2,13),"at","/"的意思是針對右邊數過
06/09 22:00, 4F

06/09 22:00, , 5F
過來的13個字元,用/取代at
06/09 22:00, 5F

06/09 22:01, , 6F
但再後面我就開始有點跟不上了
06/09 22:01, 6F

06/10 07:46, , 7F
月份MATCH(MID(A2,FIND(" ",A2)+1,3)&"*",E:E,)
06/10 07:46, 7F

06/10 07:49, , 8F
想法是先用find找到" ",這樣可以找到星期和月份中間的位
06/10 07:49, 8F

06/10 07:50, , 9F
置,找到後+1就是月份起始位置,以檔案內的C2來看就是8+1
06/10 07:50, 9F

06/10 07:52, , 10F
接著用mid取三個字元(因彼此不重覆,且字數較短的五月也適
06/10 07:52, 10F

06/10 07:53, , 11F
用);用match配合萬用字元(*)來參照E欄,看對應到那個月份
06/10 07:53, 11F

06/10 07:54, , 12F
日期MID(A2,LEN(A2)-16,2)
06/10 07:54, 12F

06/10 08:09, , 13F
想法是先用len來計算該儲存格總字數,減16,16為從日期起
06/10 08:09, 13F

06/10 08:13, , 14F
到最後,例如"29, 2015 at 03:02",有17個字元,總字元減
06/10 08:13, 14F

06/10 08:14, , 15F
17則會從29前面的" "開始取
06/10 08:14, 15F

06/10 08:19, , 16F
固應多+1往後,寫法上應為len(a2)-17+1,縮短為-16了
06/10 08:19, 16F

06/10 08:21, , 17F
最後取二個字元就為日期
06/10 08:21, 17F

06/10 08:22, , 18F
另外儲存格C3來看 7, 2015 at 17:18,取二個字元則會取到
06/10 08:22, 18F

06/10 08:24, , 19F
" 7",帶有" "空格,但excel在--運算下可正確判斷為日期序
06/10 08:24, 19F

06/10 08:24, , 20F
列值
06/10 08:24, 20F

06/10 08:29, , 21F
抱歉原本提供的檔案儲存格E1所代表的一月英文有誤,連結內
06/10 08:29, 21F

06/10 08:29, , 22F
已修正
06/10 08:29, 22F

06/18 20:21, , 23F
原來如此
06/18 20:21, 23F

06/18 20:22, , 24F
太感謝soyo大了
06/18 20:22, 24F

06/18 20:22, , 25F
讓我學到好多,謝謝><
06/18 20:22, 25F
文章代碼(AID): #1LSYK6E7 (Office)
文章代碼(AID): #1LSYK6E7 (Office)