• 作成日 : 2025年10月16日

スプレッドシートでQRコードを簡単に作成するには?

GoogleスプレッドシートでQRコードを作成すれば、URLや商品情報、イベント詳細などのデータを瞬時に二次元バーコード化できます。専用ソフトを使わずに、大量のQRコードを自動生成できるのも大きなメリットです。

本記事では、IMAGE関数とQR Code APIを活用した基本的な作成方法から、生成したQRコードの保存手順までをわかりやすく解説します。

無料で手軽に始められるQRコード生成を活用し、業務のデジタル化と効率化を進める方法をご紹介します。

スプレッドシートでQRコードを作成するメリットは?

スプレッドシートでQRコードを生成すると、データ管理と一体化した運用、一括大量生成、自動更新機能により、専用アプリやWebサービスを超える効率性を実現できます。特に、複数のQRコードを管理する必要がある業務では、圧倒的な優位性を発揮します。

専用のQRコード生成サービスと比較して、スプレッドシートは完全無料で枚数制限なく生成でき、元データとQRコードを同じファイル内で管理できるため、情報の整合性が保たれます。また、関数による自動生成により、データ更新時に自動的にQRコードも更新される点は、他のツールにはない大きな利点です。

なぜスプレッドシートがQRコード生成に適している?

スプレッドシートは表形式でのデータ管理に優れ、IMAGE関数とQR code APIの組み合わせにより、セル内に直接QRコードを表示できる唯一のツールです。 さらに、CONCATENATE関数でURLを動的に生成し、条件に応じて異なるQRコードを自動作成することも可能です。

QRコード生成における具体的な利点
  • 大量一括生成:数千個のQRコードを数秒で作成
  • データ連携:顧客リストや商品マスタと直接連動
  • 自動更新:元データ変更時にQRコードも自動更新
  • コスト削減:外部サービスの利用料が不要
  • 共同編集:チームでリアルタイム管理が可能
  • バージョン管理:変更履歴で過去のQRコードも確認可能

これらの特徴により、イベント管理、在庫管理、マーケティング施策など、幅広い業務での活用が可能になります。

QRコードの仕組みと基本知識

QRコード(Quick Response Code)は最大7,089文字の数字、4,296文字の英数字を格納でき、URL、テキスト、連絡先情報、Wi-Fi設定など様々なデータを埋め込むことができます。 エラー訂正機能により、最大30%の破損があっても読み取り可能な堅牢性を持っています。

QRコードの技術的特徴
  • データ容量:バージョン1(21×21)からバージョン40(177×177)まで
  • エラー訂正レベル:L(約7%)、M(約15%)、Q(約25%)、H(約30%)
  • 文字エンコーディング:数字、英数字、バイナリ、漢字モード
  • 読み取り角度:360度どの向きからでも読み取り可能
  • 高速読み取り:3つの位置検出パターンにより瞬時に認識

スプレッドシートでは、これらの技術仕様を意識することなく、簡単な関数でQRコードを生成できるため、技術的な知識がなくても活用可能です。

IMAGE関数でQRコードを作成する具体的な手順は?

IMAGE関数とQR code APIを組み合わせることで、任意のテキストやURLをQRコード化してセル内に表示できます。基本構文は=IMAGE(“https://api.qrserver.com/v1/create-qr-code/?size=150×150&data=”&データのセル)です。 この方法により、プログラミング不要でQRコードが生成されます。

QR code APIは無料で利用でき、ログインやAPIキー取得の手間なく利用可能なため、ほとんどの業務用途で十分に活用できます。生成されるQRコードは、標準的なQRコードリーダーアプリで問題なく読み取ることができます。

STEP1:基本的なQRコード生成の実装

まず、A列にQRコード化したいデータ(URL、テキスト等)を入力し、B列にIMAGE関数を使ってQRコードを表示します。 最もシンプルな実装から始めることで、仕組みを理解できます。

基本的な実装手順
  1. データの準備
    • A1セルに「URL/テキスト」などの見出しを入力
    • A2セル以降に、QRコード化したいデータを入力
      A2: https://www.example.comA3: 商品コード:ABC123A4: イベント詳細はこちら
  2. QRコード生成関数の入力
    • B1セルに「QRコード」という見出しを入力
    • B2セルに以下の関数を入力:
      =IMAGE(“https://api.qrserver.com/v1/create-qr-code/?size=200×200&ecc=L&data=”&ENCODEURL(A2))
  3. 関数のコピー
    • B2セルの関数を下方向にコピー(Ctrl+C → 選択 → Ctrl+V)
    • または、B2セルの右下角をドラッグして自動入力
  4. 表示調整
    • 行の高さを200ピクセルに調整
    • 列の幅を200ピクセルに調整
    • セルの配置を中央揃えに設定

STEP2:サイズとエラー訂正レベルの調整

QRコードのサイズはsizeパラメータで、エラー訂正レベルはeccパラメータで調整でき、用途に応じて最適な設定を選択できます。 印刷用途では大きめのサイズと高いエラー訂正レベルを設定することが推奨されます。

詳細なパラメータ設定

【サイズ設定の例】

小サイズ(100×100):

=IMAGE(“https://api.qrserver.com/v1/create-qr-code/?size=100×100&ecc=L&data=”&ENCODEURL(A2))

中サイズ(200×200):

=IMAGE(“https://api.qrserver.com/v1/create-qr-code/?size=200×200&ecc=L&data=”&ENCODEURL(A2))

大サイズ(500×500):

=IMAGE(“https://api.qrserver.com/v1/create-qr-code/?size=500×500&ecc=L&data=”&ENCODEURL(A2))

エラー訂正レベルの設定

低レベル(L)- 7%訂正:

=IMAGE(“https://api.qrserver.com/v1/create-qr-code/?size=200×200&ecc=L&data=”&ENCODEURL(A2))

中レベル(M)- 15%訂正:

=IMAGE(“https://api.qrserver.com/v1/create-qr-code/?size=200×200&ecc=M&data=”&ENCODEURL(A2))

品質レベル(Q)- 25%訂正:

=IMAGE(“https://api.qrserver.com/v1/create-qr-code/?size=200×200&ecc=Q&data=”&A2)

高レベル(H)- 30%訂正:

=IMAGE(“https://api.qrserver.com/v1/create-qr-code/?size=200×200&ecc=H&data=”&ENCODEURL(A2))

印刷物や屋外掲示用のQRコードは、汚れや破損を考慮してエラー訂正レベルHを推奨します。

STEP3:動的なデータ連携の実装

CONCATENATE関数やTEXTJOIN関数を使用して、複数のセルデータを組み合わせた動的なQRコードを生成することで、より実用的な活用が可能になります。 商品情報や顧客データと連動したQRコードが自動生成されます。

動的QRコード生成の実装例
  1. 商品情報QRコードの自動生成
    =IMAGE(“https://api.qrserver.com/v1/create-qr-code/?size=200×200&ecc=L&data=”&ENCODEURL(CONCATENATE(“商品名:”,C2,CHAR (10),”価格:”,D2,”円”,CHAR (10),”在庫:”,E2)))
  2. イベント登録用QRコード
    =IMAGE(“https://api.qrserver.com/v1/create-qr-code/?size=200×200&ecc=L&data=”&ENCODEURL(“https://example.com/event?id=”&F2&”&name=”&G2&”&date=”&TEXT(H2,”yyyy-mm-dd”)))

    1. vCard(連絡先)QRコード
      =IMAGE(“https://api.qrserver.com/v1/create-qr-code/?size=200×200&ecc=L&data=”&ENCODEURL(“BEGIN:VCARD”&CHAR (10)&”VERSION:3.0″&CHAR (10)&”FN:”&I2&CHAR (10)&”TEL:”&J2&CHAR (10)&”EMAIL:”&K2&CHAR (10)&”END:VCARD”))

    これらの動的生成により、データベースと連動した実用的なQRコードシステムが構築できます。

    作成したQRコードを保存・出力する方法は?

    生成したQRコードは、画像として直接ダウンロード、PDFエクスポート、Google ドキュメントへの挿入など、複数の方法で保存・活用できます。 用途に応じて最適な保存方法を選択することが重要です。

    QRコードの保存は、印刷用の高解像度画像が必要な場合と、Web掲載用の軽量画像が必要な場合で異なるアプローチを取る必要があります。また、大量のQRコードを一括保存する場合は、Google Apps Scriptを活用した自動化も検討すべきです。

    個別のQRコード画像として保存

    QRコードを右クリックして「画像をコピー」または「画像として保存」を選択することで、PNG形式で個別に保存できます。 この方法は、少数のQRコードを手動で保存する場合に最適です。

    個別保存の詳細手順
    1. HTMLファイルに変換してURLから直接ダウンロード
      • スプレッドシートの「ファイル」から「ダウンロード」→「ウェブページ(.html)」を選択
      • ダウンロードしたHTMLファイルを展開
      • 表示されたウェブページ上のQRコードを右クリックし、「名前を付けて画像を保存」
    2. 高解像度版の取得
      • URLのsizeパラメータをsize=1000×1000に変更
      • より高品質な画像として保存可能

    保存時のファイル命名規則を統一することで、後の管理が容易になります(例:QR_商品コード_日付.png)。

    PDF形式での一括エクスポート

    「ファイル」→「ダウンロード」→「PDF」を選択することで、シート全体のQRコードをPDF形式で一括保存でき、印刷やアーカイブに最適です。 レイアウトを調整することで、ラベル印刷にも対応できます。

    PDF出力の最適化設定
    1. 印刷範囲の設定
      • 「ファイル」→「印刷」を選択
      • 印刷範囲で「選択中のセル」を指定
      • QRコードを含む範囲のみを選択
    2. レイアウト調整
      用紙サイズ:A4向き:用途に応じて縦/横を選択スケール:「幅に合わせる」または「カスタム数値」余白:標準または狭い
    3. グリッド線の設定
      • ラベル印刷用:グリッド線を表示
      • 配布用:グリッド線を非表示
    4. ヘッダー/フッター
      • 管理番号や作成日を追加
      • ページ番号を設定

    Google Apps Scriptによる自動保存

    GASを使用して、生成したQRコードを自動的にGoogle ドライブに保存したり、メールで送信したりする仕組みを構築できます。 大量のQRコードを定期的に生成・配布する業務に最適です。

    QRコード自動保存スクリプト

    javascript

    function saveQRCodes() {

    const sheet = SpreadsheetApp.getActiveSheet();

    const folder = DriveApp.getFolderById(‘FOLDER_ID’);

    const data = sheet.getDataRange().getValues();

    for(let i = 1; i < data.length; i++) {

    const text = data[i][0]; // A列のデータ

    const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=500×500&ecc=M&data=${encodeURIComponent(text)}`;

    // QRコード画像を取得

    const response = UrlFetchApp.fetch(qrUrl);

    const blob = response.getBlob();

    // ファイル名を設定して保存

    const fileName = `QR_${text.replace(/[^a-zA-Z0-9]/g, ‘_’)}.png`;

    folder.createFile(blob).setName(fileName); }

    SpreadsheetApp.getUi().alert(‘QRコードの保存が完了しました’);}

    このスクリプトにより、数百個のQRコードも自動的にドライブに保存できます。

    QRコード生成時の注意点とトラブルシューティング

    QRコードが読み取れない、表示されない、エラーが発生するなどの問題は、多くの場合、データ量の超過、特殊文字の使用、URLエンコーディングの問題が原因です。 適切な対処により、ほとんどの問題は解決できます。

    トラブルを未然に防ぐため、生成したQRコードは必ず実機でテストし、様々な環境での読み取り確認を行うことが重要です。また、定期的なメンテナンスとリンク切れチェックも必要です。

    よくあるエラーと解決方法

    「#ERROR!」や画像が表示されない問題の多くは、ENCODEURL関数の使用忘れ、文字数制限超過、API制限への到達が原因です。 それぞれに適切な対処法があります。

    主要なエラーと対策
    1. 画像が表示されない
      • 原因:URLエンコーディングの欠落
      • 解決:ENCODEURL()関数で必ずラップする
        誤:=IMAGE(“https://api.qrserver.com/v1/create-qr-code/?size=200×200&ecc=L&data=”&A2)正:=IMAGE(“https://api.qrserver.com/v1/create-qr-code/?size=200×200&ecc=L&data=”&ENCODEURL(A2))
    2. QRコードが読み取れない
      • 原因:データ量が多すぎる(2953バイト以上)
      • 解決:短縮URLサービスを利用するか、データを削減
        =IMAGE(“https://api.qrserver.com/v1/create-qr-code/?size=200×200&ecc=L&data=”&ENCODEURL(IF(LEN(A2)>100,”https://bit.ly/xxxxx”,A2)))
    3. 特殊文字によるエラー
      • 原因:&、?、#などの特殊文字
      • 解決:SUBSTITUTE関数で置換
        =IMAGE(“https://api.qrserver.com/v1/create-qr-code/?size=200×200&ecc=L&data=”&ENCODEURL(SUBSTITUTE(SUBSTITUTE(A2,”&”,”and”),”#”,”no”)))

    データ量と複雑さの制限

    QRコードに格納できるデータ量には上限があり、数字で7,089文字、英数字で4,296文字、バイナリで2,953バイト、漢字で1,817文字となっています。 実用上は、読み取り速度を考慮して500文字以内に収めることを推奨します。

    データ量最適化のテクニック
    • URL短縮サービスの活用:長いURLは短縮してからQRコード化
    • 必要最小限の情報:詳細情報はリンク先に配置
    • 圧縮形式の利用:JSONよりもCSV形式でデータを構造化
    • IDベースの参照:全データではなくIDのみを格納

    データ量が増えるほど、QRコードの模様が細かくなり、読み取りエラーの可能性が高まります。

    セキュリティリスクへの対処

    QR code APIはGoogleが提供するサービスではなく、QRコード作成時に送信するデータの安全性が保たれているとは断言できません。

    企業の極秘情報や個人情報を含むデータは、QR code APIを使ってQRコード化することは避けたほうがよいでしょう。

    スプレッドシートQRコードで実現する業務のデジタル変革

    GoogleスプレッドシートでQRコードを生成・管理することで、低コストで柔軟なデジタル化ソリューションを構築でき、在庫管理からマーケティングまで幅広い業務改革が実現できます。IMAGE関数による基本的な生成から始め、動的なデータ連携、自動保存の仕組みを段階的に導入することで、組織に最適化されたQRコード活用システムが構築できます。

    今回紹介した様々な手法と活用事例を参考に、アナログとデジタルを繋ぐQRコードの可能性を最大限に引き出し、業務効率化とサービス向上を実現していきましょう。


    ※ 掲載している情報は記事更新時点のものです。

    ※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。

    関連記事