返回列表 上一主題 發帖

[已解決][發問]公式問題-倒數第n個特定字元的位置

ANGELA
Sorry 你的真的不 Work。
有些 Bug。

TOP

本帖最後由 ANGELA 於 2011-4-1 13:32 編輯

合併文字.zip (12.4 KB)
沒細看,以為空格是一致的,原來有那麼多種,這公式確實不適用修改如下
定義名稱: xx=LEN(問題!$A2)-LEN(SUBSTITUTE(問題!$A2," ",))
  C2 =TRIM(MID(SUBSTITUTE($A2," ",REPT(" ",100)),COLUMN(INDIRECT(LOOKUP(XX,{5,6,7,8},{"B","C","D","E"})&1))*100+1,100))
E2=TRIM(MID(SUBSTITUTE($A2," ",REPT(" ",100)),COLUMN(INDIRECT(LOOKUP(XX,{5,6,7,8},{"C","D","E","F"})&1))*100+1,100))
F2=TRIM(MID(SUBSTITUTE($A2," ",REPT(" ",100)),COLUMN(INDIRECT(LOOKUP(XX,{5,6,7,8},{"D","E","F","G"})&1))*100+1,100))
G2=TRIM(MID(SUBSTITUTE($A2," ",REPT(" ",100)),COLUMN(INDIRECT(LOOKUP(XX,{5,6,7,8},{"E","F","G","H"})&1))*100+1,100))
D2 用龔版主,謝版主的方法用替代即可.
也可改成
E2=TRIM(MID(SUBSTITUTE($A2," ",REPT(" ",100)),(MATCH(XX,{5,6,7,8},)+COLUMN(B1))*100+1,100)) 往右COPY 到G2

TOP

Hsieh
謝謝。我不是很明白,但可以用。
!$A1這個我不懂,加上 "!"是什麼意思。我找不到相關說明。
而且一步一步執行會有問題。
例如我把=LEN(!$A1)放進去儲存格,會得到錯誤訊息。
X 是第4個空白的位置。Char(10) 是Line Feed,應該只是做為中繼暫存的變數之用。

你的公式是乾淨利落。其他的部分我可以慢慢研究

TOP

回復 13# Baracuda
在定義名稱中使用驚歎號但未使用工作表名稱
這是共用參照的寫法,只能使用於定義名稱,不能用到儲存格公式
因為我是有用多表測試,所以為了要讓每個工作表都能引用此名稱,所以採用這樣寫法
你可以把驚嘆號刪除,系統在定義名稱公式會自動加入作用中工作表名稱的參照
整個思考邏輯如下:
這是用去除空白後字元數,與全部字元數的差來計算所有空白數量
將此數值減去3就是倒數第4個空白位置
把那個位置的空白用一個A欄不會出現的字元取代
這裡我使用CHAR(10)這個換行字元
然後找到這個換行字元所在位置就是分隔位置了
學海無涯_不恥下問

TOP

Hsieh
謝謝。
這樣很清楚了。公式其他不瞭解的部分都算小事。
「共用參照」這個是我第一次用到的。
謝謝。

TOP

Hsieh
謝謝你的解答。
你的公式部分有一段比較「暴力」,就是C1=TRIM(MID(A1,x,256))

我有做一些小修正而已(比起你這種大架構而言,真的是很小的修正)
C1=TRIM(MID(A2,X,LEN(A2)-X+1))
不登大雅之堂。

TOP

        靜思自在 : 做好事不能少我一人,做壞事不能多我一人。
返回列表 上一主題