Board logo

標題: 統一文字格式 [打印本頁]

作者: vinejason    時間: 2017-5-18 10:31     標題: 統一文字格式

朋友們平安
一個問題請教
地址有段 有巷 有號 有樓
想要把段變成國字呈現
巷與號用阿拉伯字呈現
請問函數要怎麼下 ?
例如: 台北市大安區忠孝東路5段四巷15號2F

變成台北市大安區忠孝東路五段4巷15號2樓

謝謝
作者: fengetianxia    時間: 2017-5-20 12:41

=SUBSTITUTE(REPLACE(REPLACE(A1,FIND("段",A1)-1,1,TEXT(MID(A1,FIND("段",A1)-1,1),"[dbnum1]")),FIND("巷",A1)-1,1,SUMPRODUCT((TEXT(ROW(1:9),"[dbnum1]")=MID(A1,FIND("巷",A1)-1,1))*(ROW(1:9)))),"F","樓")
作者: vinejason    時間: 2017-5-22 15:02

回復 2# fengetianxia
平安
測試發現幾個奇怪現象
大學路1段3巷38號           變成大學路一段0巷38號
中山北路7段81巷7號B2  變成 中山北路七段80巷7號B2
承德路四段12巷71號       變成 承德路四段10巷71號
興南路一段34巷2號         變成 興南路一段30巷2號
作者: fengetianxia    時間: 2017-5-22 16:42

回復 4# vinejason

我還以為原本地址中固定段前面是數字,巷前面是中文字
你試試這個

    =SUBSTITUTE(REPLACE(REPLACE(A1,FIND("路",A1)+1,FIND("段",A1)-FIND("路",A1)-1,TEXT(MID(A1,FIND("路",A1)+1,FIND("段",A1)-FIND("路",A1)-1),"[dbnum1]")),FIND("段",A1)+1,FIND("巷",A1)-FIND("段",A1)-1,IF(ISNUMBER(MID(A1,FIND("段",A1)+1,FIND("巷",A1)-FIND("段",A1)-1)+1),MID(A1,FIND("段",A1)+1,FIND("巷",A1)-FIND("段",A1)-1),SUMPRODUCT((TEXT(ROW(1:99),"[dbnum1]")=MID(A1,FIND("段",A1)+1,FIND("巷",A1)-FIND("段",A1)-1))*(ROW(1:99))))),"F","樓")
作者: jomeow    時間: 2017-5-22 18:17

好厲害... 我還未看得懂怎樣分拆出來..  :'(

回復  vinejason

我還以為原本地址中固定段前面是數字,巷前面是中文字
你試試這個

    =SUBSTITUTE ...
fengetianxia 發表於 2017-5-22 16:42

作者: fengetianxia    時間: 2017-5-23 11:11

回復 7# vinejason

如果段前面有數字大於10的,或者巷前面有中文字大於十的,就用這條吧

    =SUBSTITUTE(REPLACE(REPLACE(A2,FIND("路",A2)+1,FIND("段",A2)-FIND("路",A2)-1,TEXT(MID(A2,FIND("路",A2)+1,FIND("段",A2)-FIND("路",A2)-1),"[dbnum1]")),FIND("段",A2)+1+LEN(TEXT(MID(A2,FIND("路",A2)+1,FIND("段",A2)-FIND("路",A2)-1),"[dbnum1]"))-(FIND("段",A2)-FIND("路",A2)-1),FIND("巷",A2)-FIND("段",A2)-1,IF(ISNUMBER(MID(A2,FIND("段",A2)+1,FIND("巷",A2)-FIND("段",A2)-1)+1),MID(A2,FIND("段",A2)+1,FIND("巷",A2)-FIND("段",A2)-1),SUMPRODUCT((TEXT(ROW($1:$99),"[dbnum1]")=IF(AND(RIGHT(MID(A2,FIND("段",A2)+1,FIND("巷",A2)-FIND("段",A2)-1),1)<>"十",LEN(MID(A2,FIND("段",A2)+1,FIND("巷",A2)-FIND("段",A2)-1))>1),"一"&MID(A2,FIND("段",A2)+1,FIND("巷",A2)-FIND("段",A2)-1),MID(A2,FIND("段",A2)+1,FIND("巷",A2)-FIND("段",A2)-1)))*(ROW($1:$99))))),"F","樓")




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