![見出し画像](https://assets.st-note.com/production/uploads/images/116536865/rectangle_large_type_2_91aec1285bf6d7c77852dc9dca5e17ab.png?width=1200)
残念なExcelの表と理想のExcelの表
■ まえがき
発端は、この✕のポストからです。
データベースファーストの原則になってないザンネンなExcel表のサンプルを見られるサイトってないかなぁ?
— 松田軽太X (ソリュエイ亭門下生)5550 (@matudakta) September 12, 2023
ダメなExcelと良いExcelを比較できるようにしてビフォーアフターみたくできたら、ピンとくるかなぁ〜と。
てなわけで、半分勢いで記事を書いてみました。
その全部を紹介できなく、一部の記事文章は削除しました。
けっこう荒れる内容であることも自覚しています。
あくまで、私のよっぱおじ的意見であることを。
■ はじめに私の意見
目的に対して結果が果たせている表であれば、どんなExcelでも正義だと思っています。
セル結合やシェイプを多用していても、ネ申エクセルでも、データベースが崩壊してても、Excelの機能を使っていない表でも、目的と結果がリンクしていれば正義だと思っています。
■ 理想のExcel
とは言っても、理想のExcelの使い方については、自分なりの考えを持っています。
ただ、目的の種類によって、考え方が大きく変化してしまいます。
ここでは、所謂、「計算表」に対して自分の考えを書きます。
■ 重要な3つのポイント
下記の3つの重要なポイントを意識するだけで、素晴らしいExcelの表が完成します。
<データ種類を知る>
Excelのデータの種類を先ず知ることが最も重要だと思っています。
「数値」
「日付(シリアル値)」
「文字列」
「論理値」
の4種類。
この4種類を強く意識することが重要になります。
そして、データの4種類を理解しなければ、Excelで正しく計算することはできません。
<元データが命>
世界一位のExcelチャンプでも、元データがダメなら、苦戦を強いられるでしょう。私でも、「またかよ・・・」ってゲンナリします。
大半のExcelユーザーは、匙を投げるかもしれません。
表計算ソフトで楽に計算させる為には、元データを美しくすることが重要です。
何も飾らない。これが重要です。
<テーブルを使う>
テーブルは、Excel 2007 で登場したExcelの機能です。
ただし、Excelのテーブルは、データベースソフトのテーブル(エンティティ)とは似て非なるものです。別物です。
その為、データベースソフトの機能と比べると、機能不足と感じる点が多いです。
しかし、Excelで表計算させたい場合は、テーブルの機能を使うと良い事が沢山あります。
元データがテーブルになっていないなら、セル範囲をテーブルに変換しましょう。
■ ワークシート設計
素晴らしい美しいデータがあっても、データを取り扱う方法を知らなければ、結果など出せません。データを取り扱う方法が「ワークシート設計」です。
「ワークシート設計」とは、結果を出すまでの手順を「データ」→「計算」→「出力」に分けてワークシート設計を作ることです。
御託はここまで。
事例をもって、「残念なExcelと理想のExcel」をいくつか紹介します。
■ データ編 <空白のある行列>
表に空白の行や列があるとダメって、もはや常識です。
<悪い例>
![](https://assets.st-note.com/img/1695017364711-iZGVYFoBW4.png)
![](https://assets.st-note.com/img/1695018689981-VeGjh7JqZt.png?width=1200)
<良い例>
![](https://assets.st-note.com/img/1695018740716-QHUgQzxycv.png)
![](https://assets.st-note.com/img/1695017575535-lPrRp3C8j7.png?width=1200)
<主なExcel障害>
並べ替え処理が出来ない
データのセル範囲を指定するとき発狂する
■ データ編 <フィールド崩壊>
本来「見積金額(円)」の項目(列)なのに、「見積金額(円)」の項目(列)に関係ない情報をセルに入れるパターンです。
<悪い例>
![](https://assets.st-note.com/img/1695018047277-7ahLfa8iBc.png?width=1200)
<良い例>
![](https://assets.st-note.com/img/1695018216774-gj2P8AqHQj.png?width=1200)
<主なExcel障害>
計算できない
オートフィルタでデータ抽出が困難
「なんでも入力」でデーベースが崩壊する
■データ編 <レコード崩壊>
こんは表を作ってきた人がいたのなら、「作り直し」と言いましょう。
1データ1行は、鉄の掟です。
<悪い例>
![](https://assets.st-note.com/img/1695018505642-AHaRQgx42M.png)
![](https://assets.st-note.com/img/1695018533439-Dk61BIR60J.png)
<良い例>
![](https://assets.st-note.com/img/1695018851021-X31s94q9bg.png)
<主なExcel障害>
計算できない
並べ替えやオートフィルタが使えない
■データ編 <カオスフィールド>
データの揺らぎを知ること。
Excelのデータは、先ずは疑う事から始まる。
<悪い例>
![](https://assets.st-note.com/img/1695019077863-yuUSeWqUx8.png)
![](https://assets.st-note.com/img/1695019126683-FH6Z9wgjaK.png)
<対処法>
置換で、不要な文字を取り除く
列の表示形式を列のデータの型に合わせる
区切り位置で一括でデータ変換する
ASC関数で半角文字に変換する
TEXT関数、LEFT関数、RIGHT関数、MID関数、TRIM関数、SUBSTITUTE関数、LEN関数、LENB関数、LEFTB関数、RIGHTB関数を駆使してデータを正規化する
<主なExcel障害>
VLOOKUP関数、MATCH関数が使えない
集計結果に不具合を起こさせる(正しい結果が出せない)
■データ編 <いきなりクライマックス>
あなたの元データは、縦横のマトリックス表でしょうか。
もし、そうなら、間違っています。
縦横のマトリックス表は、データではなく、集計表になります。
つまり出力の段階なのです。
もしも、元データが縦横のデータなら、こう言いましょう。
「その表を作った元データを下さい」
<悪い例>
![](https://assets.st-note.com/img/1695019636887-7G8Rwgy9wK.png)
<良い例>
![](https://assets.st-note.com/img/1695019845817-xe3gmDKzpk.png)
<主なExcel障害>
データの再利用に苦労する
分析ができない
データの増減に苦労する
■データの入力編
<1文字1セル>
![](https://assets.st-note.com/img/1695020145200-WXEoE57cLz.png?width=1200)
<まる>
![](https://assets.st-note.com/img/1695020207733-WpdDsC4rLV.png)
下図の様に、データを入力させるのです。
![](https://assets.st-note.com/img/1695020253424-kJ3cLJLEVJ.png)
![](https://assets.st-note.com/img/1695020253470-ysAjVQGL3S.png)
<方眼紙Excel>
![](https://assets.st-note.com/img/1695020430624-xXbxmkIS1i.png?width=1200)
どうしてもなら、入力用のワークシートを作成し、数式で値を表示させる方法が有効です。
![](https://assets.st-note.com/img/1695020519893-noQ87MT23w.png?width=1200)
![](https://assets.st-note.com/img/1695020518086-Ty1u1ZVSoY.png?width=1200)
<結果を入力>
算出したデータを別セルに手入力していませんか?
例えば、平均点数は、AVERAGE関数で求められます。
AVERAGE関数を使用しないで、手入力していませんか?
![](https://assets.st-note.com/img/1695020623726-EyT2aE5JYk.png)
<日付を日付で入力させてくれない>
![](https://assets.st-note.com/img/1695020754412-TMYAQGjGMy.png)
Excelは日付を強力に制御できる機能や関数が存在します。
それを日付で入力しないだけで、Excelの機能の7割を捨てた事に等しいです。日付はシリアル値で入力することが鉄則です。
![](https://assets.st-note.com/img/1695020787055-rPHWfgazAk.png)
■出力編 <シリアル値が利用されていない>
Excelには、日付を取り扱う強力な関数や機能が存在します。
それを上手に活用しましょう。
<悪い例>
小さい図ですいません。
日付は、シリアル値で入力していなく、単なる数値の連番です。
曜日も、オートコレクトで入力していますが、手入力です。
![](https://assets.st-note.com/img/1695021087757-ZJI7n2AEdr.png?width=1200)
<良い例>
Excelで日付を制御する強力な関数といえば、DATE関数です。
このDATE関数は、マジで強力です。その一例です。
A3の値は、シリアル値です。表示形式で、日付のみの表示にしています。
![](https://assets.st-note.com/img/1695021290710-LVxZ8YnClx.png?width=1200)
<主なExcel障害>
毎月、毎月、カレンダー部分を手修正する必要がある
日付単位の集計が面倒になる
■出力編 <表示形式の活用>
表示形式を上手に活用する。
例は数値だけですが、文字列、日付も多くの応用があります。
以外に奥が深いのが表示形式です。
![](https://assets.st-note.com/img/1695021715630-GXtD5213h1.png?width=1200)
<表示形式を利用するメリット>
セルの値で計算できる
データとして再利用が可能
![](https://assets.st-note.com/img/1695021961108-diYrBo48Q4.png?width=1200)
![](https://assets.st-note.com/img/1695021984647-aPLZZmVFjC.png?width=1200)
■出力編 <動的抽出条件>
下表の左に意味の無いデータがあります。
2022年10月の各都道府県の無意味な数値の合計を求めて、無意味な数値の合計の大きいTOP10を出力する表を作成するという例があったとします。
<悪い例>
計算するステージで、SUMIFS関数で、2022年10月の都道府県の合計を求めています。
![](https://assets.st-note.com/img/1695022198091-MJRLEPVvPi.png?width=1200)
<良い例>
でも、後になって「ごめん、2023年9月のデータを出して」と言われます。
もしかすると、毎月、毎週、毎日報告するデータかもしれません。
その都度、条件の数式を変更するのは面倒です。
条件が変動すると思われるところは、あらかじめ動的選択ができるように作り込みます。
![](https://assets.st-note.com/img/1695022655735-N2TH9LdPAG.png?width=1200)
![](https://assets.st-note.com/img/1695022691331-IrKcVqUxOe.png?width=1200)
<ポイント>
ここでポイントがあります。
それが「ワークシート設計」です。
「データ」「計算」「出力」の3つのステージに分けてワークシートを作り込みます。
「計算」のステージでは、一度作成した数式は、二度と変更しないことが、特に重要です。
作成する資料の内容に左右されますが、ここでは、特に数式を自力で作成できるスキルがどうしても必要になります。
Excelで表を作成する一番の難関ともいえます。
■最後に
何が重要って、元データが一番重要。
データが美しければ、それだけで、仕事の8割は終わったのも同然。
しかしながら、事例を見れば理解できるかもしれませんが、正しいExcelの使い方である「ワークシート設計」を作ることは、Excelの機能をある程度熟知していないと出来ないのも事実。
要するにExcel初心者には作ることは不可能。
Excelは勉強しないと正しく使えない道具ということです。
酷な話ではありますが、良いExcelの表が作りたいなら、Excelを勉強して下さい。
どのくらい、Excelを勉強する必要があるかは、職種や業務内容によって異なってきますので、一概に何が必要かは、答えられない。
ただ、データに関する考えは、職種や業務に関係なく共通です。
だから、デーベースファーストって言われるのです。
個人的見解ですが、Excelを正しく使いたいと思うなら、データベースの概念であるRDB設計をある程度勉強してほしいと思います。
ここまで、読んでくれて、感謝感激です。
今回、スクショを撮るために作成した無意味なエクセルブックをダウンロードできるようにします。