本書は私が約10年もの間、実務で培ってきたエクセル関数についてのノウハウ・経験のほとんどを詰め込んだ一冊です。

紹介している関数のノウハウは基本部分を省き、その分を濃い応用テクニックを中心に記していますので、中級者以上向けといえるかもしれません。

また、仕事を仕組化するためのエッセンスも盛り込んでいるビジネス書でもあります。

森田森田

書評をブログやFacebookなどにポストされた方は、ぜひ@glucosamineZまでご連絡ください。本ページでご紹介させていただきます。

Excelステップ講座

感想を頂きました!

かん吉さん(わかったブログ)

Excelで高度の処理をするならマクロを利用すると思っていましたが、関数でもかなりの部分をカバーできるんですね。

私はプログラムはできますが、ExcelのVLOOKUP関数は使ったことがありませんでした。本書の内容すべて理解できてはいませんが、複雑なデータ処理をしたい人には役立つ内容になっているはずです。

こばやしさん(ビジネス書をビジネスのチカラに)

Excelでそこまで複雑なことをしないにしても、上のVLOOKUP関数とIF関数はある程度使えると良いですよね。

データを分析したりする前に、データを整える。

そんなときに、VLOOKUP関数とIF関数を使えると、便利だと思います。

使いたいですね。

本書がおすすめな人

本書は次のような人におすすめですよ!

  • 関数の便利さに気付き、もっと極めたいと思った人
  • 関数を使う上でどうデータ整理を行えばよいか知りたい人
  • 複数の関数をどう組み合わせれば良いのか知りたい人
  • VLOOKUP関数とIF関数をとことん極めたい人
  • 関数と相性の良い機能をどう組み合わせれば良いか知りたい人
  • 関数とマクロ(VBA)、ピボットテーブルをどう組み合わせ(使い分け)すれば良いか知りたい人
  • 関数を極めた後に何をどう学べば良いか知りたい人

なぜ、エクセル関数を効果的に使える必要があるのか?

それは、デスクワークの生産性を高めるためですね。

ただ、これだけでは当たり前過ぎるため、もう少し掘り下げましょう。

なぜ、生産性を高めるのか、それは生産性が上がったことでできた余剰時間を別の時間に使えるためです。

たとえば、次のような時間ですね。

  • 計画や分析やコミュニケーションなど、非定型な仕事の時間に充てる
  • 家族や恋人との時間に充てて、楽しいひとときを過ごす
  • ジョギングや筋トレなど、健康管理の時間に充てる
  • 資格試験や異業種交流会などの刃と研ぐ時間に充てる
  • 自分の趣味の時間に充てて、心身ともにリラックスする

いかがでしょうか?

上記はあくまでも一例ですが、デスクワークだけに時間がかかっていると、上記のような仕事やプライベートをより充実させるための時間が目減りしてしまい、人生における充実感や満足度は低下してしまいますよね。

よって、デスクワークが多い人ほど、エクセル関数をきちんと使えることは重要なのです。

さらに、次のケースを見てください。

サンプルケース

惜しいビジネスパーソン:Aさんの場合

AさんAさん

かしこまりました。

Aさんは至急▲社のコンペをエクセルで計算しました。

Aさんは原価の構成要素で思い浮かぶものから順番にワークシートに入力します。

中には、電卓で手計算した数字をそのまま入力しているものも。

AさんAさん

C課長、計算終わりました!

C課長C課長

おっ、ありがとう!あとで確認するよ。

~翌日~
C課長C課長

Aさん、ここの部分の数値の根拠はどこに載っているんだい?
ワークシートの中を確認したけど、見つからないんだが。。

AさんAさん

あっ、すみません。。この部分は電卓で入力していたのでワークシート上には内訳はありませんでした。××という内容になります。

C課長C課長

そうか、ありがとう。あと、ワークシートの情報がごちゃごちゃしていて見にくいよ。
今度からはもう少し整理してから出すように気をつけてくれ。

AさんAさん

すみません。以後、気をつけます。。

~さらに翌日~
C課長C課長

Aさん、今度は★社のコンペでまた原価見積を頼む。この前の▲社のコンペの要領でやってくれればいいからさ。

AさんAさん

承知しました。

AさんAさん

(やべー。。▲社のデータはごちゃごちゃしていて★社のものに直すのは大変だな。。最初からやり直した方が早いかな。)

デキるビジネスパーソン:Bさんの場合

BさんBさん

かしこまりました。

Bさんは計算する前にデータをどのようにまとめれば良いかを考えました。

その上で▲社のコンペをエクセルで計算しました。

Bさんは原価の構成要素となる人件費や外注費は別シートに入力用のシートを設け、それらのデータを集約するまとめのシートも用意します。

入力用のシートを独立させているため、入力はしやすいですし、計算の元となる要素を入力すれば計算できるよう関数もきっちり組んでいるため、準備には時間をかけましたが、作業はすぐに終わりました。

BさんBさん

C課長、計算終わりました!

C課長C課長

おっ、ありがとう!あとで確認するよ。

~翌日~
C課長C課長

Bさん、見積ありがとう!これでバッチリだよ!また何かあったらよろしくね!

BさんBさん

ありがとうございます!

~さらに翌日~
C課長C課長

Bさん、今度は★社のコンペでまた原価見積を頼む。この前の▲社のコンペの要領でやってくれればいいからさ。

BさんBさん

承知しました。

BさんBさん

(この前の▲社のエクセルブックをそのまま使えそうだな。この前ちゃんと作りこんでおいてよかった!!)

AさんとBさんの違い

いかがでしょうか?

AさんとBさんの違いはおわかりでしょうか?

Aさんは場当たり的な業務をしていたため、C課長からの追加の質問を受けたり、★社の作業はほぼやり直しになっていました。

意外と「時間がない!」という人ほど、こういう作業をしがちです。

一方、Bさんは、きっちりと仕事の仕組みを考えてエクセルブックを設計し、関数を用いてデータ入力だけで済むようにまとめていました。

そのため、C課長のチェックもすんなり終わり、▲社用につくったエクセルブックのちょっとした手直しで★社の作業も簡略化できていますね。

もちろん、実務ではこのような理想的に完結することはほぼないかもしれませんが、仕事がデキるビジネスパーソンは、目の前の仕事だけを行なうだけでなく、同様の仕事が発生した場合に備えて「仕組化」して再現性を高める工夫をしているものです。

本書の学習のステップ

本書は以下の3ステップでエクセル関数を学んでいただきます。

  1. 関数を効果的に使うための考え方&知識
  2. 2つの主要関数を中心に、各種組合せのテクニック
  3. 関数と主要機能との、各種組み合わせのテクニック

では、各ステップの詳細を見ていていきましょう。

【STEP1】関数を効果的に使うための考え方&知識

関数は400以上の種類があり、知っていて使える関数が多ければ多いほど良いですが、それ以上に「どの場面にどの関数を使うか」、という「使いどころ」や「組み合わせ」が何よりも重要です。

また、どの職場にもエクセルに強い人はいるかと思いますが、そういった人たちが作成したブックは集計がしやすいなど、データの整理の仕方からして効率的になっているはずです。

よって、関数を効果的に使うために必要な、関数の使いどころや組み合わせ方、データの整理の仕方を学んでもらいます。

【STEP2】2つの主要関数を中心に、各種組合せのテクニック

関数は数多くありますが、どんな業種でも特に使用頻度の高いVLOOKUP関数とIF関数を中心に様々なテクニックを紹介しています。

VLOOKUP関数とIF関数を使う上で誰しもぶつかるであろう困った事例に対し、どうすれば解決できるか複数掲載しているため、すべて理解し、実践できれば関数のスキルは底上げできるはずです。

【STEP3】関数と主要機能との、各種組み合わせのテクニック

関数は関数同士の組み合わせ以外にも、他のエクセルの諸機能と組み合わせできます。

特に関数と相性の良い機能と組み合わせの仕方の他、関数と同じく業務効率を向上させるマクロ(VBA)とピボットテーブルとの組み合わせ(使い分け)についても踏み込んだ内容を盛り込みましたので、関数を極めた後のステップもイメージしやすいかと思います。

【まとめ】①~③を学ぶことで仕事を仕組化・再現化するスキルを培うことができる!

仕事で一番大事なことは、いつでも安定的に仕事の成果を出すことですよね?

もっというと、納期まで一定以上の品質のものをより低コストで達成することです。

デスクワークにおいても同様ですね。

また、自分ひとりが安定的にできるだけでは、組織としては、うまく回りません。

そこで、仕事を「仕組化」することで、いつでも・誰でも・最小の工数で同じ結果を出すことができるようになります。

また、いったん「仕組化」のコツやポイントが分かれば、同じような場面に遭遇した場合に「再現化」できますね。

このように、決められたことをただこなすだけでなく、仕事を仕組化・再現化できる人は、どの職場でも重宝するはずです。

業務効率は図れるし、属人性も排除できるため、後進の育成もしやすいですからね。

何より、仕組化・再現化するように仕事した方が、能動的に仕事しているので楽しくなることが一番のメリットです。

本書がそのきっかけや手助けになれたら、これ以上に嬉しいことはありません。

「エクセル関数に強くなりたい」、「業務を仕組化・再現化したい」という方は、本書を参考に実務に取り組んでみてはいかがでしょうか?

本書で学ぶことができる機能一覧

エクセル関数(登場順)

  1. VLOOKUP関数
  2. MATCH関数
  3. IFERROR関数
  4. LEFT関数
  5. FIND関数
  6. SERACH関数
  7. IF関数
  8. MAX関数
  9. MOD関数
  10. ROW関数
  11. VALUE関数
  12. DATEVALUE関数
  13. TEXT関数
  14. MID関数
  15. CONCATENATE関数
  16. OFFSET関数
  17. COUNTA関数
  18. INDEIRECT関数
  19. INDEX関数
  20. AND関数
  21. OR関数
  22. COUNTIF関数
  23. ISERROR関数
  24. IESRR関数
  25. ISNA関数
  26. WEEKDAY関数
  27. SUBSTITUTE関数
  28. AVERAGE関数
  29. MONTH関数
  30. NETWORKDAYS関数
  31. INTL関数
  32. SUM関数
  33. TIME関数
  34. HYPERLINK関数
  35. CELL関数

その他機能

  1. テーブルとして書式設定
  2. 条件付き書式
  3. 入力規則
  4. 名前の定義
  5. ピボットテーブル
  6. マクロ(VBA)

目次

第1章 エクセル関数の「真の力」は、まだまだそんなものじゃない!

1-1 関数はもっともっと「使える」はず!

せいぜい10種類くらい、それすらも使いこなせてない?
あなたが「もっともっと使える」ようになるために

1-2 本気の関数ならここまでできる!

まずは自分の関数スキルの現在地点を把握すること
サンプル1:VLOOKUP関数を列方向にもコピペする
関数の使い方1つで解決できる
サンプル2:LEFT関数でカテゴリ名を抽出する
サンプル3:IF関数を45までネストしてみる

1-3 VLOOKUP関数とIF関数の使い込み具合で、あなたの関数レベルがわかる

関数が必要になる作業は「転記」と「条件分岐」
VLOOKUP関数を使い込めば込むほど「転記」レベルも上がる
IF関数を使い込めば使い込むほど「条件分岐」が自動化できる

1-4 関数の威力は「組み合わせ」で更に倍増する

関数は型通りに使えることの方が少ない
別の関数と組み合わせることで変動する要素に対応させる
「組み合わせ」は、関数だけでなくエクセルの別機能にも有効

1-5 関数は、マクロ・ピボットと並ぶエクセル「三種の神器」の1つにすぎない

本当に時短したいなら、関数だけ極めてもダメ!

1-6 マクロ・ピボットと比較してわかる関数の使いどころ

関数の使いどころは大別すると3つ
リアルタイムで計算結果がほしい場合
対象範囲が「セルの値」「条件付き書式」「入力規則」「名前の定義」に限られる場合
計算過程を見せたい場合

1-7 関数の弱点をマクロ・ピボットで補うという発想が大事

関数の苦手な作業を正確に把握する
まだ定型化されてない集計や分析ならピボットを使う

第2章 あなたの「関数レベル」を更に引き上げるための必須知識

2-1 最短距離で関数を記述するために、「ゴール」「ユーザー」をまず明確にする

関数は「ゴール」から逆算すること
想定ユーザーから関数の方向性を微修正する

2-2 「仕組化」するために「IPO」というフレームワークで設計する

IPOとは
IPOをどう関数へ活用していくのか

2-3 関数をシンプルに記述するために、「テーブルの3類型」で予めデータを整理する

テーブルの3類型とは
マスタとは
トランザクションとは
サマリとは
「テーブルの3類型」をどう関数へ活用していくか

2-4 関数で扱うデータは事前に「定量化」「グループ分け」しておく

データは定量か定性の2分類しかない
集計・計算するためには、なるべくデータを定量化する
定性データはカテゴライズ・グルーピングしておく

2-5 複数の関数を組み合わせるときは、「段階的に」「検証しながら」記述する

関数の組み合わせを行う際の思考の順番
まずはメインの関数で計算結果を確認する
うまくいかない部分を、どの関数で補えるか調べて試す

2-6 関数の記述に悩んだら、「作業列」で数式を分解する

「作業列」のメリット・デメリット
「作業列」の使いどころ

2-7 関数が正しく動作するか、「数式の検証」機能で検証する

長い記述の関数は「数式の検証」機能で検証する
その他の検証方法

第3章 VLOOKUP関数をとことん極める!

3-1 あなたのVLOOKUP関数の使い方はまだまだ甘い!

VLOOKUP関数はもっともっと便利になる
VLOOKUP関数で絶対に押さえておくべき5つのポイント

3-2 「検索値」の書式を一致させて検索する
【VLOOKUP関数の「検索値」にした値が参照範囲の1番左の列内に確かにあるのに、なぜか検索できない場合の解決方法とは】

検索できない理由は「表示形式」の違い
解決方法は?
「検索値」が文字列、「範囲」が数値の場合はVALUE関数と組み合わせる
「検索値」が数値、「範囲」が文字列の場合はTEXT関数と組み合わせる

3-3 文字の一部を利用して検索する
【作業列が使えない場合でも、あるセルの文字列の一部分をVLOOKUP関数の「検索値」に加工する方法とは】

「検索値」は文字列操作関数と組み合わせることができる
文字列の一部分を左から抽出したい場合はLEFT関数と組み合わせる

3-4 2つ以上の条件で検索する
【VLOOKUP関数の「検索値」にした値が参照範囲の1番左の列内で重複している場合に、「検索値」にHITする上から2番目以降のデータを検索する方法とは】

「検索値」が重複すると、1番上のデータしか検索できない
解決方法は?

3-5 データを追加しても参照範囲を自動的に調整する
【VLOOKUP関数の参照範囲となる表へデータを追加しても、本来は自動的に変わらない参照範囲を、データの増減に合わせて自動的にサイズ調整を行う方法とは】

本来、参照範囲となる表へのデータ追加は細心の注意が必要
共有しないファイルの「範囲」を自動拡張する場合は、テーブル機能と組み合わせる
共有前提のファイルの「範囲」を自動拡張する場合は、OFFSET関数と組み合わせる

3-6 条件に応じて参照範囲を切り替える
【VLOOKUP関数の参照範囲にしたい表が2つ以上ある場合に、条件に応じてその参照範囲を自動的に切り替える方法とは】

条件に応じて参照したい表が複数ある場合、いかに自動化するか
条件に応じて複数の「範囲」を切り替えたいなら、INDIRECT関数と組み合わせる

