# 在庫管理表をスプレッドシートで作る｜入出庫の記録から在庫数を自動計算

Google スプレッドシートで在庫管理表を作る方法を、そのまま使える式付きで解説します。入庫と出庫を 1 行ずつ記録するだけで商品ごとの在庫数が出る SUMIFS の式、発注点を下回った商品に色を付ける条件付き書式、入力の間違いを防ぐプルダウンまで公式ヘルプで確かめました。

<Points>

- 在庫数を直接書き換えるのではなく、「入出庫」シートに入庫と出庫を 1 行ずつ記録し、在庫数は SUMIFS で計算する
- 商品ごとの在庫数は `入庫の合計 − 出庫の合計` で出し、発注点を下回ったら条件付き書式で色を付ける
- 商品コードと区分はプルダウンにして、打ち間違いで集計から漏れるのを防ぐ

</Points>

## 在庫数を直接書き換える表がずれる理由

よくある在庫表は、商品ごとに「在庫数」の列があり、入荷や出荷のたびにその数字を書き換える形です。この形だと、書き換えを忘れた、2 人が同時に直した、という理由で実際の在庫と数がずれても、どこで間違えたかをたどれません。

この記事では、入庫と出庫の記録を 1 行ずつ積み上げ、在庫数は式で計算する形の在庫管理表を作ります。記録が残るので、数が合わないときに履歴から原因を探せます。

<Compare>
<Column title="在庫数を書き換える表">

- 数字を上書きするので履歴が残らない
- ずれたときに原因をたどれない
- 同時に直すと片方の変更が消える

</Column>
<Column title="入出庫を記録する表" tone="accent">

- 1 回の入出庫が 1 行で残る
- 在庫数は式で自動で出る
- 誰がいつ何個動かしたかがわかる

</Column>
</Compare>

## シートの構成

1 つのスプレッドシートに 2 つのシートを作ります。

<Figure title="商品マスタのシート" caption="A〜C 列は手で入力し、D〜F 列は式で計算します。">

| | A | B | C | D | E | F |
|---|---|---|---|---|---|---|
| 1 | 商品コード | 商品名 | 発注点 | 入庫計 | 出庫計 | 在庫数 |
| 2 | P-001 | コピー用紙 A4 | 10 | (式) | (式) | (式) |
| 3 | P-002 | トナー 黒 | 3 | (式) | (式) | (式) |

</Figure>

<Figure title="入出庫のシート" caption="入荷・出荷・棚卸の調整のたびに 1 行ずつ追加します。">

| | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | 日付 | 商品コード | 区分 | 数量 | メモ |
| 2 | 2026/11/01 | P-001 | 入庫 | 50 | 初期在庫 |
| 3 | 2026/11/05 | P-001 | 出庫 | 12 | 営業部へ |
| 4 | 2026/11/06 | P-002 | 入庫 | 5 | 発注分 |

</Figure>

使い始めるときの在庫は、「初期在庫」として入庫の行で入れておきます。

## 入力の間違いを防ぐプルダウン

入出庫のシートの B 列 (商品コード) と C 列 (区分) は、プルダウンから選ぶ形にします。

- **B 列**: B2 から B1000 を選んで右クリック > [プルダウン]。[条件] を「リストを範囲で指定」にし、`=商品マスタ!$A$2:$A$500` を指定します。
- **C 列**: C2 から C1000 を選んで同じく [プルダウン] を開き、項目に「入庫」「出庫」を入れます。

