名著『Excelの本当に正しい使い方』のレビューとPowrer BIへの扉

**Microsoft Power BI Advent Calendar 2024** の9日目の記事です。

https://qiita.com/advent-calendar/2024/powerbi


# はじめに
Excelの神こと田中亨先生の名著[『Excelの本当に正しい使い方』](https://bookplus.nikkei.com/atcl/catalog/21/283960/)のレビュー。2021年9月発行で、やや時間は経っているものの、Excelを少しでも使うオフィスワーカーは読んでおいた方が良い。というか、新入社員研修で扱うべき。まずは買うべし！

本記事は**著書の説明ではなく、自分はこう感じたという意見**。なので、**本記事を読んでも著書を理解できるわけではない**し、そういうつもりで書いてもいない。ぜひ皆さんも本を読んでみて、感じ方の違いを楽しんでもらいたい。

最後の方は、Power BIにつながる話を、個人的な経験を踏まえつつ説明。

# レビュー
## 第0章 はじめに
↓で読める。

https://bookplus.nikkei.com/atcl/column/032900009/051700041/

書名のとおり、Excelを正しく使うことの重要性についての説明。いきなり超重要！

Excelのワークブックを「雑」に作っても、目の前の業務は遂行できる。ここでいう「雑」とは、田中先生が唱えるExcelの「正しい使い方」を意識しないということ。

正直、簡単なワークブックであれば雑に作っても問題ない。しかし、時が経ちそのワークブックで行う業務が複雑になればなるほど、雑に作ったか正しく作ったかの違いが顕著に表れてくる。それが、「できない」、「わからない」、「引き継げない」ということ。


## 第1章～第3章
第1章は「セルを知る」、第2章は「数式を知る」、第3章は「関数を知る」。

基本的なExcelの使い方や仕組みの説明。Tips寄りな内容ではあるが、実務で使う上での本当に基礎となる内容。もうExcelは十分使えるよという人も、一度は読んでおくべき。何かしら新たな発見があるはず。

## 第4章以降
第4章は **「シートを知る」** 、第5章は **「Excelを知る」** 。

こういう内容を書いた本は他になく、この本が類まれなのは第4章以降の内容が他の本に無いから。自社の業務でExcelを効率よく使うにはどのようにすれば良いか、それを考える基本的な方針、ヒントがちりばめられている。

### 第4章 §01 データの流れを意識して入力・計算・出力は別に考える(p.136)
入力・計算・出力を分けるのは、Excelを業務で活用する際の最も基本的な考え方。単純なワークブックの場合は問題にならないが、複雑・多機能なワークブックの場合には、これを意識するかしないかで出来上がりが全く異なる。

例えば業務日報。何も考えないと、神エクセル的なフォーマットに直接入力とかやりがち。で、人別にファイルを分けて、日付別にシートを分けるとか。そうすると、誰がいつどういう日報を書いたかがすぐにわからないし、日報データの利活用も難しい。

データの流れを意識するなら、人別のファイルにテーブルで入力させて、収集・出力は別のファイルで行う方が良い。収集はPower Queryで、出力はピボット（もしくはPower Pivot）でというふうに。そうすれば、出力とは別にデータが収集されているので、データの利活用も容易になる。

とにかくこういう例が多い。収集も加えて、入力・収集・計算・出力を意識することが重要。

### 第4章 §02 データの「入力」の仕方が業務効率を左右する(p.138)
入力用にフォームを用意するなら別であるが、直接ワークシートにデータを入力するのであれば、データベース形式に準じて（[tidy data](https://id.fnshr.info/2017/01/09/tidy-data-intro/)で）入力・蓄積しなければならない。ワークシートが入力も出力も兼ねるというのは、データの処理で余計な手間がかかってしまうから。

「入力」を広く解釈すると、他の担当や部署からデータをもらうケースもそう。ありがちなのは、データ作成元にとっての出力形式（印刷用）でもらうパターン。見栄えは良いが、こちらで使う際にデータの変換でひと手間がかかるし、出力形式が変われば変換も直さなければならなくなる。

### 第4章 §04 「テーブル」を活用して確実なデータベース形式に(p.148)
で、Excelで自然にtidy dataを使う仕組みが「テーブル」。いろいろ便利な割にあまり使われていない。。Excel 2007から使えるようになったのだが。。。

テーブルについては↓の記事で解説。

https://qiita.com/k_maki/items/b6086a9fb1de5ecb1da3

### 第4章 §05 「ピボット テーブル」を活用すれば数式なしでワンタッチ計算(p.154)
ピ「ポ」ットテーブルではなく、ピ「ボ」ットテーブル。poじゃなくてvo。

「ピボット テーブル」は、「テーブル」よりも前からある機能なので、さすがにそれよりは使われているものの、みんな活用しまくっているとも言えない機能。便利なんですけどね。。

ただ、集計した結果に手補正を加える人が現れるので注意。そうじゃなくて、補正用のデータをピボットテーブルのソース データに追加しないと。集計結果に手補正やっちゃうと、集計の切り口を自在に変えれられるピボットの良さが失われるでしょ。

なお、Power Pivotを使う人はほとんどいない模様。もったいない。Power Pivotについては↓の記事で解説。

https://qiita.com/k_maki/items/1d4196741915be147d27


### 第5章 §01 「機能」、「関数」、「VBA」 Excel の3要素をフルに活用(p.162)
極論すると、何でもVBAでやるなということ。VBAの講師を長らくやってきた田中先生が言うのだから間違いない。

### 第5章 §02 「VBA=上級」ではない 独自のルールに戸惑うなかれ(p.164)
何でもVBAでやっちゃダメだけど、全く覚えなくてもよいかというとそうでもなかったり。ハードルは高いけど。

### 第5章 §04 業務効率を知る 「引き継げる」ことも重要(p.172)
VBAを使ったから引き継げないかというとそう言うわけでもなく、関数も雑に使うと余計に理解しがたくなる。わかりやすいワークシートにするには、入力・集計・計算・出力を意識した上で、それぞれで機能、関数、VBAをうまく組み合わせなければならない。

配属先で使用されているワークブックが上手に作られていたらラッキーであるが、残念ながらそういうケースは少ない。たいてい、既存の（ぐちゃぐちゃな）ワークブックから入り、整理することもできないまま増改築を重ねてしまうということが多々。抜本的に見直した方が良いケースでも、それをやると大変だから、すぐできる増改築でとどめて、日々の業務の非効率さが増していくという感じ。

### 第5章 §05 「Excelを使うべきか？」という点から考えよう(p.176)
昔のOfficeはWord, Excel, PowerPoint, Access, Outlookだけしかなかった。なので、自動化や便利なことをしようとすると、データ入出力のインターフェースを用意できるExcelとそのVBAで作りこむというのはある意味仕方なかったし、大きな成果も上げてきた。

しかし、現在のMicrosoft 365アプリは様々な機能が提供されており、それらを利用すればわざわざExcelとVBAで作りこむ必要性は薄れてきている（というか避けるべき）。今使える、一番使いやすい道具を使いましょうということ。別にMicrosoft 365アプリでなくても構わないし。

### 第5章 §06 「データの取得と変換」はExcelの新しい扉を開く(p.178)
Power Queryについての説明。実はExcel 2010から使えた機能（当初はアドイン）で、データの収集や変換のための機能。VBAでなければできなかったようなデータ操作が、簡単にできるようになった。

例えば、各部や拠点からデータを集める際、従来メールで行っていた作業を、どこかのフォルダーに置いて更新してもらうだけで、あとはPower Queryで収集という感じで使える。

Power Queryについては、↓の記事で解説

https://qiita.com/k_maki/items/7c0a093865b64e7c0911

# Power BIへようこそ
ここまで田中先生の著書を引用しつつ、私見を述べてきたが、さらに踏み込んでPower BIへのお誘いをば（Power BIのアドベント カレンダーの記事だし）。

## データに関わる人が次に覚えるべきは？
著書はExcelとどう向き合うかをテーマにしているので、機能を全て解説していない。では、この本に書かれていることを守った上で、次に何を勉強すべきか？

**データの収集、分析、報告業務担当者向け** （表計算ソフトの真当な使い方！）にお勧めしたいものを紹介したい。

### 技術
- 推奨
  - **ピボット テーブルのスライサー** : ピボット テーブルがもっと便利に
  - **ピボット グラフ** : マイナーだけどめちゃ便利。ピボット テーブル、スライサーと連動するのが◎
  - **Power Pivot** : `VLOOKUP` 関数を使わないで済むよ
  - **メジャー（DAX）** : 複雑な計算にも対応
- 非推奨
  - `SUMIFS`関数ゴリゴリ: 新しい知識を身に着けずに、SUMIFSだけで全部解決しようとするパターン。ピボット テーブルと適切な使い分けを。
  - VBAゴリゴリ: `SUMIFS` と同じような感じ。付け加えれば、生成AIの流行でLLMに頼り切りの、その場しのぎのコードがあふれそうで怖い。それが積み上がったらやばいよね？？

推奨のPower Pivot以降はむずいけど、得られるものも大きい。

非推奨は勉強しない人がやりがち。道具の使い方を覚えるを避けているというか。まあ、日々の業務をこなすので精一杯なのはわかるけど、スキルアップしないと、あなたの価値は上がりませんよ？Excelとの付き合いって長いんですよ？


### 考え方
技術だけではなく、考え方も大事。ぱっと思いつくのは2つ。

#### 値の補正は補正用データの追加で
ビジネス要件の変更で、それまでのピボット テーブルによる集計では対応できなくなることはよくある。で、Excelはセル単位で式を変えられるから、特定の帳票の特定のセルだけ数式を変えるとかやりがち。結果だけを求めるのなら最短で済むし。でも、やっちゃだめ。
  - **ダメな理由その１: メンテしにくい。** あるセルだけ違う数式になっているなんて、ぱっと見わからない。更新漏れでミスの原因に。秘伝のタレみたいに近道を積み重ねていった結果、あなたの目の前にある難解なExcelファイルがあるってこと。
  - **ダメな理由その２: ピボット テーブルが他の集計で使えなくなる。** 汎用的にいろいろな分析ができるのがピボット テーブルの良さだったのに、特定の帳票の特定のセルだけピンポイント修正しちゃうと、それ以外の帳票で使えなくなるでしょ。


**正しい方法は、補正用の明細を追加して、ピボット テーブルでどう集計しても正しい結果を得られるようにすること** 。めんどうだし、ちょい難しいけど、集計・分析業務を確実に行っていくには必要な手間。

#### タイム インテリジェンスを意識したデータの蓄積 
時系列のデータを集めて、推移や前期比などの分析をできるようにしましょうということ。なるべく細かい粒度でデータを時系列で持つことで、より有意義な分析が可能に。

↓は考え方としてのタイム インテリジェンスの重要性が書かれているので、一読すべき。

https://qiita.com/yugoes1021/items/d52bb4f212d5c2864459


## Excelの限界とPower BIへの扉
と、正しい道を進んでも、Excelなので限界はある。基本的に一人で使うものだし。例えば、次のような課題が出てくる：
- 大規模なデータへの対応（百万行の限界とかじゃなく、数千万、数億行の話）
- 分析結果の共有
- よりリッチな可視化

しかし、実はほぼ問題ない（スキル セット的にはね）。なぜなら、ここまで正しいExcelのデータ分析道を歩んできたのであれば、Power BIの世界にすんなり入れるから。そして、Power BIでそれら課題を解決できる。

基本を守り、重要な知識を身に着ければ、表計算からセルフBIに進化できるということ。両方の製品を提供するMicrosoftだからできることで、正直、良く出来てると思う。まあ、Excelの発展としてPower BIが生まれたので当然なんだけど。

https://marshal115.hatenablog.com/entry/2021/11/03/180138

# ひとこと
Excelをあなどってはいけない。