“脱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の活用法はお薦め」といった知見を紹介していきます。
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
4
221人調査で分かった「情シス最大のストレス」は?
-
5
「データストレージの活用方法」に関するアンケート
-
6
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
7
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
8
本当に安いPCで十分か? “すぐ重くなる”を防ぐノートPC選びの絶対条件
-
9
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
10
Claudeの不可視透かしに批判殺到 著作権消失や誤判定に潜む企業リスク
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー