“脱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
-
事例
[サイボウズ株式会社] DXに必要な「Dスキル」「Xスキル」を持った人材を育成するには? -
市場調査・トレンド
[サイボウズ株式会社] データで見る、DXが「順調に進む企業」と「つまずく企業」の違い -
製品資料
[サイボウズ株式会社] 賛否が割れがちな「Notesからの移行」 新環境への移行を納得してもらうには? -
事例
[ServiceNow Japan合同会社] 農林中金に学ぶ内製開発 処理効率を約2倍に高めAI活用も加速させた方法とは? -
事例
[ServiceNow Japan合同会社] NTTグループのデジタル変革術、17万人が利用する決裁プロセス刷新の全貌
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「VMware離れ」は本当か 3000社がVCF 9にかじを切った現実的な理由
-
2
MS月例パッチが1000件突破 人手不足の情シスを襲う「月1回メンテ」の崩壊
-
3
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
4
「Microsoft 365」が乗っ取られる 跡形もなくMFAを破る手口
-
5
「Microsoft一択」で本当にいいのか 知らぬ間にライセンス費用が膨らむ真相
-
6
「Linuxサーバの長期運用とRed Hat Enterprise Linux」に関するアンケート
-
7
Microsoft製品でここまで自動化できる 情シスがやめられる手作業10選
-
8
「企業内サーバ環境の利用実態」に関するアンケート
-
9
Oracle巨大ITプロジェクトはなぜつまずいたのか 8年で導入1割、追加で170億ドル
-
10
DXを阻む「動くだけ」のレガシーシステムに決別するための生成AI活用術
ホワイトペーパーランキング PR
-
1
生成AIのハルシネーションを防止 回答精度を高めるセマンティックレイヤーとは
-
2
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
3
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
4
AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
-
5
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
6
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
7
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
8
マンガで解説:「ゼロトラスト」「SASE」の必要性とメリット
-
9
5分で分かる「セキュア大容量ファイル転送サービス」の機能とメリット
-
10
情報セキュリティ対策早分かりガイド:25の自社診断で弱点と解決策を理解
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー