“脱Excel”か“活Excel”か
「VBA最強」とは限らない スキルに合わせてExcelツール作成方法を導く「5W1H」とは
「Excelツールを作成する際、関数とVBAのどちらを使うべきか」。この判断を、それぞれの機能だけを見て下してしまうと、後々、利用者の利便性や開発者のサポートの手間に大きな影響を及ぼす場合があります。
VBAと関数の違いを考える
企業において「Microsoft Excel」(以下、Excel)を使用したツールを作るときは、ほとんどの場合は関数かVBA(Visual Basic for Applications)を使用することになります。どちらを使用するかはそれぞれが持つ機能を考慮し、実現したい機能に対して、適材適所で使用することが原則です。
関数は、セルに値ではなく関数式を入力することで、求める結果を簡単に出力する機能です。Excelで関数をほとんど使用しない人であっても、「SUM」「AVERAGE」「COUNT」といった基本的な集計用関数を使用したことはあるはずです。数値の集計以外にも、文字列や日付を操作する関数、財務や統計専用の関数など、Excelには用途に応じた関数が多数用意されており、最新バージョンである「Microsoft Excel 2016」では400種類を優に超える関数を使用できます。ただし関数は、あくまでセルに何らかの結果を表示することしかできません。例えばセルの背景に色を設定したり、セルの周りにけい線を引いたりといったことを、関数で対応することはできません。
一方のVBAは、プログラミング言語の中でも習得が比較的容易なBASIC(Beginner's All-purpose Symbolic Instruction Code)という言語を使用することで、Excelで行う操作のほとんどを実施することができます。セル背景色の設定や、けい線を引くことのような、関数では対処できない操作を実施することはもちろん、Windows上のファイルを移動させたり削除したりするといった操作を実施することもできます。また全てではありませんが他のアプリケーションを操作することも可能です。さらにいえばVBA内で関数式を使用することもできるため、セルに関数を入力することなく、関数と同様の結果をセルに出力することもできます。
併せて読みたいお薦め記事
ロボティックプロセスオートメーションとは何か
Microsoft Office最新動向
- “脱Office”は無謀? 「Microsoft Office」の代わりを見つけるのが難しい理由
- Microsoft 365 Enterpriseを導入すべき企業の条件
- 今更聞けない「Office 365」と「Office 2016」決定的な違いとは?
イノベーションを起こす方法
機能的な境界が業務的な最善になるとは限らない
このように見ていくと、関数とVBAではそれぞれが実現できることにはずいぶんと違いがあり、どちらを利用するかの境界線は、かなりはっきりしているように思えます。ただし、この境界線は、業務パフォーマンスが向上するかどうかに左右されます。Excelの関数は大量のデータに対して、複雑な条件を付けて集計したり、関数式を大量に使用したりすると、Excelの処理速度に影響を及ぼします。多少遅くなる程度ならそれほど問題にはなりませんが、ひどくなると1つの操作をするたびに数秒から数分待たされるような状況になることもあります。もちろん、関数を使用しないよりははるかにマシではあるのですが、業務をする上で最善であるとはいえないでしょう。
一方で、複雑な条件分岐や計算プロセスが必要で、VBAを使用する方が容易に作成できるとしても、あえて関数を使用することもあります。式の参照元の数値を頻繁に変更し、途中のプロセスの値や結果の値を比較するような業務の場合などです。関数は参照元の値が変更された場合、あえて手動計算に設定しなければ自動で再計算して結果を変更します。一方VBAは、実行時にVBAを開始させるための操作をする必要があります。これにより1つ操作手順が増えてしまいます。1つの手間ではありますが、何度も実施すれば業務のパフォーマンスが低下しかねません。
機能的な境界よりも使用する側の5W1Hが選択の鍵
ビジネスコミュニケーションの基本として5W1Hを知らない人は、ほとんどいないでしょう。5W1Hは
- Who(誰が)
- When(いつ)
- Where(どこで)
- What(何を)
- Why(なぜ)
- How(どのように)
の6つの要素で構成され、報告や文章作成などの情報伝達において基本とされるフレームワーク(考え方の枠組み)です。この6つの要素のうち「How」を「Excelのツール作成においてVBAを使うか、関数を使うかを決定すること」と定義すると、残りの5つの要素で「VBAを使うか、関数を使うかを決定するための判断」ができるようになります。
これらの要素を整理した上で、
- VBAで作成するのか
- 関数で作成するのか
- VBAと関数の両方を使用するのか
を決定することで、業務の状況に合ったExcelツールの作成が可能になります。状況によっては、機能的には関数が最善であってもVBAを使用することもあれば、機能的に不足する部分があってもあえてVBAを使用せず、関数でできることだけ実現するといったこともあるでしょう。
Who
作成するExcelツールを使用する人が「関数なら扱える」程度なのか「VBAでも対応可能」な程度なのかなど、どの程度のスキルなのかを確認しておく必要があります。ツールに何らかの問題が発生した場合に現場で対処できるかどうか、対処できないとしても問題を正確に把握して適切に報告できるかどうか、などを把握しておきます。
When
Excelツールを使用する頻度と、いつまでにツールが必要かを確認しておく必要があります。頻度を確認することで、ツールを作成した結果、どのぐらいの効果が見込めるかを想定しやすくなります。必要な時期を知ることで、作成工数をどのぐらい確保できるかが想定できます。
Where
Excelツールの開発者は、ツールが使われる部門の所在地を考慮しておきましょう。開発者がすぐに足を運べる場所にあるか、または訪問するのに時間がかかる場所なのか、などを把握しておきます。例えばExcelツールの使用者の関数やVBAに関するスキルが低くても、開発者と使用者が同じ会社のフロアにいるのであれば、サポートは容易です。
What
Excelツールを必要としている業務は何か、現在の状況はどうなっているかを詳細に確認しておく必要があります。
Why
なぜExcelツールを作成する必要があるのか、業務上の課題を把握しておく必要があります。基本的にExcelツールを作成する目的は、業務効率化であることがほとんどです。例えばミスが許されないような業務である場合は、ミスの起こる確率を可能な限り減少させるようにツールを作成する必要があります。
VBAと関数は単純に機能では選択できない
Excelは、業務で広く使用されるアプリケーションであるとともに、VBAや関数を使用することによって、それらの業務を効率化することもできる特殊なアプリケーションです。使用者のVBAや関数に関するスキルには大きな個人差があり、そのことが「VBAを使用するか、関数を使用するか」の判断を難しくしています。こうした状況では、例えVBAと関数を使用するルールを定義したとしても、業務上の制約や使用者の事情を考慮せざるを得なくなり、最後にはルール自体が形骸化してしまいます。
VBAや関数の機能の差で単純に使用するかしないかを決めるのではなく、上述したような要素を確認した上で、業務に応じてVBAを使用するか、関数を使用するかを見極めることが最良の解決策となり得るのです。
このコラムについて
ほとんどの企業が使っている表計算ソフト「Microsoft Excel」。便利なツールですが、本来の目的を超えて“使いこなし過ぎる”ことが、かえって業務効率を低下させてしまったり、業務の属人化につながってしまったりする場面があるのではないでしょうか。
このコラムでは、日常業務でよく見掛けるExcelの活用例を紹介しながら「こんな場面は脱Excelを考えた方がよい」「こういうExcelの活用法はお薦め」といった知見を紹介します。
村山 聡(むらやま・さとし)
1971年愛知県生まれ、名古屋大学経済学部卒、中小企業診断士。
IT企業在職中に、単一業種においてキャリアを積んでいくことに疑問を感じ、どんな業界、職種でも通用する知識を得るべく中小企業診断士を取得。複数社を経て、現在の勤め先にて、コンサルタントとして、データを活用した業務効率改善に取り組む。
Copyright © ITmedia, Inc. All Rights Reserved.
“脱Excel”か“活Excel”か
ほとんどの企業が使っている表計算ソフト「Microsoft Excel」(以下、Excel)。便利なツールですが、本来の目的を超えて“使いこなし過ぎる”ことが、かえって業務効率を低下させてしまったり、業務の属人化につながってしまったりする場面があるのではないでしょうか。 このコラムでは、日常業務でよく見掛けるExcelの活用例を紹介しながら「こんな場面は脱Excelを考えた方がよい」「こういうExcelの活用法はお薦め」といった知見を紹介していきます。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社うるる] 「入札市場」攻略ガイド:効率的に落札するためのポイントを徹底解説 -
製品資料
[株式会社うるる] 入札情報に特化した「販路拡大」「効率化」のためのサポートツールとは? -
市場調査・トレンド
[株式会社うるる] 公共入札に成功する企業と失敗する企業の「5つの違い」 -
製品資料
[日本ビジネスシステムズ株式会社] 専門家が教える、Microsoft 365の「テナント統合/分離」を成功に導く秘訣 -
製品資料
[rakumo株式会社] Microsoft 365での情報埋没を防ぐ、社内ナレッジを資産化する情報ポータル活用
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
PHP脆弱性「PHP2Shell」で2260万件に影響 情シスの緊急チェックリスト
-
2
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
3
“アジャイルの壁”に挑むオリックス生命がIBMの開発管理ツールを選んだ理由
-
4
「テザリング依存」に潜む落とし穴 “遅いVPN”を解消するネット構築術
-
5
RAGで「データをAIに送る」運用が限界を迎えている理由
-
6
ライオンが挑む「守りのIT」脱却:Google Cloudで加速させるデータ駆動型経営
-
7
Claude利用8割のGMO、AI人材の評価軸が「トークン管理」に変わった
-
8
IT製品の導入に関するアンケート「セキュリティ」編
-
9
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
-
10
LINEヤフーはなぜ「社内の管理者」すら信用しないインフラを作ったのか
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
2026年のサイバーセキュリティには何が必要か? 最新データに学ぶ傾向と対策
-
3
経験豊富な即戦力人材に直接アプローチできる、「攻めの採用」への転換術
-
4
「IT史に名を残すシステム障害」8選
-
5
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
-
6
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
7
AI駆動開発のスピードと安全性を両立 「品質・セキュリティ管理」の実践ガイド
-
8
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
9
「標的型攻撃メール」事例・サンプル集
-
10
Microsoft 365のメールセキュリティ、3つの“死角”と追加で検討すべき対策とは
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー