返回列表 上一主題 發帖

[發問] 請問一下如何擷取A1儲存格中括號內的數值,並將之顯示在B1儲存格呢?

回復 2# happycoccolin
第一個問題
B1=MID(A1,FIND("(",A1)+1,FIND(")",A1)-FIND("(",A1)-1)
第二個問題就不懂你的目的為何了
Sheet1的B欄是多組字串,但又只比對一組文字,這樣說法有點模糊
請把實例附檔說明
學海無涯_不恥下問

TOP

回復 5# happycoccolin


   
學海無涯_不恥下問

TOP

回復 8# jackson7015


    =MID(SUBSTITUTE(A1,"-",";",LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))),FIND(";",SUBSTITUTE(A1,"-",";",LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))))+1,255)
學海無涯_不恥下問

TOP

回復 10# jackson7015

好像是在考試唷
=LEFT(MID(SUBSTITUTE(A1,"-",";",LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))),FIND(";",SUBSTITUTE(A1,"-",";",LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))))+1,255),LEN(A1)-(FIND(";",SUBSTITUTE(A1,"-",";",LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))))+1))
學海無涯_不恥下問

TOP

回復 12# jackson7015
這種類似問題,其實都可以自己思考,你會發現這個問題中所用的函數不就是MID函數中,擷取長度的變化
最初的技巧只有SUBSTITUTE來將最後一個分隔符號用特定字元取代,得以判斷所需擷取的片段
接下來的變形都是MID或LEFT或RIGHT來擷取部分字串
應該徹底了解整個公式的意義才能加以運用。
學海無涯_不恥下問

TOP

回復 15# happycoccolin

模糊比對無法達成那就用自定義函數試試

   
  1. Function Dictionary(key As Range, item As Range, crt As String)
  2. Set d = CreateObject("Scripting.Dictionary")
  3. For i = 1 To key.Count
  4.   For Each a In Split(key(i), ",")
  5.     d(CStr(a)) = item(i).Value
  6.   Next
  7. Next
  8. Dictionary = d(CStr(crt))
  9. End Function
複製代碼
學海無涯_不恥下問

TOP

        靜思自在 : 每天無所事事,是人生的消費者,積極、有用才是人生的創造者。
返回列表 上一主題