PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   七嘴八舌異言堂 (https://www.pcdvd.com.tw/forumdisplay.php?f=12)
-   -   請問如何用excel函數抽出條碼最後幾個數字? (https://www.pcdvd.com.tw/showthread.php?t=865268)

cp293749 2009-08-19 09:54 PM

請問如何用excel函數抽出條碼最後幾個數字?
 
小弟我睡夢中也在思索,10後面的數字就是產品批號

有請excel函數達人幫我,拜託拜託!

例如

01050193150280481710092810102343

013501931502033317140128301010904308

0155019315038783171309283010101377347

抽取最後一個10後面的幾個數字,有時是4位數,有時是6位數,有時是7位數

fxup6 2009-08-19 10:43 PM

=IF(ISERROR(FIND(10,RIGHT(A1,6)))=FALSE,RIGHT(A1,4),
IF(ISERROR(FIND(10,RIGHT(A1,8)))=FALSE,RIGHT(A1,6),
IF(ISERROR(FIND(10,RIGHT(A1,6)))=FALSE,RIGHT(A1,4),
IF(ISERROR(FIND(10,RIGHT(A1,9)))=FALSE,RIGHT(A1,7),0))))

拋磚引玉一下
A1就是你要判斷的條碼位址 不知道有沒有比較簡化的寫法

ccx1103 2009-08-20 08:27 AM

所以樓主看到2F寫的嗎?
不規則的資料除非經過排序或整理,
不然想直接透過電腦簡化, 只會讓事情變的更複雜.

bluesky206 2009-08-20 08:49 AM

引用:
作者cp293749
01050193150280481710092810102343

013501931502033317140128301010904308

0155019315038783171309283010101377347

抽取最後一個10後面的幾個數字,有時是4位數,有時是6位數,有時是7位數


這麼多個10,
你要它能正確抓取?
我看是會弄得更複雜吧 :jolin:

a843433 2009-08-20 08:59 AM

連人類思維都很難做到的事情,連規律都沒有,就別想教電腦去做了吧 U_U

凌渡宇 2009-08-20 10:15 AM

如果規則不變的話 拆成以下就比較簡單了

010501931502804817100928 1010 2343
01350193150203331714012830 1010 904308
01550193150387831713092830 1010 1377347

A1=01050193150280481710092810102343
A2=013501931502033317140128301010904308
A3=0155019315038783171309283010101377347

RIGHT(A1,LEN(A1)-FIND(1010,A1)-3)=2343
RIGHT(A2,LEN(A2)-FIND(1010,A2)-3)=904308
RIGHT(A3,LEN(A3)-FIND(1010,A3)-3)=1377347

sazabijiang 2009-08-20 10:25 AM

引用:
作者cp293749
小弟我睡夢中也在思索,10後面的數字就是產品批號

有請excel函數達人幫我,拜託拜託!

例如
01050193150280481710092810102343
013501931502033317140128301010904308
0155019315038783171309283010101377347

抽取最後一個10後面的幾個數字,有時是4位數,有時是6位數,有時是7位數



用Excel內建函數找出 "最後一個10" 我不會, 但是用VBA寫一個自訂函數就很簡單, 先用遞迴找出最後一個10的位置, 然後用MID函數就可以取回10以後的字串.

a843433 2009-08-20 10:43 AM

會這樣設計系統規則一定會有問題,假設有個編號是一千萬一十萬一千一十,那取出時該拿到甚麼??

sazabijiang 2009-08-20 12:07 PM

引用:
作者a843433
會這樣設計系統規則一定會有問題,假設有個編號是一千萬一十萬一千一十,那取出時該拿到甚麼??


根據需求, 取出來的結果是空字串 XD

cp293749 2009-08-20 01:25 PM

引用:
作者bluesky206
這麼多個10,
你要它能正確抓取?
我看是會弄得更複雜吧 :jolin:





此為國際大廠的產品

圖片中的條碼17, 10有括號

(17)前面2232表示產品的型號

(17)後面6個數字130728代表產品效期2013.07.28

(10)前面2或3個數字表示一箱或一盒裝多少數量20個或120個

(10)後面的數字表示此產品的批號903602

問題來了

掃描器掃出來17, 10都沒括號

0155019315022324171307283012010903602

若是10有括號就可算出(10)在字串的位置,還可以區別其他10

10沒括號加上批號位數不一定 RIGHT()便無法應用上


所有的時間均為GMT +8。 現在的時間是12:54 AM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。