GoogleSpreadSheet

Googleスプレッドシートでセルの値からバーコードを生成する。

やりたいこと

Googleスプレッドシートのセルに数字が入っているので、その隣にバーコード化した画像を表示させたい。

スプレッドシートのイメージ

A B
1 数字 バーコード画像
2 123456789 (ここに数式を入れる)
3 987654321

完成した数式

=arrayformula(image("http://www.barcodesinc.com/generator/image.php?code=" & A2:A & "&style=68&type=C128B&width=245&height=50&xres=1&font=3", 3))

数式の説明

バーコード画像のURLを取得

下記のサイトでバーコードを生成できる。
Free Online Barcode Generator: Make a Custom Barcode in Seconds

生成したいバーコードの形式になるように、URLのパラメータを指定して、セルの値と結合する。
http://www.barcodesinc.com/generator/image.php?code=" & (バーコードにしたい数値) & "&style=68&type=C128B&width=245&height=50&xres=1&font=3

IMAGE関数で画像を生成

IMAGE("バーコード画像のURL",3)
※今回はオリジナルサイズで表示するために、オプションとして3を指定

ARRAYFORMULA関数で列に展開(任意)

ARRAYFORMULA("展開したい列範囲を指定")
今回は、A2セル以下のA列の値を変換したいので、「A2:A」を指定。

  • ARRAYFORMULA適用前(A2)
=image("http://www.barcodesinc.com/generator/image.php?code=" & A2 & "&style=68&type=C128B&width=245&height=50&xres=1&font=3", 3)
  • ARRAYFORMULA適用後(A2:A)
=arrayformula(image("http://www.barcodesinc.com/generator/image.php?code=" & A2:A & "&style=68&type=C128B&width=245&height=50&xres=1&font=3", 3))

参考URL