“脱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の活用法はお薦め」といった知見を紹介していきます。
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
3
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
4
221人調査で分かった「情シス最大のストレス」は?
-
5
「データストレージの活用方法」に関するアンケート
-
6
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
7
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
8
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
9
本当に安いPCで十分か? “すぐ重くなる”を防ぐノートPC選びの絶対条件
-
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ジャパンをフォロー