“脱Excel”か“活Excel”か
“Excel職人”がいなくなっても使い続けられる関数を記述するコツ
職場の“Excel職人”がいなくなっても、メンテナンスしやすいワークシートを作るコツとは。ヒントは、関数が参照するセルを可視化する記述法です。「VLOOKUP」「INDIRECT」を利用する方法を紹介します。
なぜExcel業務をなくせないのか
企業は、日々新しいシステムを導入したり、システムをリニューアルしたりしています。それらのシステムには、従来Excelで行っていた業務を代替する機能が存在することも珍しいことではありません。これらの機能を活用することで、Excelで行っていた業務を削減することは可能です。とはいうものの、Excelで行っていた全ての業務をシステムの機能で代替することはなかなかできないことも、また現実です。
全て、なくすことができない要因はいろいろと考えられますが、その中でも「複数システムに蓄積したデータの分析結果を一元化して確認したい」といったニーズへの対応は、どんなシステムを導入してもそのシステムだけでは解決できません。このようなニーズに対応する製品としてビジネスインテリジェンス(BI)ツールがあるのですが、費用対効果の面から導入が困難な企業も少なからず存在します。
併せて読みたいお薦め記事
ワークフローやビジネスプロセスに関する記事
ワークフローをExcelから他システムに移行する
効率化のポイントは
このような状況のため結局、Excelを使った業務を全て、なくすことができず、マクロや関数を活用してExcel業務を効率化している場合も多いでしょう。マクロをある程度、使いこなすことができるようであれば、システムのデータをCSVファイルとして特定のフォルダにエクスポートし、そのデータをExcelに取り込み、集計するようなマクロを組むことはそれほど難しくありません。マクロが使えなくても、CSVファイルの蓄積データをExcelのシートに貼り付けた後、関数を使用して欲しいデータを得ることも可能です。
どちらにしても一度、特定業務に対応するExcelシートを作ってしまえば、ほぼ自動、もしくは数回の手順で目的のデータを得ることができ、大幅に効率化できることになります。
ではExcelシートを作成してしまえば、効率化は完了かというと、決してそうではありません。新しいシステムを導入したり、システムをリニューアルしたりすれば、それらのシステムがエクスポートするデータの形式に合わせてExcelを修正しなければならないからです。他にも集計方式を変更したり、新たなデータの集計を追加したりすることもあります。集計担当者が業務異動などにより、集計業務から外れることもあります。そのような場合、新たな担当者が集計を担当することになりますが、新たな担当者と前任者とのスキルギャップが問題になることもあります。
これらの状況に速やかに対処するためには、Excelのメンテナンス性を高めておくことも効率化を図る上で重要なことなのです。もし社内にマクロを組める人材が少なければ、たとえマクロが組めるとしても、後任者のためにあえてExcel関数を使って作成するといった判断をすることも効率化のためには必要になってきます。
Excel関数のメンテナンス性とは
ではExcel関数のメンテナンス性を高めるためには、一体どんな方法があるのでしょうか。そのヒントとなる機能が、「数式」タブの「ワークシート分析」グループの中にあります(図1)。
ワークシート分析のグループには、以下6つの項目があります。
- 参照元のトレース
- 参照先のトレース
- トレース矢印の削除
- 数式の表示
- エラーチェック
- 数式の検証
「参照元のトレース」「参照先のトレース」「トレース矢印の削除」の3つは、あるセルに入力されている数式が、どこのセルを参照しているか、またはどこのセルに参照されているかを矢印で視覚化する機能です。「数式の表示」は、数式の計算結果ではなく数式自体をセルに表示する機能です。「エラーチェック」と「数式の検証」は、関数を正しく記述しているかどうかを確認する機能です。
このように機能を確認していくと、セルに記述した数式の内容を可視化する機能が充実していることが分かります。セルを選択すれば、数式バーにはセルに入力した数式が表示されますが、1つ1つのセルを選択し、セル内の式の内容を確認することが使用者にとって重荷になるからです。ワークシート分析機能は「Excel 2003」から実装されており、こうした負荷を軽減するための機能だといえるでしょう。
意外と知らない、Excel関数のメンテナンス性を考慮した記述法
だとすると、こうした機能を使わなくても、関数のセルの参照をシート上で可視化できるように関数を記述したいところですが、どのようにしたらよいでしょうか。別のシートから値を検索して取得する関数として使用頻度が高いのは「VLOOKUP関数」です。このVLOOKUP関数を例にして考えてみることにしましょう。VLOOKUP関数の書式は以下のようになります。
VLOOKUP(検索値,検索範囲,列番号,検索の方法)
実際に関数としてExcelシートに記述する場合、一般的には下記のように記述するでしょう。
VLOOKUP(A2,Sheet2!A2:Z100,2,0)
この記述では、VLOOKUP関数はセルA2の値を検索値とし、Sheet2のA2~Z100を検索範囲として、Sheet2のA列を完全一致検索し、一致した場合にはその行のB列の値を表示します。この関数式における他のセルの参照情報は、参照元シートであるSheet2と検索する列のB列です。B列の指定については、VLOOKUP関数では数字で列の位置を指定するため、別のセルに指定する数値を入れておくことで、指定先を可視化することが可能です。一方シート名については、同じようにシート名を別のセルに入れても関数の結果がエラーとなってしまいます。そこで「INDIRECT」という関数を使います。
INDIRECT関数の書式は「INDIRECT(参照文字列)」であり、セルのアドレスを文字列で指定することが可能な関数です。例えばシート1のA1セルの値を、別のセルに表示させたいときの数式は「シート1!A1」と記述します。この記述をINDIRECT関数で記述すると「INDIRECT(“シート1” & “!A1”)」となります。この“シート1”の部分は、別のセルを参照することが可能であるため、B1に「シート1」と入力しておくことで、「INDIRECT(B1 & “!A1”)」と記述することができます。
このINDIRECT関数の機能を使い、シート名と検索列の関数の記述を、セルを選択して数式バーに式を表示しなくても確認できるように関数を記述すると、次のようになります(図2)。
図2の左では、参照するシート名を1行目に、検索する列の値を2行目に記載し、VLOOKUP関数内でINDIRECT関数により、シート名を参照するように記述しています。このように記述することで、シートの1行目と2行目を確認することで、関数が、どのシートのどの列を参照しているか一覧として確認することが可能になります。
このように記述することで他にもメリットが生まれます。1つ目はセルの参照において参照を固定化させたい箇所に絶対参照を示す“$”を使用することで、1つ関数式を記述したら、他のセルにもコピーするだけで関数を修正することなく展開することが可能になることです。図2では、セルB5に記述した関数を他のセルにコピーしただけで、修正することなく正しい参照先を参照しています。
2つ目は、参照値の変更が容易になることです。関数内に参照値を記述すると、関数を修正する場合、関数の対象となる位置の参照値を選択して、修正することになり、関数の記述が長くなると、それなりに手間がかかります。図2のようにすることで、関数自体を修正することなく、参照値の修正が可能になります。
Excel業務を効率化するには、このようにメンテナンス性にも気を配ることも大切なことなのです。
村山 聡(むらやま・さとし)
1971年愛知県生まれ、名古屋大学経済学部卒、中小企業診断士。
IT企業在職中に、単一業種においてキャリアを積んでいくことに疑問を感じ、どんな業界、職種でも通用する知識を得るべく中小企業診断士を取得。複数社を経て、現在の勤め先にて、コンサルタントとして、データを活用した業務効率改善に取り組む。
Copyright © ITmedia, Inc. All Rights Reserved.
“脱Excel”か“活Excel”か
ほとんどの企業が使っている表計算ソフト「Microsoft Excel」(以下、Excel)。便利なツールですが、本来の目的を超えて“使いこなし過ぎる”ことが、かえって業務効率を低下させてしまったり、業務の属人化につながってしまったりする場面があるのではないでしょうか。 このコラムでは、日常業務でよく見掛けるExcelの活用例を紹介しながら「こんな場面は脱Excelを考えた方がよい」「こういうExcelの活用法はお薦め」といった知見を紹介していきます。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
事例
[ServiceNow Japan合同会社] 農林中金に学ぶ内製開発 処理効率を約2倍に高めAI活用も加速させた方法とは? -
事例
[ServiceNow Japan合同会社] NTTグループのデジタル変革術、17万人が利用する決裁プロセス刷新の全貌 -
事例
[ServiceNow Japan合同会社] 開発期間は3年余、なぜNTTデータグループはSaaSで基幹システム開発を行ったのか -
事例
[ServiceNow Japan合同会社] 富士通のAI変革、人が介在しないサービスデスク実現に向けた取り組みとは? -
事例
[ServiceNow Japan合同会社] 業務効率化とサービス品質向上をどう両立する? JTBのデジタル変革に学ぶ
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「VMware離れ」は本当か 3000社がVCF 9にかじを切った現実的な理由
-
2
「Microsoft 365」が乗っ取られる 跡形もなくMFAを破る手口
-
3
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
4
Microsoft製品でここまで自動化できる 情シスがやめられる手作業10選
-
5
Oracle巨大ITプロジェクトはなぜつまずいたのか 8年で導入1割、追加で170億ドル
-
6
ISMSの“コンサル丸投げ”が招く数千万円の無駄 NTTドコモビジネスの脱出劇
-
7
エンジニアが選考を辞退する本当の理由 7割が隠す“面接の違和感”とは
-
8
Netflixのバックエンドは「ほぼJava」 3000超のアプリを支える開発基盤の裏側
-
9
AI基盤は本当に「オンプレ回帰」する? Broadcomの言い分と企業の本音
-
10
AI全部入り「Microsoft 365 E7」に企業が二の足を踏む訳 移行意向はわずか4%
ホワイトペーパーランキング 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ジャパンをフォロー