3-7 関数をコピーした後に、自動的に「列番号」を調整する
【VLOOKUP関数の数式を列方向の他のセルへコピーすると、本来は自動的に変わらない「列番号」を自動的に調整する方法とは】

コピペで使い回すには「列番号」がネック
セル参照でも活用すれば「列番号」を自動調整できる
見出しの一致で「列番号」を自動調整したい場合は、MATCH関数と組み合わせる

3-8 「検索値」が参照範囲の1番左以外の列でも検索する
【VLOOKUP関数の「検索値」にした値が、参照範囲の1番左以外の列にある場合に検索するための解決方法とは】

「検索値」は絶対に参照範囲の1番左でなければならない
「検索値」から行・列方向にスライドして検索したい場合は、OFFSET関数を活用する
縦と横、それぞれ「検索値」があるならINDEX関数を活用する

第4章 IF関数をとことん極める!

4-1 あなたのIF関数の使い方はまだまだ甘い!

IF関数はもっともっと便利になる
IF関数で絶対に押さえておくべき3つのポイント

4-2 条件分岐を増やす
【複数のIF関数をネスト(入れ子)し、条件分岐を複数パターン作成する方法とは】

なぜ、ネストが必要か?
複数のIF関数をネストさせる方法

4-3 1つの「論理式」を複数条件にする
【本来、1つの「論理式」は1つの条件でしか真偽を判定できないものを、他の関数と組み合わせて複数条件にする方法とは】

普通は「論理式の数=条件の数」
IF関数の論理式を複数条件にしたい場合は、AND関数・OR関数と組み合わせる

4-4 他の関数のエラー表示を回避する
【特定の条件下で他の関数の計算結果がエラーになる場合に、IF関数でエラー表示を回避する方法とは】

エラーの影響をIF関数で抑える
エクセル2003以前のファイルのエラー表示を回避したい場合は、ISERROR関数と組み合わせる
エラーを未然に防ぐための工夫にもIF関数は使える

4-5 複数条件によって自動的に変更される文字列・コードをつくる
【複数のIF関数を1つの数式で並列につなぎ、各IF関数の返り値を1つの文字列(コード)にする方法とは】

IF関数は [&]と組み合わせることで、「文字列操作関数」としても有効
すでにあるデータを元に、独自コードを作成する
定型の報告メールに、ワークシート上のデータを自動的に流用する

4-6 他の計算関数を条件付きにする
【●●IF関数がない他の関数とIF関数を組み合わせて、任意の条件を付けた上で計算する方法とは】

より細かい分析には条件付き計算が必須
IF関数と計算する関数を「配列数式」として組み合わせる
「配列数式」の条件を2つ以上にする場合(AND条件)
「配列数式」の条件を2つ以上にする場合(OR条件)

第5章 関数の「組み合わせ」をとことん極める!

5-1 より高度な集計をする
【「比較演算子」「ワイルドカード」と組み合わせ、●●IF関数の検索条件を「~以上」「~を含む」などのより高度なものにする方法とは】

普通の「検索条件」だけでは手間がかかる
「検索条件」に「比較演算子」を組み合わせることで、「~以上」「~以下」などが検索できる
「検索条件」に「ワイルドカード」を組み合わせることで「~を含む」「~から始まる」などが検索できる

5-2 転記・集計用の独自コードをつくる
【複数の関数を組み合わせ、既存のデータから転記・集計をする際の「キー」にする一意のコードを自由に加工する方法とは】

転記・集計用のコードがなければつくればいい
IF関数とTEXT関数とCOUNTIF関数で独自コードをつくる

5-3 柔軟な文字列操作を行う
【複数の関数を組み合わせ、条件の異なる文字列操作を一括で処理する方法とは】

文字列操作関数を効果的に使えない人は手入力が増える
郵便番号の抽出はシンプルなLEFT関数のみ
都道府県名の抽出はIF関数とMID関数を組み合わせる
市区名の抽出は、SUBSTITUTE関数とIF関数・LEFT関数・FIND関数を組み合わせる
市区名後住所の抽出はシンプルなSUBSTITUTE関数のみ

