PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 七嘴八舌異言堂
帳戶
密碼
 

  回應
 
主題工具
cp293749
Major Member
 

加入日期: Jul 2005
文章: 121
請問如何用excel函數抽出條碼最後幾個數字?

小弟我睡夢中也在思索,10後面的數字就是產品批號

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

例如

01050193150280481710092810102343

013501931502033317140128301010904308

0155019315038783171309283010101377347

抽取最後一個10後面的幾個數字,有時是4位數,有時是6位數,有時是7位數
     
      
舊 2009-08-19, 09:54 PM #1
回應時引用此文章
cp293749離線中  
fxup6
New Member
 

加入日期: Jun 2004
文章: 6
=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就是你要判斷的條碼位址 不知道有沒有比較簡化的寫法
 

此文章於 2009-08-19 10:49 PM 被 fxup6 編輯. 原因: 忘了換行
舊 2009-08-19, 10:43 PM #2
回應時引用此文章
fxup6離線中  
ccx1103
Regular Member
 

加入日期: Aug 2005
文章: 72
所以樓主看到2F寫的嗎?
不規則的資料除非經過排序或整理,
不然想直接透過電腦簡化, 只會讓事情變的更複雜.
舊 2009-08-20, 08:27 AM #3
回應時引用此文章
ccx1103離線中  
bluesky206
*停權中*
 

加入日期: Feb 2009
文章: 11
引用:
作者cp293749
01050193150280481710092810102343

013501931502033317140128301010904308

0155019315038783171309283010101377347

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


這麼多個10,
你要它能正確抓取?
我看是會弄得更複雜吧
舊 2009-08-20, 08:49 AM #4
回應時引用此文章
bluesky206離線中  
a843433
Advance Member
 

加入日期: Jan 2005
文章: 433
連人類思維都很難做到的事情,連規律都沒有,就別想教電腦去做了吧 U_U
舊 2009-08-20, 08:59 AM #5
回應時引用此文章
a843433離線中  
凌渡宇
Major Member
 

加入日期: Feb 2009
文章: 180
如果規則不變的話 拆成以下就比較簡單了

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
舊 2009-08-20, 10:15 AM #6
回應時引用此文章
凌渡宇離線中  
sazabijiang
*停權中*
 

加入日期: Sep 2004
您的住址: 台北
文章: 8
引用:
作者cp293749
小弟我睡夢中也在思索,10後面的數字就是產品批號

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

例如
01050193150280481710092810102343
013501931502033317140128301010904308
0155019315038783171309283010101377347

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



用Excel內建函數找出 "最後一個10" 我不會, 但是用VBA寫一個自訂函數就很簡單, 先用遞迴找出最後一個10的位置, 然後用MID函數就可以取回10以後的字串.
舊 2009-08-20, 10:25 AM #7
回應時引用此文章
sazabijiang離線中  
a843433
Advance Member
 

加入日期: Jan 2005
文章: 433
會這樣設計系統規則一定會有問題,假設有個編號是一千萬一十萬一千一十,那取出時該拿到甚麼??
舊 2009-08-20, 10:43 AM #8
回應時引用此文章
a843433離線中  
sazabijiang
*停權中*
 

加入日期: Sep 2004
您的住址: 台北
文章: 8
引用:
作者a843433
會這樣設計系統規則一定會有問題,假設有個編號是一千萬一十萬一千一十,那取出時該拿到甚麼??


根據需求, 取出來的結果是空字串 XD
舊 2009-08-20, 12:07 PM #9
回應時引用此文章
sazabijiang離線中  
cp293749
Major Member
 

加入日期: Jul 2005
文章: 121
引用:
作者bluesky206
這麼多個10,
你要它能正確抓取?
我看是會弄得更複雜吧





此為國際大廠的產品

圖片中的條碼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()便無法應用上
舊 2009-08-20, 01:25 PM #10
回應時引用此文章
cp293749離線中  


    回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是01:30 PM.


vBulletin Version 3.0.1
powered_by_vbulletin 2025。