Board logo

標題: [發問] 固定欄寬套印...中文+車牌英文字母+數字 [打印本頁]

作者: cypd    時間: 2023-12-21 02:31     標題: 固定欄寬套印...中文+車牌英文字母+數字

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

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

[attach]37163[/attach]

[attach]37164[/attach]
作者: goner    時間: 2023-12-21 19:22

回復 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位元
作者: cypd    時間: 2023-12-21 21:25

回復 2# goner

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

[attach]37169[/attach]
作者: goner    時間: 2023-12-22 16:08

回復 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)
[attach]37170[/attach]
作者: cypd    時間: 2023-12-22 23:28

回復 4# goner

非常感謝  goner  再度回覆

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

[attach]37171[/attach]
作者: goner    時間: 2023-12-23 07:00

回復 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)
作者: 准提部林    時間: 2023-12-23 12:10

本帖最後由 准提部林 於 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))

注意:字串中不能有空白字元
作者: cypd    時間: 2023-12-23 21:06

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

回復 6# goner

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

[attach]37172[/attach]

[attach]37173[/attach]
作者: cypd    時間: 2023-12-23 21:21

回復 7# 准提部林

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

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

[attach]37174[/attach]
作者: 准提部林    時間: 2023-12-23 21:32

回復 9# cypd

那是15個位元, 後面是中文字, 若加進去就超過16位元
作者: 准提部林    時間: 2023-12-23 21:39

回復 9# cypd


一個中文字(或全型字)算2個位元, 半型字算1個位元,
8個中文字就是16個位元, 中間夾雜半型字, 就不可能每行完全對齊,
自行去算~~~
作者: Andy2483    時間: 2023-12-25 10:24

謝謝論壇,謝謝各位前輩
視覺感頭尾對齊的方式,後學學習方案如下
設定前:
[attach]37176[/attach]

設定結果:
[attach]37177[/attach]
作者: cypd    時間: 2023-12-26 02:32

回復 12# Andy2483

感謝先進 Andy2483 提示參考方示  ^^




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)