5-4 営業日を自動カウントする
【複数の関数を組み合わせ、自動的に営業日をカウント・割り振りを行う方法とは】

日付の自動化は地味に重要
IF関数・OR関数・COUNTIF関数とNETWORKDAYS関数を組み合わせて営業日を自動カウントさせる
土日以外が定休日の場合は、NETWORKDAYS.INTL関数を活用する

5-5 より高度な「条件付き書式」を実現する
【関数と組み合わせることで、「条件付き書式」の規定のメニューにない条件でも「条件付き書式」機能が動作するよう設定する方法とは】

もっと高度な条件の「条件付き書式」を設定したいなら、数式を設定する
MOD関数・ROW関数を組み合わせて偶数行に色付けする
OR関数・WEEKDAY関数・COUNTIF関数と組み合わせて土日祝に色付けする

5-6 より高度な「入力規則」を実現する
【関数と組み合わせることで、「入力規則」の規定のメニューにない条件でも「入力規則」機能が動作するよう設定する方法とは】

もっと高度な条件の「入力規則」を設定したいなら、数式を設定する
「ユーザー設定」へCOUNTIF関数を入力して重複チェックをさせる
「リスト」へINDIRECT関数を入力して、ドロップダウンリストを階層化させる

5-7 より高度な「名前の定義」を実現する
【関数と組み合わせることで、定義しておいた「名前」の参照範囲を自動的にサイズ調整する方法とは】

「名前の定義」の範囲も数式を記述することができる
OFFSET関数・COUNTA関数と組み合わせて、「名前」の参照範囲を自動的にサイズ調整する

第6章 関数とピボットとマクロの連携も本気で極める!

6-1 「関数+マクロ・ピボット」という使い方が理想形

更に上の領域へ
サンプル「勤怠管理表」の前提条件
サンプル「勤怠管理表」のシート構成と使用する機能

6-2 最初にすべきはブック内の設計

洗い出した情報は「IPO」を活用して分類する
「テーブルの3類型」でシートの役割を決める

6-3 「雛形」シートに関数をセットする

「雛形」シートに関数をセットする場所
社員番号・氏名・シフトの転記は、VLOOKUP関数とIF関数とMATCH関数を活用
勤務時間の計算はIF関数とTIME関数

6-4 マクロで「雛形」シートを自動複製させる

マクロで「雛形」シートを元に、日次シートを暦日分自動複製させる

6-5 複製した日次シートを集計するために「サマリ」シートに関数をセットする

「サマリ」シートに関数をセットする場所
日次シートの勤務時間の集計はINDIRECT関数
「サマリ」シートから日次シートへ遷移するために、HYPERLYNK関数とTEXT関数を使う
日次シートから「サマリ」シートへの遷移はマクロでも可能

6-6 勤怠状況や残業状況の分析は、マクロでデータを集約しピボットで分析する

マクロで日次シートの全データを「ローデータ」シートに集約する
一元化された「ローデータ」シートに対してピボットテーブルで分析する

6-7 翌月に使いまわす場合に備え、マクロで初期状態に戻せるようにしておく

次の作業を見据えた仕組みを設定しておく
マクロで日次シートを自動ですべて削除する
マクロで「月次シフト」シートの更新部分を削除する
マクロで「ローデータ」シートの見出し以外のデータを削除する

著者略歴

通信会社勤務。主にBPO(ビジネス・プロセス・アウトソーシング)サービスに10年以上従事し、様々なクライアント企業のバックオフィス業務等の非コア事業の運営管理や業務設計を担当。

クライアントや業務内容によって異なる環境・状況下でもエクセルを駆使して業務整理、プロセスの効率化、コスト削減に取り組む中で、創意工夫次第で仕事の精度・効率を高めてくれるエクセルの可能性や魅力にどっぷりとハマる。

エクセルを10年間以上ほぼ毎日数時間触り続け、本業で複数の業界・業種のバックオフィスの設計~運営に携わってきた経験を踏まえ、業務効率・精度を高めるエクセルの活用方法をブログやSNSで発信中。