【Excel】エクセルでカウントアップを作る方法(ボタン・関数で数字を増やす)
エクセルで作業回数、来客数、在庫の増減、ゲームの得点などを管理していると、数字を1ずつ増やすカウントアップ機能が欲しくなる場面があります。
数式を使えば入力やコピーだけで連番を増やせますし、マクロとボタンを組み合わせれば、クリックのたびに指定セルの数値を加算する仕組みも作成できます。
エクセルのカウントアップは、目的に応じて使い分けることが大切です。
・連番を並べるなら数式とオートフィル
・条件に応じた件数ならCOUNTIF関数
・クリックするたびに数値を増やすならVBAボタン
最初に結論をいうと、手軽さを優先する場合は数式、操作性を優先する場合はボタン付きVBAが適しています。
この記事では、1行目に見出しがある表を例に、数式、フォームコントロール、VBAを使ったカウントアップの作り方を順番に解説します。
エクセルでカウントアップを作る基本手順
それではまず、数式やボタンを使って数字を増やすための全体像について解説していきます。
| A列 | B列 | C列 |
|---|---|---|
| 日付 | 作業内容 | 回数 |
| 9月19日 | 受付 | 1 |
| 9月20日 | 受付 | 2 |
用途に合わせたカウントアップ方法
カウントアップという言葉は同じでも、実現したい操作は複数あります。
行ごとに1、2、3と番号を振る場合は、前の行の値に1を足す数式が分かりやすい方法です。
入力済みデータの件数を自動表示する場合は、空白以外を数えるCOUNTA関数や、条件に合う件数を数えるCOUNTIF関数を使います。
一方で、セルに表示された数値をクリックのたびに1ずつ増やしたい場合は、標準の数式だけではクリック操作を検知できません。
クリック式のカウンターを作るときは、VBAのマクロをボタンへ登録する方法が実用的です。
数式は再計算によって値を求める仕組みであり、ボタンは利用者の操作をきっかけにマクロを実行する仕組みです。
用途を先に決めておくと、後から表の構成を大きく直す手間を減らせます。
カウント用セルと初期値の準備
続いては、カウンターの土台となるセルを準備する方法を確認していきます。
たとえばC1に「回数」、C2に「0」と入力すると、C2を現在値として扱えます。
初期値を0にするか1にするかは、まだ実行していない状態をどう表すかで決めましょう。
受付人数やクリック回数では0スタート、連番では1スタートが自然です。

カウント値を他の数式で参照する予定がある場合は、数値だけを入力し、「回」「件」などの単位はセルの表示形式または隣のセルで表示します。
文字列として「0回」と入力すると、加算式やVBAで意図どおりに計算できないことがあります。
カウンターのセルには、数値としての0または1を入れることが基本です。
保存形式とセキュリティの確認
続いては、ボタンを使う場合に必要となるブックの保存形式を確認していきます。
VBAを使わず関数だけで作る場合は、通常のExcelブックであるxlsx形式のままで問題ありません。
ただし、クリックで数値を増やすマクロを保存する場合は、Excelマクロ有効ブックであるxlsm形式を選びます。
保存時にファイルの種類から「Excel マクロ有効ブック」を選択し、拡張子がxlsmになっていることを確認しましょう。

受け取ったマクロ付きファイルではなく自分で作成したファイルでも、開き直した際に「コンテンツの有効化」が表示されることがあります。
信頼できる自作ファイルであることを確認したうえでマクロを有効化してください。
【操作のポイント】数式だけのカウントアップはxlsx、ボタンでVBAを動かすカウントアップはxlsmで保存します。
数式による連番カウントアップ
続いては、関数とオートフィルで連番を増やす方法を確認していきます。
| A列 | B列 | C列 |
|---|---|---|
| 番号 | 商品名 | 個数 |
| 1 | りんご | 3 |
| 2 | みかん | 5 |
前行の値に一を足す数式

