標題:
[發問]
請問一下如何擷取A1儲存格中括號內的數值,並將之顯示在B1儲存格呢?
[打印本頁]
作者:
happycoccolin
時間:
2012-6-28 17:52
標題:
請問一下如何擷取A1儲存格中括號內的數值,並將之顯示在B1儲存格呢?
大家好~不好意思~:)
想請問一下如何擷取A1儲存格中括號內的數值,並將之顯示在B1儲存格呢?例如:ABC(1234)EFG->1234,但是每一格的內容不盡相同,也有可能是ABCDEF(5687)CDE->5678,所以沒有用LEFT() & RIGHT()做
唯一相同的是每一儲存格都有括號()一組
還有,目前需要比對大量儲存格資料,但是因為單一儲存格內可能會有多筆資料存在(A1,A2,A3...A50),有辦法跟儲存格中只有一個數值的做比對嗎
例如:sheet1裡的B1儲存格(內容包含:A01,A02,A03...A50數值),需要跟sheet2的B1儲存格(內容為A01)比對,若數值相同(都有A01)希望傳回Sheet1中的A1值在sheet2的C1中,請問有沒有辦法做到呢?
不知說的清不清楚~~也請各位高手撥冗看一下~~~感謝感謝~
作者:
happycoccolin
時間:
2012-6-28 18:16
附上附件~FYR~
作者:
Hsieh
時間:
2012-6-28 18:43
回復
2#
happycoccolin
第一個問題
B1=MID(A1,FIND("(",A1)+1,FIND(")",A1)-FIND("(",A1)-1)
第二個問題就不懂你的目的為何了
Sheet1的B欄是多組字串,但又只比對一組文字,這樣說法有點模糊
請把實例附檔說明
作者:
happycoccolin
時間:
2012-6-29 09:34
Hsieh老師,謝謝您的回覆~~
問題二我再詳述一次如下~~~也請幫忙看一下,因為我只會使用VLOOKUP比對,這樣一個欄位有多個值的實在想破頭了..謝謝~
Sheet1
A B C
09-87654321 A1 12-34567890 Sheet1 B欄與Sheet2 B欄全部比對,若之中有相同的值,希望為傳Sheet2 A欄的值在Sheet1的C欄
09-87654322 G4 12-34567895
09-87654323 D1
09-87654324 C1 None <-Sheet2中無相符
09-87654325 D3 12-34567892
Sheet2
A B
12-34567890 A1,A2,A3,A4,A5,A6,A7,A8,A9,A10
12-34567891 B1
12-34567892 C2,D3
12-34567893 F4
12-34567894 G1
12-34567895 G4,G5,G6
作者:
happycoccolin
時間:
2012-7-2 17:20
哈囉~想請教一下這樣的比較方式EXCEL可以做到嗎?不知道有沒有人知道呢?謝謝~~~~~
作者:
Hsieh
時間:
2012-7-2 18:10
回復
5#
happycoccolin
[attach]11559[/attach]
作者:
happycoccolin
時間:
2012-7-5 09:59
哇!!真是太感恩了!!謝謝老師的教學~
作者:
jackson7015
時間:
2012-7-18 08:17
藉此主題問題
若是將問題一的文字擷取,變更為只擷取ABC-DEF-
ABCDEF
後面-號紅色字體的部分
請問函數要如何更正
套用Hsieh版大的公式後,會出現ABCDE的擷取資料
問題中的
-
號,會不定數量2~3個,但都是只需要擷取最後-號的後面的ABCDEF部分而已
作者:
Hsieh
時間:
2012-7-18 08:37
回復
8#
jackson7015
=MID(SUBSTITUTE(A1,"-",";",LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))),FIND(";",SUBSTITUTE(A1,"-",";",LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))))+1,255)
作者:
jackson7015
時間:
2012-7-18 08:53
回復
9#
Hsieh
感謝Hsieh板大
函式可正常運作;
若要改成顯示ABC-DEF-
ABCDE
F,後面紅色字體部分;最後的一個位元(或字體)不擷取
公式要變更哪個地方呢?
作者:
Hsieh
時間:
2012-7-18 14:07
回復
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))
作者:
jackson7015
時間:
2012-7-19 08:24
抱歉,一直麻煩Hsieh 版大
因為想要了解,這種類似問題的相關不同排列擷取,所以才問了相似的問題
目前三種都可正常執行運用
感謝Hsieh 版大的熱心幫忙
作者:
Hsieh
時間:
2012-7-19 09:04
回復
12#
jackson7015
這種類似問題,其實都可以自己思考,你會發現這個問題中所用的函數不就是MID函數中,擷取長度的變化
最初的技巧只有SUBSTITUTE來將最後一個分隔符號用特定字元取代,得以判斷所需擷取的片段
接下來的變形都是MID或LEFT或RIGHT來擷取部分字串
應該徹底了解整個公式的意義才能加以運用。
作者:
jackson7015
時間:
2012-7-19 16:27
感謝Hsieh版大的指導
小弟的函數運用還在起步學習階段,相同函數多要參考多種相似運用來慢慢解析
會慢慢改進學習態度;感激Hsieh版大不吝指教
作者:
happycoccolin
時間:
2012-9-5 18:22
回復
6#
Hsieh
Hsieh 大大請教一下~
目前我使用上遇到一個問題,利用B欄來做比對,但是若比對到例如字元為:IR10000 & R10000,會出現混淆的現象~只會抓到IR10000的值,請問要怎麼改呢?謝謝!!
Sheet1
A B C
09-87654321 IR10000 12-34567890
09-87654322 R10000 12-34567890 (應該要抓到12-34567891)
09-87654323 D1
Sheet2
A B
12-34567890 R10000,R10001
12-34567891 IR10000
12-34567892 C2,D3
作者:
Hsieh
時間:
2012-9-5 22:23
回復
15#
happycoccolin
模糊比對無法達成那就用自定義函數試試
[attach]12385[/attach]
Function Dictionary(key As Range, item As Range, crt As String)
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To key.Count
For Each a In Split(key(i), ",")
d(CStr(a)) = item(i).Value
Next
Next
Dictionary = d(CStr(crt))
End Function
複製代碼
作者:
happycoccolin
時間:
2012-9-6 10:24
回復
16#
Hsieh
HSIEN大大我試過了謝謝您!!謝謝!
只是VBA完全不熟,還蠻想搞清楚來龍去脈的~@@
是要多花點時間研讀了
作者:
ddrreate
時間:
2013-8-1 15:20
回復 happycoccolin
Hsieh 發表於 2012-7-2 18:10
請問這種模糊比對要如何用VBA寫出來
我的問題其實用這個函數能解決, 不過我還是想知道VBA要怎麼寫
作者:
mhl9mhl9
時間:
2013-8-5 18:11
B1=MID(A1,FIND("(",A1)+1,FIND(")",A1)-FIND("(",A1)-1)
C5=IF(FIND(B5,Sheet2!B1)>0,Sheet2!A1,"")
作者:
shuwen0219
時間:
2015-9-18 12:35
本帖最後由 shuwen0219 於 2015-9-18 12:38 編輯
{1187632393755295}
[T200P1275298438942244]
請問同一欄�堛爾禤あ陶o兩種,我要取出中間的數值的要怎麼做?
由後算取16碼數字.
作者:
hcm19522
時間:
2015-9-21 16:48
回復 8# jackson7015
http://blog.xuite.net/hcm19522/twblog/344440654
作者:
shuwen0219
時間:
2015-9-27 23:19
訂單號要從商品訂單號或備註取出,位置的判斷應該是跟業務類型有關,
而且實際取出的資料也發現有文字有數字,即使肉眼判斷單號是一致的,
但是碼數實際有15-18碼.
己經打算請軟體公司直接客制報表了,不過還是很想知道這種的資料要怎麼處理比較好.
作者:
tku0216
時間:
2015-10-6 23:13
回復
1#
happycoccolin
供參考:
第一個問題其實可以使用資料剖析,先做一次"(",再做一次")"就可以完成,不需要用函數。
作者:
hcm19522
時間:
2015-10-7 09:58
http://blog.xuite.net/hcm19522/twblog/347023385
作者:
hcm19522
時間:
2015-10-7 10:14
http://blog.xuite.net/hcm19522/twblog/344440654
http://blog.xuite.net/hcm19522/twblog/347023385
作者:
hcm19522
時間:
2015-10-7 10:28
http://blog.xuite.net/hcm19522/twblog/344440654
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)