Board logo

標題: [發問] 日期格式轉換不過來 [打印本頁]

作者: li_hsien    時間: 2014-1-7 08:46     標題: 日期格式轉換不過來

小弟我有串日期資料

我想將格式統一成像1月份的那樣

EX:
03-二月-2014
想轉換成
2/3

但我不管怎麼轉換格式就是換不過來

以下為附檔
麻煩各位大大

謝謝 :  )

[attach]17202[/attach]
作者: Hsieh    時間: 2014-1-7 08:57

回復 1# li_hsien
這樣的字串並非標準日期
請利用取代將國字月份改成數值
然後用資料剖析轉成日期
    [attach]17203[/attach]
作者: li_hsien    時間: 2014-1-7 10:43

回復 2# Hsieh

謝謝板大的幫忙

不過還真不知道他是不是日期的制式格式
作者: softsadwind    時間: 2014-1-7 11:17

回復 1# li_hsien


   b16 =TEXT(DATE(RIGHT(A16,4),MATCH(MID(A16,4,LEN(A16)-9),{"ㄧ","二","三","四","五","六","七","八","九","十","十一","十二"},0),LEFT(A16,2)),"dd-mmm-yyyy")
  下拉
作者: li_hsien    時間: 2014-1-7 22:16

回復 4# softsadwind

謝謝S大

這方法也不錯


不過小弟有個小地方看不太懂
為什麼要用LEN(A16)-9表示

直接用1應該有OK吧

還是另有用途


看到不一樣的程式碼

都覺每次解題太制式化了

轉個彎其實也能想出好方法

我完全沒想到用match來比對

哈哈


謝謝大大
作者: softsadwind    時間: 2014-1-7 23:07

[quote]回復  softsadwind




單純以A16來看,是直接打mid(A16,4,1)就可以
我是考慮到之後的十一月或者十二月,所以就改成MID(A16,4,LEN(A16)-9)
如果直接寫mid(A16,4,1) 當你遇到十一月或者十二月 只會擷取出"十"
傻眼的我就去找他的規則性,發現可以用總長度的差異來計算,於是
a16=01-二月-2014  有十個字元 - 9 = 1    (mid(A16,4,1)擷取一個字元,也就是"二")
a17=01-十一月-2014 有十一個字元 - 9 = 2 (mid(A17,4,2)擷取兩個字元,也就是"十一")

ps..我不是大大,大家教學相長...
作者: li_hsien    時間: 2014-1-8 20:37

回復 6# softsadwind


    對吼!!!

    我忘記還有10,11,12月的可能

    哈哈

    謝謝你的解答  受用無窮




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)