Category: CSV・データ処理

  • JANコードの先頭0がExcelで消える原因とCSV保存前の対策

    JANコードの先頭0がExcelで消える原因とCSV保存前の対策

    JANコードやBarcode、SKUに先頭0が含まれている場合、CSVをExcelでダブルクリックして開くだけで、見た目や保存後の値が変わることがあります。たとえば 049... で始まるコードが数値として扱われ、先頭の0が落ちると、Shopifyの商品データや外部フィードの照合で別の値になります。

    まず何が起きているか

    CSVはただのテキストですが、Excelで開くと列の型が自動判定されます。数字だけに見える列は数値として扱われやすく、先頭0が表示されなくなることがあります。さらに、その状態で保存すると、CSV側の値も0なしで書き戻される場合があります。商品名や価格よりも、JAN、Barcode、SKUのような識別子で起きると影響が大きくなります。

    確認したい列

    • Variant Barcode にJAN/EAN/UPCを入れている列
    • Variant SKU に先頭0やハイフンを含む列
    • 仕入先CSVの品番、メーカー品番、JAN列
    • Google Merchant Centerや広告フィードへ渡す識別子列
    • 長い数値に見える注文番号や外部管理番号

    Excelで開く前の注意

    不安なCSVは、まずテキストエディタで開いて元の値を確認します。Excelで扱う場合は、直接ダブルクリックではなく、データ取り込み機能からCSVを読み込み、JANやSKUの列をテキストとして指定します。作業後は、保存したCSVをもう一度テキストエディタで開き、先頭0が残っているか確認します。見た目のセル表示だけでは判断しないほうが安全です。

    手作業で直す場合

    すでに0が消えたCSVを保存してしまった場合、そのCSVだけから正しいJANを復元するのは難しいことがあります。仕入先データ、商品台帳、Shopifyからの過去エクスポート、バーコード一覧など、別の正しい元データと突き合わせます。桁数だけで0を足す方法は、国やコード体系、元データの形式によって誤る可能性があるため、機械的に補完しすぎないほうがよいです。

    自動化できる部分

    投入前チェックでは、Barcode列の桁数、数字以外の混入、先頭0が必要そうな値、過去CSVとの変化を一覧化できます。たとえば「前回は13桁、今回は12桁になっているBarcode」を出すだけでも、Excelで落ちた可能性に気づけます。一方で、どのコードが正しいかの最終判断は、商品台帳や仕入先データを持つ人が行う必要があります。

    注意点

    Excelの設定やバージョン、Google Sheets、Numbersなど、使う表計算ソフトによって見え方は変わります。この記事は特定ソフトの操作保証ではなく、CSVを壊しやすい箇所を事前に見つけるための整理です。初回相談では実データのJAN一覧を送る必要はありません。列名、桁数、どのソフトで開いたか、いつ0が消えたかを共有できれば十分です。

    参考にした公式情報

    この記事の内容で困っている方へ

    Shopify CSV / 一括編集 まわりの作業を、まず無料診断で修正TODOに分けます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料診断を依頼する
  • 商品CSVの画像URLを入れる前に、シークレットウィンドウで確認したいこと

    商品CSVの画像URLを入れる前に、シークレットウィンドウで確認したいこと

    Shopify商品CSVの画像列にURLを入れたのに、インポート後に画像が出ない。よく見ると、CSV上ではURLに見えていても、ログインが必要な管理画面URL、共有設定が閉じたDrive URL、HTMLページのURLが混ざっていることがあります。投入前にシークレットウィンドウで開く確認は地味ですが、画像CSV事故をかなり減らせます。

    まず何が起きているか

    ShopifyのCSVでは、画像ファイルそのものをCSVに入れるのではなく、既にWeb上で見られる画像URLを参照します。そのため、手元のPCでは見える、管理者としてログイン中なら見える、という状態では不十分です。別ブラウザやシークレットウィンドウで開いたときに画像として表示できるかを見ます。

    よくある原因

    • URLが商品ページや管理画面で、画像ファイルそのものではない
    • Google Drive、Dropbox、社内サーバーなどの共有権限が閉じている
    • URLが一度HTMLページにリダイレクトされ、画像として取得できない
    • 拡張子がなく、画像URLか判定しにくい
    • 古いストアやテスト環境の画像URLを参照している

    確認するCSV列と画面

    • Image Src または商品画像URLに相当する列
    • Image Position が意図した順番になっているか
    • Variant Image にバリエーション別画像を入れているか
    • URLをシークレットウィンドウで開いたときの表示
    • URLを開いた後、アドレスバーが別URLに変わっていないか

    手作業で確認する手順

    まずCSVから画像URL列だけをコピーし、上から10件程度をシークレットウィンドウで開きます。画像だけが表示されるもの、ページ全体が表示されるもの、ログイン画面になるものを分けます。次に、複数画像がある商品を1つ選び、同じHandleの行で画像順が崩れていないか見ます。全件を目で見る必要はありませんが、URLの出所が複数ある場合は出所ごとに確認した方が安全です。

    小さく自動化できる部分

    • URLが空欄、重複、HTTPのままになっていないかを一覧化する
    • HTTPステータスが200系か、ログインページらしい応答ではないかを見る
    • 画像らしいContent-Typeか、HTMLを返していないかを確認する
    • リダイレクト後のURLを記録し、想定外のドメインを出す
    • 商品ごとに画像枚数を数え、0枚の商品を抽出する

    注意点

    URLに到達できても、Shopify側で意図通り取り込めるとは限りません。画像サイズ、ファイル形式、通信の一時失敗、CSV構造のずれも影響します。ここでできるのは、投入前に明らかなURL不備を減らすことです。Shopifyの公式窓口ではなく、CSVと画像URLの整理作業として扱います。

    相談前に整理しておくとよいこと

    • 画像URLの列名と、対象商品の件数
    • 画像の置き場所がShopify Filesか、外部ストレージか
    • 新規登録か、既存商品の画像差し替えか
    • 失敗したときに出たエラーや、画像が出なかった商品の例
    • 初回相談では、機密情報を含むCSVやスクリーンショットの送付は不要です

    参考にした公式情報

    この記事の内容で困っている方へ

    Shopify CSV / 一括編集 まわりの作業を、まず無料診断で修正TODOに分けます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料診断を依頼する
  • Shopifyの商品登録CSVを入れる前に確認する列と壊れやすい項目

    Shopifyの商品登録CSVを入れる前に確認する列と壊れやすい項目

    Shopifyに商品登録CSVをインポートする前に、Handle・Title・Variant SKU・Variant Barcode・Option列など特定の列を確認しておかないと、商品名が消える、バリエーションが壊れる、JANコードの先頭0が消えるといった事故が起きます。投入前はCSVバックアップの運用と差分previewで見る列をセットにすると安全です。SKUとBarcodeの列の違いは別記事も参照してください。

    インポート前の3つの前提 — バックアップ・差分確認・小規模テスト

    商品CSVをインポートする前に、以下の3つを毎回必ず行います。バックアップ手順の詳細はCSVバックアップを取らずに一括更新しない運用、Google Sheetsで編集する場合はCSVをGoogle Sheetsで編集するときの注意も確認してください。

    前提手順 何をするか なぜ必要か
    バックアップ 現在の商品CSVをエクスポートして保存する 上書き事故が起きた際に元に戻すため
    差分確認 エクスポートしたCSVとインポート予定のCSVを比較する どこが変わるかを事前に把握するため
    小規模テスト 1〜5商品だけで試しにインポートする 想定外の上書きや崩れを事前に見つけるため

    バックアップの手順:

    1. Shopify管理画面 > 商品 > エクスポート を開く
    2. 「すべての商品」を選択し、「エクスポート」をクリックする
    3. ダウンロードしたCSVファイルに日付を付けて保存する(例: products_backup_20260521.csv)

    Handle列 — 既存商品の更新か新規作成かを分ける

    Handleは商品CSVで最も重要な列です。Handleが一致する既存商品がある場合は「更新」、一致しない場合は「新規作成」になります。ここがずれると、意図しない重複商品ができる原因になります。

    チェック項目 確認内容 事故の例
    空欄がないか Handleが空欄の行はないか インポート時にエラーになる、または意図しない新規商品ができる
    重複がないか 同じHandleが複数行にまたがっているか(バリエーション行は正常な重複) 商品情報が統合されるべき行が分断される
    余分な空白がないか Handleの前後にスペースが入っていないか 別商品として新規作成される
    大文字小文字 Handleの大文字小文字が既存商品と完全に一致するか 一致しない場合は新規商品として作られる

    実務上の注意:

    • バリエーションがある商品は、同じHandleで複数行になります。1行目が親商品、2行目以降がバリエーション行です
    • HandleはURLの末尾(例: my-product-name)として使われるため、SEO上の意味もありますが、本記事ではインポート時の整合性に焦点を当てます

    Handleのズレを検出する例:

    既存商品のHandle: organic-green-tea-50g
    CSVのHandle:     organic-green-tea-50g (末尾にスペースあり)
    → 別商品として新規作成される可能性がある
    

    Title列とBody HTML列

    Title列

    チェック項目 確認内容 事故の例
    空欄がないか 商品名が入っているか 商品名なしの商品ができる
    文字化けしていないか 日本語が正しく表示されるか UTF-8以外で開いた場合に文字化け
    HTMLタグが入っていないか タイトルにHTMLが含まれていないか 商品名にタグがそのまま表示される

    Body HTML列

    チェック項目 確認内容 事故の例
    HTMLの崩れがないか 開始タグと終了タグがペアになっているか レイアウト崩れ
    空欄の扱い 空欄にした場合の挙動を確認する 既存商品の説明文が消える可能性がある
    • 空欄にした場合、既存商品の説明文が消える可能性があります。空欄 = 「変更しない」ではなく、空欄 = 「説明文をクリア」として処理されることがあります
    • ExcelでCSVを開くと、HTMLタグ内の特殊文字が変換されることがあります。テキストエディタで元の内容を確認してください

    Variant SKU列とVariant Barcode列

    この2つの列は混同しやすいため、特に注意が必要です。SKUは店舗内の管理番号、BarcodeはJANコード等の識別コードです。

    Variant SKU列

    チェック項目 確認内容
    店舗内で一意か 同じSKUが別商品に割り当てられていないか
    空欄の意図 空欄は「変更しない」ではなく「空で上書き」の可能性がある
    形式 使用しているSKUの規則と合っているか

    Variant Barcode列(JANコード等)

    チェック項目 確認内容 事故の例
    先頭0が消えていないか Excelで開いた際に先頭の0が削除されていないか 04901234567890 が 4901234567890 になる
    数字のみか 数字以外の文字が含まれていないか バーコードとして認識されない
    桁数 JAN(13桁)またはUPC(12桁)の正しい桁数か Merchant Centerのinvalid_gtinエラーになる
    SKUと混同していないか SKU列にJANコード、Barcode列に管理番号が入っていないか Merchant Centerでgtinエラーになる

    先頭0対策:

    • ExcelでCSVを開く前に、Variant Barcode列の書式を「文字列」に設定する
    • または、テキストエディタでCSVを開いて先頭0が残っているか確認する
    • Google Sheetsの場合も、インポート時に「文字列」として読み込む設定にする

    Option列(Option1 Name / Option1 Value / Option2 Name / Option2 Value / Option3 Name / Option3 Value)

    バリエーションを構成するOption列は、間違えるとバリエーションが消えたり、不要なバリエーションが増えたりします。

    チェック項目 確認内容 事故の例
    Option Nameの統一 「色」と「カラー」など、同じ軸の名前が統一されているか 別軸として認識される
    Option Valueの統一 「赤」と「レッド」など、同じ値の表記揺れがないか 別バリエーションとして作られる
    行の並び順 同一Handle内でOption行が連続しているか バリエーションが正しく紐づかない
    Option列数 既存商品のOption数と一致しているか 3つ目のOptionが消える、または増える

    実務上の注意点:

    バリエーションを変更する場合(例: サイズ展開をS/M/LからXS/S/M/Lに増やす)、既存のバリエーション行を残したまま新しい行を追加する形にします。既存のバリエーション行をCSVから削除すると、そのバリエーションが消える可能性があります。バリエーション行の削除がどう扱われるかは、最新の公式ヘルプで確認してください。

    Image Src列とVariant Image列

    Image Src列

    チェック項目 確認内容 事故の例
    URLがhttpsか httpのURLが含まれていないか セキュリティ警告、画像が表示されない
    URLにアクセスできるか シークレットブラウザでURLを開いて画像が表示されるか 画像が紐づかない
    同一Handleの画像行 同じHandleで複数の画像行がある場合、行が連続しているか 画像の順序が入れ替わる

    Variant Image列

    チェック項目 確認内容
    画像URLが正しいか Variant Imageに指定したURLが存在するか
    商品画像と一致しているか そのバリエーションに適切な画像か

    画像URLを確認する手順:

    1. CSVのImage Src列のURLをコピーする
    2. シークレットウィンドウ(Chromeの場合はCtrl+Shift+N)を開く
    3. URLをアドレスバーに貼り付けて画像が表示されるか確認する
    4. ログインが必要なページが表示される場合、そのURLは一般公開されていないためインポート後に画像が表示されません

    Status列とPublished列

    この2つの列は似ていますが、意味が異なります。混同すると公開中の商品が非公開になったり、意図と違う状態になったりします。

    列名 値の例 意味
    Status active / draft / archived 商品の状態
    Published TRUE / FALSE 公開チャネルに表示するかどうか
    チェック項目 事故の例
    Statusをdraftにするつもりがarchivedになっている 商品がアーカイブされてストアフロントに表示されなくなる
    PublishedをFALSEにするつもりがStatusをdraftにしている 意図と違う非公開状態になる
    既存商品のStatusをactiveからdraftに変更する意図があるか 公開中の商品が非公開になる

    Tags列

    チェック項目 確認内容 事故の例
    既存タグの維持 インポートCSVのTags列に既存のタグが含まれているか 既存タグが消えて新しいタグだけになる
    区切り文字 タグの区切りがカンマになっているか 一つの長いタグとして登録される
    空欄の扱い Tags列を空欄にした場合、既存タグが消えるか フィルタや自動化に使っているタグが消える

    Tags列を空欄にした場合の挙動は、最新の公式ヘルプで確認してください。空欄 = 「変更しない」ではなく、空欄 = 「タグなしで上書き」になる可能性があります。

    空欄列の扱い — 「変更しない」と「クリアする」の違い

    CSVの空欄がどう扱われるかは、列によって異なります。この違いを理解しておかないと、意図せずデータを消してしまう事故につながります。

    パターン 説明 例
    空欄 = 上書き 空欄にすると既存の値がクリアされる Tags、Body HTML、Variant SKUなどで起きる可能性がある
    空欄 = 無視 空欄の場合は既存の値が維持される 一部の列でこの挙動になることがある
    列ごと省略 列自体をCSVに含めない場合 省略した列の扱いは公式ヘルプで確認する

    不安な場合は、変更したい列だけを残したCSVを作るのではなく、エクスポートしたCSVの変更箇所だけを書き換えてインポートする方が安全です。

    Excel / Google Sheetsで起きやすい変換事故

    CSVをExcelやGoogle Sheetsで開いて編集すると、以下の事故が起きやすくなります。インポート前にテキストエディタで開いて確認することをお勧めします。

    事故 原因 対策
    JANコードの先頭0が消える Excelが数値として認識する 列の書式を「文字列」にしてから開く
    ハイフン区切りの値が日付になる 1-2 等が日付として認識される 列の書式を「文字列」にする
    HTMLタグが崩れる 特殊文字の自動変換 テキストエディタで確認する
    文字化け Shift-JISで保存される UTF-8で保存する
    数式が入る セルの自動補完 CSV保存後にテキストエディタで確認する
    列ずれ 共同編集時に列が挿入・削除される インポート前に列数を行ごとに確認する

    インポート前チェックシート

    CSVをShopifyにアップロードする前に、以下の項目を確認します。

    # チェック項目 確認方法
    1 バックアップCSVをエクスポートした 管理画面 > 商品 > エクスポート
    2 Handleに空欄・前後スペースがない テキストエディタで確認
    3 Handleの大文字小文字が既存商品と一致している 既存CSVとの比較
    4 Titleが空欄でない CSVで目視確認
    5 Body HTMLのHTMLタグが崩れていない テキストエディタで確認
    6 Variant Barcodeの先頭0が残っている テキストエディタで確認
    7 Variant SKUとVariant Barcodeを混同していない 内容の確認
    8 Option列のName/Valueが既存と一致している 既存CSVとの比較
    9 Image SrcのURLがhttpsでアクセス可能 シークレットブラウザで確認
    10 StatusとPublishedの値が意図通り 値の確認
    11 Tags列に既存タグが含まれている(タグを維持する場合) 既存CSVとの比較
    12 1〜5商品だけでテストインポートした 管理画面 > 商品 > インポート
    13 テスト後の結果を確認し、問題がないか確認した 商品管理画面で確認

    自動的に検出できる部分と人間の判断が必要な部分

    自動検出しやすい項目

    以下の項目は、CSVの値を機械的にチェックすることで事前に検出できます。

    • Handleの空欄・重複・前後空白の検出
    • Handleの大文字小文字の不一致検出(既存CSVとの比較)
    • Title、Body HTMLの空欄検出
    • Variant Barcodeの桁数チェック(12桁または13桁)
    • Variant Barcodeの先頭0消失検出(数字のみで12桁または13桁に満たない場合)
    • Variant SKUの重複検出
    • Image SrcのURL形式チェック(httpsかどうか)
    • Status列とPublished列の有効値チェック
    • 文字コードの検出(UTF-8以外の可能性)
    • 行数と列数の異常検出
    • 更新前後差分の行番号付きレポート

    人間の判断が必要な項目

    以下は機械的なチェックだけでは判断できず、担当者の事業知識や判断が必要です。

    • どの列を本当に更新するか(全列更新か、特定列のみか)
    • 既存商品の更新か新規作成か
    • Tags列の内容の取捨選択
    • 商品説明文(Body HTML)の崩れの修正内容
    • バリエーション構成の変更が事業上適切か
    • 空欄にする列が本当にクリアしてよいか
    • 復旧が必要になった時の判断
    • インポート後の表示確認

    関連して確認したい記事

    CSVを送らなくても、列名・更新したい作業・不安な事故だけで確認順を整理できます。初回相談では機密CSVやスクリーンショットの送付は不要です。

    相談時に用意するとよい情報

    • 更新したい内容(新規商品追加 / 既存商品更新 / バリエーション変更など)
    • 対象商品のおおよその件数
    • 現在使っているCSVエディタ(Excel / Google Sheets / テキストエディタなど)
    • 過去にCSV投入でトラブルがあった場合はその内容
    この記事の内容で困っている方へ

    Shopify CSV / 一括編集 まわりの作業を、まず無料診断で修正TODOに分けます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料診断を依頼する