手作業とVBAの腕比べも、いよいよ最終戦です。
複数項目のフィルター、簡単な計算、2つのシートの突き合わせで、どちらが有利なのかを確かめました。
さらに、同僚の産休で仕訳入力が増えた経理担当者の相談も紹介します。
Excel作業で残業が続いている方は、ぜひ読んで下さい!
⑩ 複数の項目でフィルタリングをする
手作業とVBAの比較の最終回です。
ここまでは、1列につき1項目でフィルターをかけてきました。
次は、1つの列で複数の項目を選ぶ場合です。
B列の担当支店が「東京支店」「仙台支店」「名古屋支店」の3つのどれかになるよう、フィルターをかけます。
件数が少ないので、手作業のほうが楽に思えるかもしれません。
でも、項目が増えたらどうでしょう。
100を超えれば、選ぶ項目を調べるだけで一苦労です。
選択する項目が3つ以上なら、VBAのほうが便利です。
ただし、⑨と同じく、項目名が変わる場合は改修が必要です。
パターンごとに別のコードを用意しておく手もあります。
たとえば、「大阪支店」「東京支店」の組み合わせと、「名古屋支店」「仙台支店」の組み合わせを、別々に作っておくなどです。
データ集計をしていて、フィルターの項目が頻繁に変わらないなら、作業時間の効率化になります。
【判定】VBAの勝ち。
ただし、あとから直すときは注意が必要です。
⑪ 簡単な計算をさせる
ここまでは、データのコピーやフィルターといった作業系の操作が中心でした。
今回は、いよいよ関数を使います。
A列とB列の合計をC列に出力する処理を、関数とVBAで試します。
関数なら、C2セルに式を入れて、C6セルまでドラッグしてコピーします。
VBAなら、コードで同じ処理をします。
正直なところ、簡単な計算なら、関数を使うほうがよいです。
基本的に、計算なら関数のほうが早いです。
ただし、関数が複雑になる場合や、計算の工程が増える場合は、VBAのほうが速いこともあります。
【今回の勝負】手作業(関数)の勝ち。
⑫ 2つのシートの同じセルの値を比べる
事務の仕事をしている方の中には、2つのシートの同じセルを見比べる作業をしている方もいるでしょう。
検査成績書、納品書、請求書のように、複数のシートに同じ値を入力する場面があるからです。
入力ミスがあれば、検査データや売上が変わってしまうおそれもあります。
でも、複数のシートをチェックするのは面倒ですよね。
シートを何度も行き来しなければならないからです。
そこで、1枚目と2枚目のシートを比べて、比較結果を3枚目のシートに書くVBAを作りました。
使ったのは、GPTs「Genie - Your Excel VBA Expert」です(当時の結果です。カスタムGPTsは2026年12月に終了予定のため、ChatGPT本体に同じ条件を渡せば試せます)。
次の条件を満たすVBAのコードを教えてください。
シート1とシート2の、A1からJ10までのセルの値とセルの色を比べる。
比べた結果を、シート3の同じ位置のセルに表示する。
値が違えば赤文字で「セル値違い」、色が違えば青文字で「セル色違い」、値も色も違えば緑文字で「セル値・色違い」、どちらも同じなら黒文字で「OK」と表示する。
出力されたコードを貼り付けて、シート名だけ直しました。
シート1とシート2は、D3セルの値と、G5セルの値と色を変えてあります。
結果、シート3では、D3セルが「セル値違い」、G5セルが「セル値・色違い」と、ちゃんと表示されました。
本番のデータにVBAを組み込むのは、セキュリティ面で問題があります。
チェック専用の.xlsmファイルを作り、そこにデータを貼り付ける運用がおすすめです。
勝負を終えて
簡単な作業や計算を中心に、手作業とVBAのどちらが速いかを検証しました。
ただ、ExcelVBAが本領を発揮するのは、複雑な作業です。
毎日Excelの作業で残業が出るほど忙しいなら、一度VBAに挑戦してみる価値はあります。
産休で業務が増えた経理担当者の相談
単純な入力作業や、表の作成に時間を取られていませんか?
もしかすると、マクロで自動化できるかもしれません。
ChatGPTには、ExcelVBAのコードも出してもらえます。
今回は、ソースコードではなく、自動化の手順そのものを聞いてみました。
同僚の産休で業務が増えた経理担当者を想定した例です。
プロンプトは調べたうえで作りましたが、私に経理の実務経験がないため、現実にそぐわない部分があるかもしれません。
設定は、卸売業を営む中小企業の経理担当者です。
同じ仕事をしていた社員が先月から産休に入り、業務負荷が高くなりました。
2週間後に派遣社員が来る予定ですが、その前に繁忙期に入ります。
会社からは、残業を60時間以内に抑えるよう言われていますが、現状では80時間ほどの残業をしないと回りません。
仕事の半分は仕訳のデータ入力で、処理する件数は2,000件近くあります。
卸売業の中小企業で、経理を担当しています。
先月、同じ経理業務を担当していた同僚が産休に入り、私の負担がかなり増えました。
2週間後には派遣社員が来てくれる予定ですが、その前に繁忙期を迎えます。
会社からは残業を60時間以内にと言われていますが、今は80時間ほど残業しないと回りません。
仕訳データの入力を自動化する手順を、教えてください。
【業務内容】買掛金・売掛金の仕訳入力/売掛金の調査(未払いの確認)/年次決算/月次決算
【作業の手順】各部署から、売上や経費のデータ(Excel)と証憑(PDF)をメールで受け取る/会計ソフトに読み込ませるExcelに、仕訳データを入力する/読み込ませる前に、Excelのデータと証憑を照合する/問題がなければ会計ソフトに取り込む/取り込み後の件数がExcelのデータ数と一致していることを確認して完了
業務内容、現状、作業の手順を分けて書くのがポイントです。
買掛と売掛の仕訳が全体の70%を占めること、証憑と仕訳データのチェックは自分以外でもできて分業したいこと、も現状に足しました。
返ってきた10段階の手順
- 必要なツールの特定:データのインポートに対応した会計ソフト、メールの添付ファイルからデータを抽出するツール、入力を自動化するスクリプト
- メールからのデータ抽出:データ提出用の専用アドレスを作り、添付ファイルを自動でダウンロードして、「販売データ」「伝票」などのフォルダに整理する
- データの準備:PDFのデータをExcelやCSVに変換し、異なる出どころのデータを1つのシートにまとめる
- データの検証:不一致やエラーを見つける検証ルールを作り、失敗したときは自動でアラートを出す
- 仕訳データの自動化:マクロで仕訳を自動生成し、Excelのテンプレートに正しい形式で追加する
- 会計ソフトへのインポート:ExcelやCSVの取り込み機能を設定し、インポート前にデータ数が一致することを確認する
- 例外処理:自動化できないものを見直す担当者を決める(派遣社員など)
- 定期的な監視:運用しながら改善し、手順を文書にして、派遣社員や将来のために残す
- 派遣社員の教育:新しいプロセスを教え、正確さと一貫性の大切さを伝える
- 継続的な改善:自動化の効果を評価して、さらに残業を減らす
派遣社員には、仕訳入力以外の売掛金調査や決算業務も分担してもらうと、業務が均等に分散する、という補足もありました。
この中から、自分の業務に合うものを選んでプランを作り、上司に提案すればOKです。
ただし、ChatGPTの答えをそのまま貼り付けて使ってはいけません。
ChatGPTがどれほど優秀でも、間違えることは十分にあります。