返回列表 上一主題 發帖

[發問] 請問要如何從左邊非0的數字開始取剩餘字串;或從右邊往左取到0值前一字串取

回復 1# peter460191
陣列公式
=RIGHT(A2,LEN(A2)-LEN(LEFT(A2,MIN(IF(MID(A2,ROW(INDIRECT("1:10")),1)="0",99,ROW(INDIRECT("1:10"))))-1)))

TOP

回復 3# peter460191
因為要逐一取出儲存格中的字元 (今假設資料的最大長度為10個字,ROW(INDIRECT("1:10"))製造{1,2,3,4,5,6,7,8,9,10}陣列值。),故採陣列方式處理;致於如何使用一般公式處理,吾人不解,有待熱心的前輩們指導,謝謝!

TOP

本帖最後由 p212 於 2014-4-21 17:28 編輯

回復 7# Hsieh
超級感謝Hsieh 超版的指點,請問
若儲存格A2內容為00ab15-1,7#的一般公式如何修改方可得「ab15-1」的答案?
煩請指導,謝謝!

TOP

本帖最後由 p212 於 2014-4-22 09:42 編輯

回復 9# Hsieh
謝謝超版傾囊相授,不過對於9#的解法仍有些許的疑惑,可否指導?
儲存格B2一般公式
=RIGHT(A2,LOOKUP(2,1/(MID(A2,LEN(A2)-ROW(INDIRECT("A1:A"&LEN(A2)-1)),1)<>"0"),ROW(INDIRECT("A2:A"&LEN(A2)))))
拆解分析
1、為何INDIRECT("A2:A"&LEN(A2))與INDIRECT("A1:A"&LEN(A2)-1)運算結果是相同的,但卻要針對不一樣的「範圍」計算?
2、為何INDIRECT("A2:A"&LEN(A2))與INDIRECT("A1:A"&LEN(A2)-1)的ref_text是「範圍」的情況,但運算結果卻是該公式所在的對應列的值?(在Excel說明檔中未見該用法)
3、又ROW(INDIRECT("A2:A"&LEN(A2)))向下複製公式其產生的值皆為2;ROW(INDIRECT("A1:A"&LEN(A2)-1))向下複製公式其產生的值皆為1,為何還要套用公式?

TOP

回復 13# Hsieh
多謝超版精闢的解說,又多學一課,開心收錄於筆記中!

TOP

        靜思自在 : 【時間成就一切】時間可以造就人格,可以成就事業,也可以儲積功德。
返回列表 上一主題