それではまず、もっとも基本的な連番数式について解説していきます。
A1を見出し、A2を最初のデータ行とする場合、A2に1を入力します。
次にA3へ次の数式を入力してください。
=A2+1
この数式は、ひとつ上のセルA2の値に1を加える内容です。
A2が1ならA3は2となり、A3を参照するA4は3になります。
参照先がひとつ上の行へ順番に移るため、下方向へコピーするだけで連番が完成します。
ただし、途中の番号を手入力で変更すると、下の番号も連動して変わる点には注意が必要です。
ROW関数を使った行番号連動
続いては、行番号を利用して番号を作るROW関数を確認していきます。
A2から番号を開始する場合、A2に次の数式を入力します。
=ROW()-1
ROW関数は、その数式が入力されているセルの行番号を返します。
A2の行番号は2なので、そこから1を引くと結果は1です。
A3ではROW関数が3を返すため、結果は2となります。
表の先頭行が見出し行で固定されている場合、ROW関数は連番の開始位置を管理しやすい方法です。
データ開始行が5行目なら、1を引く代わりに4を引くよう調整します。
【操作のポイント】ROW関数の引き算部分は、最初の番号を表示したい行番号より1小さい値にします。
オートフィルによる数式コピー
続いては、数式を下の行へ素早く広げるオートフィルを確認していきます。
数式を入れたセルを選択すると、右下に小さな四角形であるフィルハンドルが表示されます。
このフィルハンドルを下へドラッグすると、セル参照を自動調整しながら数式がコピーされます。
隣接列にデータが連続している表では、フィルハンドルをダブルクリックすると、データの最終行付近まで自動入力できます。
空白行がある表では途中で停止することがあるため、ドラッグ範囲を確認しましょう。
数式をコピーしたあと、最終行の番号まで意図どおり増えているか確認することが大切です。
COUNTIF関数による条件付きカウントアップ
続いては、入力されたデータに応じて件数を自動的に増やすCOUNTIF関数について解説していきます。
| A列 | B列 | D列 |
|---|---|---|
| 受付番号 | 状態 | 完了件数 |
| 1 | 完了 | 2 |
| 2 | 作業中 |
COUNTIF関数の基本構文
それではまず、条件に一致するセルを数えるCOUNTIF関数について解説していきます。
=COUNTIF(B2:B100,”完了”)
この数式は、B2からB100までの範囲で「完了」と入力されたセル数を返します。
受付の状態を完了に変更するたび、集計セルの結果も自動的に1ずつ増えます。
利用者が集計セルを直接操作しなくても、元データの更新だけでカウントアップできる点がCOUNTIF関数の利点です。
条件の文字列は二重引用符で囲み、セル内の表記と完全に一致させます。
条件セルを参照する集計式
続いては、条件を別セルで指定する応用方法を確認していきます。
D1に集計したい状態として「完了」を入力し、D2に次の数式を設定します。
=COUNTIF(B2:B100,D1)
条件をD1へ分けることで、「完了」を「作業中」へ書き換えるだけで集計対象を切り替えられます。
複数の担当者が使う表では、条件文字列を数式内に直接書くより、条件セルを用意したほうが修正ミスを防ぎやすいでしょう。
集計条件をセル参照にすると、数式を編集せずにカウント内容を変更できます。
条件付き集計の操作画面
続いては、COUNTIF関数を入力してオートフィルする画面イメージを確認していきます。
数式バーにCOUNTIF関数を入力したら、Enterキーで確定します。
この例ではB列の状態が「完了」になるたび、D2の件数が即座に更新されます。
【操作のポイント】範囲は将来増える行を見込んで広めに設定し、見出し行のB1は集計範囲に含めません。
ボタンとVBAによるクリック式カウンター
続いては、ボタンを押すたびに指定セルの数字を1増やすVBAの作り方を確認していきます。
| A列 | B列 |
|---|---|
| 項目 | 現在の回数 |
| 来客数 | 0 |
開発タブの表示
それではまず、VBAやボタンを扱う開発タブをリボンへ表示する方法について解説していきます。
リボンを右クリックして「リボンのユーザー設定」を選び、右側の一覧から「開発」にチェックを入れます。
OKを押すと、ホームや挿入などのタブの近くに開発タブが表示されます。
開発タブは通常の入力作業では使わないため、初期状態では非表示になっている場合があります。
ボタンを挿入する前に、開発タブが見えていることを確認しましょう。
数値を一つ増やすVBAコード
続いては、B2の数値をカウントアップするマクロを確認していきます。
AltキーとF11キーを押してVBEを開き、挿入から標準モジュールを選択します。
表示されたコード画面に、次の内容を入力してください。
|
1 2 3 |
Sub CountUp() Range("B2").Value = Range("B2").Value + 1 End Sub |
Range(“B2”)は、カウント対象のセルを指定しています。
Valueはセルの値を意味し、右辺の現在値に1を加えた結果を、左辺の同じB2へ戻す構造です。
対象セルをD5へ変更したい場合は、コード内のB2を両方ともD5に置き換えます。
複数のセルを加算したいときは、Range(“B2”).Value = Range(“B2”).Value + 1 の対象を必要なセルごとに追加します。
フォームコントロールへのマクロ登録
続いては、作成したマクロをクリック用ボタンへ割り当てる手順を確認していきます。
開発タブの「挿入」から、フォームコントロールにある「ボタン」を選びます。
ワークシート上でドラッグしてボタンを配置すると、「マクロの登録」画面が開きます。
一覧からCountUpを選択し、OKをクリックしてください。
ボタン上の文字は右クリックして編集できるため、「カウントアップ」など、用途が分かる表示へ変更します。
フォームコントロールのボタンは、ActiveXコントロールよりも基本的な操作で扱いやすい選択肢です。
【操作のポイント】ボタンを何度かクリックし、B2が0、1、2の順に増えることを確認してから運用します。
カウントアップで起こりやすいエラー対策
続いては、数字が増えない場合や期待しない値になる場合の確認事項を解説していきます。
| 症状 | 確認する内容 |
|---|---|
| 数式が表示される | 先頭のイコールと表示形式 |
| ボタンが動かない | マクロ有効化と登録先 |
セルが文字列になっている場合
それではまず、数値を加算できない原因になりやすい文字列形式について解説していきます。
カウンターのセルが文字列として保存されていると、数式の計算結果が想定外になったり、VBAで型の不一致が起きたりすることがあります。
セルを選択してホームタブの表示形式を「標準」または「数値」に変更し、値を入力し直してください。
左寄せで表示される数値や、セル左上に緑の三角がある数値は文字列の可能性があります。
マクロが実行されない場合
続いては、ボタンを押しても反応しない場合を確認していきます。
まず、ファイルがxlsm形式で保存されているかを確認します。
次に、ブックを開いたときに表示されるセキュリティ警告で、コンテンツを有効化しているか確認しましょう。
ボタンを右クリックして「マクロの登録」を選び、CountUpが割り当てられているかを見ることも重要です。
マクロ名の入力ミスや、別のブックに保存したコードも、ボタンが動かない原因になります。
誤操作を防ぐリセット機能
続いては、カウントを最初からやり直すためのリセット機能を確認していきます。
別のボタンへ、B2を0に戻す短いマクロを登録すると、日ごとやイベントごとの集計を始めやすくなります。
|
1 2 3 |
Sub ResetCount() Range("B2").Value = 0 End Sub |
リセットは誤って押すと記録が消えるため、履歴を残したい業務では実行前に別シートへ記録を移す運用が安心です。
【操作のポイント】リセットボタンはカウントアップボタンから少し離して配置し、誤クリックを防ぎます。
まとめ エクセルで数字を増やすカウントアップの方法
エクセルでカウントアップを作る方法は、連番、条件付き集計、クリック操作のどれを求めるかで選びます。
行番号を増やすだけなら=A2+1やROW関数を使い、データの件数を増やすならCOUNTIF関数が便利です。
クリックのたびに同じセルの数値を増やしたい場合は、VBAで現在値に1を足すマクロを作り、フォームコントロールのボタンへ登録します。
数式は自動集計、VBAボタンは手動カウントという役割で考えると、適した方法を選びやすくなります。
マクロを使うブックはxlsm形式で保存し、信頼できるファイルだけで有効化しましょう。
まずは小さなサンプル表で動作を確認してから、実際の在庫管理、作業記録、受付表へ取り入れてみてください。