“脱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
-
事例
[フォーティネットジャパン合同会社] 複雑化しがちな「SASE運用」 IT・医療・金融などの事例に見る導入成功の秘訣 -
製品資料
[フォーティネットジャパン合同会社] 「SD-WAN」導入で失敗しないための5つの重要事項 -
技術文書・技術解説
[フォーティネットジャパン合同会社] VPNの代替候補「ZTNA」を理解できるようになる“3大要素”とは? -
事例
[フォーティネットジャパン合同会社] すぐ分かる「SD-WAN」選定のポイント 成功企業はどんな成果を出した? -
製品資料
[SCSK株式会社] 「Dropbox」管理・運用の困りごと解決ガイド
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
2
「エージェントを作るな、スキルを作れ?」 Anthropicが提唱するAI運用の勘所
-
3
なぜ人はいるのにDXが進まない? ライオンも直面した“老害”レガシーシステム
-
4
Microsoft月例パッチ1400件超で過去最多 「限界点」を迎えたパッチ管理
-
5
「Windows」の不要なファイルを安全に消して容量を空ける方法
-
6
PHP脆弱性「PHP2Shell」で2260万件に影響 情シスの緊急チェックリスト
-
7
SAP導入後も残る“Excel依存” 京急電鉄は「kintone」でどう解消した?
-
8
AI時代のITインフラ戦略とは? 販売代理店が知っておきたい最新トレンド
-
9
被害額は過去最高額 それでも「サイバー犯罪者が捕まらない」3つの理由
-
10
Microsoft 365の「テナント統合・分離」問題 手戻りのない道を選ぶ秘訣とは?
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
2026年のサイバーセキュリティには何が必要か? 最新データに学ぶ傾向と対策
-
3
経験豊富な即戦力人材に直接アプローチできる、「攻めの採用」への転換術
-
4
「IT史に名を残すシステム障害」8選
-
5
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
-
6
AI駆動開発のスピードと安全性を両立 「品質・セキュリティ管理」の実践ガイド
-
7
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
8
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
9
「標的型攻撃メール」事例・サンプル集
-
10
Microsoft 365のメールセキュリティ、3つの“死角”と追加で検討すべき対策とは
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー