返回列表 上一主題 發帖

[發問] 固定欄寬套印...中文+車牌英文字母+數字

[發問] 固定欄寬套印...中文+車牌英文字母+數字

有一套印檔是固定欄寬套印...中文+車牌英文字母+數字

希望能將 1 或 2 的測試文字
自動抓取至 B3:B7 儲存格處套印
B3儲存格能容 8個中文字(正常字大小)
問題出現在 B4 因有中文+車牌英文字母+數字因素
造成公式不好拿捏...
B3:B7 是套印範圍



1121221.rar (6.96 KB)

回復 1# cypd


    不使用字數,請使用位元設定即可。
中文字以及 ",。、" 等都是計2位元,英文以及英文符號計1位元。

故使用公式如下:
B3:=LEFTB(P4,16)               獲取前16位元
B4:=MIDB($P$4,17,16)     獲取第17位元開始共16位元
B5:=MIDB($P$4,33,16)     獲取第33位元開始共16位元
B6:=MIDB($P$4,49,16)     獲取第49位元開始共16位元
B7:=MIDB($P$4,65,16)     獲取第65位元開始共16位元

TOP

回復 2# goner

非常感謝  goner  熱心的回覆
非常抱歉...因問題中有舊車車牌因素
所以有如下狀況
B4:B7 間之儲存格因車牌因英文字母少一碼關係
造成左右空白間隙稍大

TOP

回復 3# cypd


    請改用公式為:
B3:=LEFTB(P4,16)
B4:=MIDB($P$4,LENB(B3),16)
B5:=MIDB($P$4,LENB(B3)+LENB(B4),16)
B6:=MIDB($P$4,LENB(B3)+LENB(B4)+LENB(B5),16)
B7:=MIDB($P$4,LENB(B3)+LENB(B4)+LENB(B5)+LENB(B6),16)

TOP

回復 4# goner

非常感謝  goner  再度回覆

針對所提供另一解法...似乎對於原有 ABC-7890 牌號產生缺字一事
如下圖檔

TOP

回復 5# cypd


    忘了還要再往後1位元才是要取得的資料。
B3:=LEFTB(P4,16)
B4:=MIDB($P$4,1+LENB(B3),16)
B5:=MIDB($P$4,1+LENB(B3)+LENB(B4),16)
B6:=MIDB($P$4,1+LENB(B3)+LENB(B4)+LENB(B5),16)
B7:=MIDB($P$4,1+LENB(B3)+LENB(B4)+LENB(B5)+LENB(B6),16)

TOP

本帖最後由 准提部林 於 2023-12-23 12:16 編輯

B3//陣列公式(三鍵輸入)//下拉
=MIDB(P$3,ROW(A1)*16-15-SUM(N(RIGHT(B$2:B2)=" ")),16)

=TRIM(MIDB(P$3,SUM(LENB(B$2:B2))+1,16))

一般輸入
=MIDB(P$3,ROW(A1)*16-15-SUMPRODUCT(N(RIGHT(B$2:B2)=" ")),16)

=TRIM(MIDB(P$3,SUMPRODUCT(LENB(B$2:B2))+1,16))

注意:字串中不能有空白字元

TOP

本帖最後由 cypd 於 2023-12-23 21:07 編輯

回復 6# goner

非常感謝  goner  再度回覆
深感抱歉可能表達不清楚
左邊 B3:B7 儲存格只能套用 P4 之儲存格位址
(文字因需求不同有所改變...例如車輛使用不同)



1121223.rar (7.75 KB)

TOP

回復 7# 准提部林

感謝版主 准提部林 提供不同解法

輸出結果如下
關於輸入舊牌時 B4所產生的部分
似乎覺得好像少了一個位元的感覺…

TOP

回復 9# cypd

那是15個位元, 後面是中文字, 若加進去就超過16位元

TOP

        靜思自在 : 要用心,不要操心、煩心。
返回列表 上一主題