[公式ヘルプ](https://support.google.com/docs/answer/186103?hl=ja)によると、初期設定ではリストにない値は入力できません。存在しない商品コードや「入荷」などの別の書き方が入らないので、集計から漏れる行がなくなります。作り方の詳細は [プルダウンの作り方](/spreadsheet-dropdown/) で説明しています。

## 在庫数を計算する式

商品マスタの D2・E2・F2 に次の式を入れ、商品の行の数だけ下へコピーします。

```
D2 (入庫計): =SUMIFS(入出庫!$D$2:$D$1000,入出庫!$B$2:$B$1000,$A2,入出庫!$C$2:$C$1000,"入庫")
E2 (出庫計): =SUMIFS(入出庫!$D$2:$D$1000,入出庫!$B$2:$B$1000,$A2,入出庫!$C$2:$C$1000,"出庫")
F2 (在庫数): =D2-E2
```

[SUMIFS 関数](https://support.google.com/docs/answer/3238496?hl=ja)は、すべての条件に合う行だけを合計する関数です。ここでは「商品コードがこの行の商品と同じ」かつ「区分が入庫 (または出庫)」の行の数量を合計しています。合計する範囲と条件の範囲は、どれも 2 行目から 1000 行目までにそろえておきます。

<Flow
  title="在庫数が出るまでの流れ"
  caption="人が入れるのは入出庫の記録だけです。"
  steps={[
    { label: "入出庫を 1 行追加", note: "商品・区分・数量を選ぶ" },
    { label: "SUMIFS で合計", note: "商品ごとに入庫と出庫" },
    { label: "在庫数を計算", note: "入庫計 − 出庫計" },
    { label: "発注点と比べる", note: "下回ったら色が付く" },
  ]}
/>

## 発注点を下回った商品に色を付ける

在庫数が発注点以下になった商品の行に色を付け、発注の漏れを防ぎます。

<Steps>
<Step title="範囲を選ぶ">

商品マスタの A2 から F500 を選びます。

</Step>
<Step title="条件付き書式を開く">

上部のメニューの [表示形式] > [条件付き書式] を押します。

</Step>
<Step title="カスタム数式を入れる">

[セルの書式設定の条件] で [カスタム数式] を選び、次の式を入れます。

```
=AND($A2<>"",$F2<=$C2)
```

</Step>
<Step title="色を選んで完了">

背景色に薄い赤などを選び、[完了] を押します。

</Step>
</Steps>

`$F2` と `$C2` のように列だけを `$` で固定すると、行のどのセルでも在庫数と発注点で判定されるため、行全体に色が付きます。この書き方は、[条件付き書式の公式ヘルプ](https://support.google.com/docs/answer/78413?hl=ja)で紹介されている、行全体を強調する例と同じ形です。`$A2<>""` は、まだ商品が入っていない空の行に色が付かないようにするための条件です。

## 運用するときのコツ

- **記録を消さない**: 入力を間違えたときは行を消さず、逆の区分で同じ数量の行を足して打ち消すと、履歴がきれいに残ります。
- **棚卸で数を合わせる**: 実際に数えた数と在庫数が違ったら、差の分を入庫か出庫で「棚卸調整」として記録します。
- **編集できる人を絞る**: 商品マスタの式を消されないよう、入力する人には入出庫のシートだけを触ってもらい、共有の権限も見直します ([スプレッドシートの共有方法](/spreadsheet-share/))。

<Note tone="caution">

この記事の式は、入出庫の記録が 1000 行目までの前提です。記録が増えたら式の範囲を広げてください。何万行にもなると SUMIFS の計算が重くなるので、古い年度の記録は別のファイルに移し、その時点の在庫数を「初期在庫」として入れ直します。

</Note>

## 自分で作るのが難しいときは

商品が数十点で、記録する人も数人までなら、このテンプレートで十分に回せます。ただ、拠点ごとに在庫を分けたい、バーコードで入出庫を記録したい、発注点を下回ったらチャットに通知したい、となると、関数だけでは手が回らなくなります。

GAS を組み合わせると、毎朝在庫を確かめて発注が必要な商品を通知する、といった仕組みを作れます。シートでの管理に限界を感じている場合は、専用のシステムへの置き換えも含めて、シートナビの[相談フォーム](/contact/)からお気軽にご相談ください。

## よくある質問

### Q. 月ごとの出庫数を集計できますか？

SUMIFS に日付の条件を足すと集計できます。たとえば 2026 年 11 月の出庫数は、`=SUMIFS(入出庫!$D$2:$D$1000,入出庫!$B$2:$B$1000,$A2,入出庫!$C$2:$C$1000,"出庫",入出庫!$A$2:$A$1000,">="&DATE(2026,11,1),入出庫!$A$2:$A$1000,"<"&DATE(2026,12,1))` のように書きます。

### Q. 複数の人が同時に入力しても大丈夫ですか？

入出庫のシートに行を足していく形なので、在庫数を直接書き換える形に比べて、同時の入力で数字が上書きされる心配が少なくなります。同じ行に 2 人が書き込まないよう、空いている一番下の行に追加するルールにしておきます。

### Q. 商品を追加したいときはどうすればよいですか？

商品マスタの一番下に商品コード・商品名・発注点を書き、D〜F 列の式を上の行からコピーします。入出庫のシートのプルダウンは商品マスタの範囲から作っているので、追加した商品コードも選べるようになります。
