“脱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
-
製品資料
[株式会社うるる] 「入札市場」攻略ガイド:効率的に落札するためのポイントを徹底解説 -
製品資料
[株式会社うるる] 入札情報に特化した「販路拡大」「効率化」のためのサポートツールとは? -
市場調査・トレンド
[株式会社うるる] 公共入札に成功する企業と失敗する企業の「5つの違い」 -
製品資料
[日本ビジネスシステムズ株式会社] 専門家が教える、Microsoft 365の「テナント統合/分離」を成功に導く秘訣 -
製品資料
[rakumo株式会社] Microsoft 365での情報埋没を防ぐ、社内ナレッジを資産化する情報ポータル活用
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
PHP脆弱性「PHP2Shell」で2260万件に影響 情シスの緊急チェックリスト
-
2
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
3
「Microsoft 365」が乗っ取られる MFAを破る“本物の画面”の恐怖
-
4
「Windows」の不要なファイルを安全に消して容量を空ける方法
-
5
「テザリング依存」に潜む落とし穴 “遅いVPN”を解消するネット構築術
-
6
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
-
7
Claude利用8割のGMO、AI人材の評価軸が「トークン管理」に変わった
-
8
「IT運用・情報システム業務」に関するアンケート
-
9
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
10
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
ホワイトペーパーランキング 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ジャパンをフォロー