Sync Master
ブログ

Googleシートで覚えておきたい関数5選 (在庫運用編)

Googleシート同期のコツ

この記事の概要

在庫シートを軽快に運用したい人のために、覚えておくと圧倒的に楽になる関数を5つ厳選しました。ARRAYFORMULA、XLOOKUP、IMPORTRANGE、QUERY、UNIQUEとCOUNTIFの活用例を、在庫運用の文脈で紹介します。

Googleシートで在庫管理をしていると、「同じような式を全行にコピーする」「マスターから商品名を引っ張ってくる」「別のシートのデータを参照する」といった作業を毎日のように繰り返すことになります。最初のうちは手作業でもなんとかなりますが、行数が数百を超えてくると、それだけで日中の時間を持っていかれてしまいます。

この記事では、在庫運用の現場で「これだけ覚えておけば一気に楽になる」という関数を5つに絞ってご紹介します。すべて公式ドキュメントに掲載されている標準関数で、Apps Scriptもアドオンも不要。明日からそのまま使えるものばかりです。それぞれ「どんな場面で効くか」を中心に書いていきますので、自分のシートに当てはめてみてください。

1. ARRAYFORMULAで列全体を一気に処理

最初に紹介したいのは、Googleシートの真骨頂とも言えるARRAYFORMULAです。Excelには無い(厳密にはSPILLという別の仕組みがある)機能で、Googleシートを使う最大の理由の一つと言ってもいいでしょう。普通、計算式は1セルずつコピーして広げますが、ARRAYFORMULAを使えば「この列全体に同じロジックを適用する」と1行で書けます。

例えば、A列のSKUとB列の入荷数からC列に「在庫ステータス」を出したいとき。1行目のヘッダーを除いた2行目以降にIF式を入れていく代わりに、C2セルにARRAYFORMULAでくるんだ式を一つ入れるだけで、A列に行が増えるたびに自動で計算が広がります。新しい商品をシートに追加した時、いちいち式をコピーする必要がなくなるのは大きな安心材料です。

在庫運用での具体的な使い所は、「単価×数量で在庫金額を出す」「安全在庫を下回ったらフラグを立てる」「ロケーション別合計を脇に表示する」など多岐にわたります。式が一つにまとまるので、ロジックを変えたい時に修正する場所も一箇所だけ。属人化しがちな計算ロジックの管理が、グッと楽になります。

2. VLOOKUP / XLOOKUPでマスターから引っ張る

在庫シートでは「SKUから商品名を表示したい」「商品コードから単価を引きたい」というニーズが頻繁に出てきます。これはまさにLOOKUP系関数の出番です。古くから使われているのはVLOOKUPですが、Googleシートには新しめのXLOOKUPも実装されており、こちらの方が直感的で柔軟です。

XLOOKUPは、検索キーと検索範囲、戻り値の範囲を別々に指定できるので、「左から右にしか引けない」というVLOOKUPの制約がありません。例えばマスターシートで商品名が左、SKUが右にあっても、XLOOKUPなら問題なく引けます。在庫シートでは商品マスターの整理の都合で列順が固定できないことも多いので、XLOOKUPに慣れておくと自由度が一気に上がります。

見つからなかった時の挙動を必ず指定する

LOOKUP系関数で意外と事故になりやすいのが、「キーが見つからなかった時」の振る舞いです。デフォルトのエラー表示はシート全体の見栄えを乱しますし、Sync Masterのような同期ツールに渡す前の段階でエラーが混ざると、思わぬ列が空欄として書き込まれることもあります。XLOOKUPでは3つ目の引数に「見つからなかった時の戻り値」を指定できるので、空文字や0、'未登録'などの分かりやすい値を入れておきましょう。

3. IMPORTRANGEで別シートをつなぐ / QUERYで絞り込む

在庫シートが大きくなってくると、「マスターシート」「販売実績シート」「仕入れ予定シート」のようにファイルを分けたくなります。けれども、分けると今度は「あちこちのシートをまたいで集計したい」というニーズが出てきます。そこで活躍するのがIMPORTRANGEです。

IMPORTRANGEは、別のスプレッドシートから指定した範囲を読み込んでくれる関数です。一度シート間のアクセスを許可しておけば、相手のシートを開かなくても最新の値が反映されます。仕入れ担当が触るシートと、出荷担当が触るシートを完全に分けつつ、自分の在庫マスターには両方のデータを集約する、といった構成が簡単に組めます。

そして、IMPORTRANGEで持ってきたデータをそのまま貼り付けるのではなく、QUERY関数で必要な部分だけ抜き出すと一気に実用度が上がります。QUERYはSQLライクな文法で、「在庫数が10未満の行だけ」「特定ロケーションの行だけ」というフィルタが書けます。IMPORTRANGEとQUERYを組み合わせれば、複数シートをまたいだ動的なダッシュボードがほぼ自作できます。

  • マスターシートは仕入れチームが管理
  • 販売実績シートはEC担当が管理
  • 自分の在庫運用シートはIMPORTRANGEで両方を参照
  • QUERYで「再発注が必要な行」だけを抽出してダッシュボード化

4. UNIQUE と COUNTIF で重複チェック

最後に、地味ですが運用事故を防ぐのに非常に効くのがUNIQUEとCOUNTIFの組み合わせです。在庫シートで一番怖いのは「同じSKUが2行に登場している」状態。これを放置すると、Sync Masterのような同期ツールに渡した時に、後勝ち・先勝ちのどちらになるかで値がブレてしまいます。

UNIQUEは、指定した範囲から重複を取り除いた一覧を返してくれる関数です。シートの脇に「=UNIQUE(A:A)」と書いておくだけで、現在のSKU一覧が常に最新で見られます。一方COUNTIFは、「特定の値が何回登場するか」を数える関数。SKU列の隣に「=COUNTIF(A:A, A2)」と書いておけば、その行のSKUがシート内に何回あるかが分かり、2以上の値が出たらすぐに気付けます。

条件付き書式と組み合わせれば、重複行を自動でハイライトすることも可能です。「2人以上で編集するシート」「他のシートからコピペしてくることが多いシート」では、ぜひ仕込んでおきたい仕掛けです。

まとめ : 関数は「運用のミスを減らす」ためのもの

Googleシートの関数を覚える理由は、決して「カッコいい式を書くため」ではありません。「同じ作業を毎日繰り返さないため」「人為的なミスを未然に防ぐため」、つまり運用を軽くするための投資です。今日紹介した5つ(ARRAYFORMULA、XLOOKUP、IMPORTRANGE、QUERY、UNIQUE/COUNTIF)は、どれも「一度書けば、あとは勝手に働き続けてくれる」性格を持っています。

Sync Masterのような同期ツールを使う場合、シート側のデータがきれいに整っていることが何より大切です。関数の力でシートが自走するようになると、同期ツールに渡すデータの品質も自然と上がります。まずは1つ、自分の在庫シートに導入してみてください。

関連記事

あわせて読みたい記事

  • Googleシート同期のコツ

    仕入先からのシートを「そのまま」同期する時のコツ

    仕入先から届くシートは、必ず何かしらクセがあります。列名のずれ、単位の違い、改行の混入——そんな現実とどう付き合うか。中間シートを噛ませる発想と、信頼関係を壊さない返し方をお伝えします。

  • マルチロケーションGoogleシート

    1枚のシートから複数ロケーションの数量を流し込む実装

    ロケーションを列として並べた1枚のシートから、Shopifyの各ロケーションへ数量を流し込む具体的な作り方を解説します。ヘッダー行の設計、列とロケーションの対応づけ、検算までを順を追って整理します。

  • マルチロケーション同期のコツ

    ロケーションごとに安全在庫(バッファ)を設定する

    全店共通のバッファでは、出荷の速い倉庫と遅い店舗を同じ基準で守ることになり、どこかに無理が出ます。ロケーションごとに別々の安全在庫を持たせる設計と、バッファ込みの公開数量をシートで計算する方法を整理します。

在庫数を手で打ち込むのは、もうやめましょう。

Sync MasterをShopifyにインストールして、5分以内に最初の同期を実行。