バーコードの作り方って記事が少なくて作るのに苦労したので書いておきます
CODE128フォントをインストール
GS1-128はCODE128(CODE-C)なのでCODE128のフォントをダウンロード、インストールしてExcelでバーコード表示できるようにします
Grandzebu code128.ttf ページ中央部にダウンロードがあります
https://grandzebu.net/informatique/codbar-en/code128.htm
関数でCODE-Cバーコード作成
バーコードは適当な値で作っています
B1セルはGS1-128バーコード値です(桁数と項目のマッピングは参考のガイドライン参照)
B2セルはチェックディジットで関数は以下です
=MOD(105+102+2*INT(LEFT(B1,2))+3*INT(MID(B1,3,2))+4*INT(MID(B1,5,2))+5*INT(MID(B1,7,2))+6*INT(MID(B1,9,2))+7*INT(MID(B1,11,2))+8*INT(MID(B1,13,2))+9*INT(MID(B1,15,2))+10*INT(MID(B1,17,2))+11*INT(MID(B1,19,2))+12*INT(MID(B1,21,2))+13*INT(MID(B1,23,2))+14*INT(MID(B1,25,2))+15*INT(MID(B1,27,2))+16*INT(MID(B1,29,2))+17*INT(MID(B1,31,2))+18*INT(MID(B1,33,2))+19*INT(MID(B1,35,2))+20*INT(MID(B1,37,2))+21*INT(MID(B1,39,2))+22*INT(MID(B1,41,2))+23*INT(MID(B1,43,2)),103)
A4セルはCODE128フォントを適用しています バーコードの形式は以下です
105(startC) + 102(Fnc1) + バーコード値 + チェックディジット + 106(stop)
="ÒÏ"&UNICHAR(IF(INT(LEFT(B1,2))<95,LEFT(B1,2)+32,LEFT(B1,2)+105))&UNICHAR(IF(INT(MID(B1,3,2))<95,MID(B1,3,2)+32,MID(B1,3,2)+105))&UNICHAR(IF(INT(MID(B1,5,2))<95,MID(B1,5,2)+32,MID(B1,5,2)+105))&UNICHAR(IF(INT(MID(B1,7,2))<95,MID(B1,7,2)+32,MID(B1,7,2)+105))&UNICHAR(IF(INT(MID(B1,9,2))<95,MID(B1,9,2)+32,MID(B1,9,2)+105))&UNICHAR(IF(INT(MID(B1,11,2))<95,MID(B1,11,2)+32,MID(B1,11,2)+105))&UNICHAR(IF(INT(MID(B1,13,2))<95,MID(B1,13,2)+32,MID(B1,13,2)+105))&UNICHAR(IF(INT(MID(B1,15,2))<95,MID(B1,15,2)+32,MID(B1,15,2)+105))&UNICHAR(IF(INT(MID(B1,17,2))<95,MID(B1,17,2)+32,MID(B1,17,2)+105))&UNICHAR(IF(INT(MID(B1,19,2))<95,MID(B1,19,2)+32,MID(B1,19,2)+105))&UNICHAR(IF(INT(MID(B1,21,2))<95,MID(B1,21,2)+32,MID(B1,21,2)+105))&UNICHAR(IF(INT(MID(B1,23,2))<95,MID(B1,23,2)+32,MID(B1,23,2)+105))&UNICHAR(IF(INT(MID(B1,25,2))<95,MID(B1,25,2)+32,MID(B1,25,2)+105))&UNICHAR(IF(INT(MID(B1,27,2))<95,MID(B1,27,2)+32,MID(B1,27,2)+105))&UNICHAR(IF(INT(MID(B1,29,2))<95,MID(B1,29,2)+32,MID(B1,29,2)+105))&UNICHAR(IF(INT(MID(B1,31,2))<95,MID(B1,31,2)+32,MID(B1,31,2)+105))&UNICHAR(IF(INT(MID(B1,33,2))<95,MID(B1,33,2)+32,MID(B1,33,2)+105))&UNICHAR(IF(INT(MID(B1,35,2))<95,MID(B1,35,2)+32,MID(B1,35,2)+105))&UNICHAR(IF(INT(MID(B1,37,2))<95,MID(B1,37,2)+32,MID(B1,37,2)+105))&UNICHAR(IF(INT(MID(B1,39,2))<95,MID(B1,39,2)+32,MID(B1,39,2)+105))&UNICHAR(IF(INT(MID(B1,41,2))<95,MID(B1,41,2)+32,MID(B1,41,2)+105))&UNICHAR(IF(INT(MID(B1,43,2))<95,MID(B1,43,2)+32,MID(B1,43,2)+105))&UNICHAR(IF(INT(D77<95),D77+32,D77+105))&"Ó"
PayPayやLINEPayの請求書バーコードリーダーで読み込めれば完成!!
参考
GS1-128シンボルによる標準料金代理収納ガイドライン(第4版)
https://www.dsri.jp/standard/barcode/gs1-128_payment_service.html
yahoo知恵袋 CODE128(CODE-C)バーコード作成について
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12147492422