Excelは使い方を調べなくても直感的に操作できるので、多くの人は特に勉強することなく使っているでしょう。しかし、Excelをきちんと学ばないままでは非効率な作業を抜け出せないばかりか、せっかく入力しても「使えないデータ」になっていることが少なくありません。Excel医氏の著書『人生を変える Excelの神スキル』(KADOKAWA)より一部を抜粋し、「データベースとは?」「データベースを作るには?」を紹介します。

Excelの「データベース」とは?

データベースとは「集計しやすいように整っているデータの集まり」のことです。

このデータベースを作る際に大事になってくるのが、データ入力の統一ルールです。以前、総務省の統計局が示した、データ入力の統一ルールについてのツイートがバズりました(図表1)。  

これは国の各省庁がネット上に統計情報を公開する際に、コンピューターですぐに使えるデータにするためのチェック項目です。せっかく公開された情報も、使えなければ全く意味がありませんからね。

たくさんのチェック項目が掲載されていますが、中でも気をつけたいポイントをピックアップして紹介します。具体的な操作は本記事の後半で説明します。

これだけは守ってほしい「Excelの入力ルール」

【ポイント】1セル1データか? 文字列を含んでいないか?

まず次の2つ(図表2)。なにがダメかわかりますか?

左の例では、1つのセルに複数のデータが含まれていて、データが文字列になっています。右の例も、データに「円」や「▲」といった文字列が含まれていて、データ自体が文字列となっています。そのため、右の表ではSUM関数の結果や足し算の結果がおかしくなっています。

正しく入力したテーブルはこちらです(図表3)。右の表の計算結果も正しく出ています。

「いや『1セル1データ』がいいのはわかるけど、普段扱ってるデータが『1セル複数データ』だから困ってるんだよ!」←わかります。そうですよね。そんなときは、記事後半で説明する「区切り位置」を使いましょう。

【ポイント】セルの結合をしていないか

「セル結合ダメ!」←これ、ネットやSNSではめちゃくちゃよく話題になります。ですが、私はリアルで言われたことも言ったこともありません。おそらくExcelができる人は内心「やめてくれ~」って思っていることでしょう。

たとえばこんな感じです(図表4)。

左は【市区町村】と【ふりがな】を上下に並べ、【生産本数】が1つのセルに結合されています。こうすると、「ちよだく」「58406」のセットなのか「千代田区」「58406」のセットなのか、対応関係が不明確となり、読み取りに支障が出てきます。正しく入力するには、右のように【ふりがな】の列を作り、1行のデータにしましょう。

【ポイント】スペースや改行等で体裁を整えていないか

見た目を整えるためにスペースを入れて「 A」としたり、「鎮静剤」と「A-1」の間に改行を入れたりすると、「A」や「鎮静剤A-1」とは別のデータになってしまいます(図表5)。つまり、「鎮静剤A-1」と検索しても見つからないのです。

はいはい、スペースと改行ね。確かにダメだよね。でも扱ってるデータが…」←そんなときは置換しましょう。

【ポイント】項目名等を省略していないか

これも似たような問題です(図表6)。同じ単語を何度も繰り返すのって、確かに気になりますよね。気持ちはよくわかります。でも、使うときのことを考えると全くの逆効果なのです。

【鎮静剤A-1】以降はすべて番号の部分しか記載されていません。2とか3といった数字だけでは何のことかわかりませんし、実際の数値データと区別がつきません。

こんなときのためのオートフィルです。オートフィルの詳しい話は前回の記事で紹介しましたが、改めて説明しましょう。「鎮静剤A-1」のセルにカーソルを移動して、右下の■を下にドラッグしてみてください。ほら、連続データになりましたよね。誰も「鎮静剤A-2」「鎮静剤A-3」ってすべて手で入力しろって言っているわけではないですからね。

【その他の事項】

総務省が示したルールには、今回紹介した項目も含めて、こんな注意事項が記載されています(省庁向けの独自ルールもあるので、そういったものは除外しています)。

--------------------------------------------------

□1セル1データとなっているか

□数値データは数値属性とし、文字列を含まないこと

□セルの結合をしていないか

□スペースや改行等で体裁を整えていないか

□項目名等を省略していないか

□数式を使用している場合は、数値データに修正しているか

オブジェクトを使用していないか

□データの単位を記載しているか

□機種依存文字を使用していないか

□数値データの同一列内に特殊記号(秘匿等)が含まれる場合

□データが分断されていないか

□1シートに複数の表が掲載されていないか

総務省資料より(https://www.soumu.go.jp/menu_news/s-news/01toukatsu01_02000186.html)

--------------------------------------------------

この一覧は、Googleなどの検索サイトで「総務省 データ統一 ルール」と検索すると、トップに出てきます。具体的な例を交えて「こういうふうに入力しましょう」と紹介されているので、ぜひ読んでみてください。どんな考え方に基づいて作られているのか、自分なりに考えてみるのもいいと思います。

データベースを作るには?

データベースが大事なのは、それはExcelの正しい使い方に関係するからです。

Excelの作業は大きく分けて「入力」「加工」「出力」の3つに分けられます。本連載で紹介してきたExcelの機能や関数は、元データがちゃんとしたデータベース形式になっていることが大前提になっています。

つまり、記事前半で説明した入力ルールにそって整っているデータということです。

サンプルデータの功罪

Excel本にはサンプルデータがついてくることがあります。読者はサンプルデータをダウンロードして書籍に書いてある通りにExcelの操作をすると、計算結果やグラフ作成ができるわけです(図表7)。

「よし、Excel使えるようになった! 職場のExcelで活用するぞ!」ってことで、職場にあるExcelファイルを開きます。するとどうでしょう。サンプルデータと比べるとデータがぐちゃぐちゃで、使えるようになったはずのExcelの機能も関数もグラフ作成もうまくいきません。

「あれ、Excel本に書いてある通りにできないなあ」←当然です。なぜならサンプルデータは集計や加工に最適なデータベース形式になっていて、職場のExcelはデータベース形式になっていないからです(図表8)。

「データベース形式」とは

データベースには、ルールがあります。データベース形式で入力するようにしましょう。記事前半からステップアップして、よりデータベースに入れるという観点でみていきます。

①先頭行に「見出し」を作る

②1セル1データ

③1行に1件のデータ

④セル結合しない

⑤1列に1つのデータ型

①先頭行に「見出し」を作る

先頭行にはユニークな見出しを作りましょう。面白い見出しではありませんよ。「ユニーク(unique):唯一の、固有の」という意味です。「No」「日付」「商品コード」「商品名」「価格」「個数」などです。どうしても同じ見出しをつけたいのなら、「〇〇_1」「〇〇_2」というふうにしましょう。

見出しがないと、いったい何のデータなのかがわかりません(図表9)。

②1セル1データ

1つのセルには1つのデータだけを入力してください(図表10)。1つのセルに複数のデータを詰め込んでしまうと、計算や並べ替えができません。

③④1行に1件のデータ・セル結合しない

出ました。何度でもいいます。諸悪の根源「セル結合」。「セル結合禁止!」と唱えましょう。

データは1行に1件が原則です(図表11)。1件のデータを2行にわたってまとめてみたり、そのためにセル結合をしてみたりすると、Excelはデータを認識できなくなってしまいます。

⑤1列に1つのデータ型

データ型も重要です。数値、文字列、通貨など、いろいろなデータ型が混じったデータは混乱のもとです。関数で計算しようとしたときにエラーになったり、不正確な結果を返す原因にもなったりします。同じ列には同じデータ型としてくださいね(図表12)。

「セル結合」は使いどころが重要…「別の機能」を知っておこう

なお、セル結合について、勘違いしないでほしいのは、すべてのセル結合がダメなわけではないということです。Microsoftさんも、必要だからセル結合の機能を付けているわけです。確かにセル結合すると見栄えはよくなりますからね。

「いや、てかそもそもセル結合ってどうやるの?」←結合したいセル範囲を選択し、[ホーム]タブ→[セルを結合して中央揃え]をクリックです(図表13)。

ただし、セルを結合すると並び替えや集計ができなくなります。このことを理解してください。使い所を間違えると、後々面倒なことになりますから。

「いや、自分はどうしてもセル結合したいんだ!」←そこまで言うなら止めません。ただ、選択範囲の中央という機能を知っておいてください。

まず、セル結合と同じように、文字を中央に表示したいセル範囲を選択します。そして、右クリックすると表示されるメニューから、[セルの書式設定]をクリックしてウィンドウを開きます。

[配置]タブにある[横位置]の[選択範囲内で中央]を選択して[OK]をクリックします。すると、選択したセル範囲内で文字が中央に表示されます(図表14・15)。

セル結合だと結合したセルが選択されますが、この場合はA1セルやB1セルを選択できます。ちなみに、値自体は初めに入力したA1セルに入っています(図表16)。

元データが「データベース形式ではない」ときの対処法

「記事前半のように、『データベース形式が大事』ってのはわかるんだけど、実際のExcelファイルがデータベース形式じゃないから困ってるんだよ!」←そうなんですよね。私もそうでしたから、その気持ちよくわかります。Excelの機能には、元データをデータベース形式にする機能や関数があります。それらを使ってデータベース形式にする方法を紹介します。

~方法1 区切り位置|[データ]タブ→[区切り位置]または【Alt】→【A】→【E】

1セルに複数のデータがある場合、多くは「,(コンマ)」「、(読点)」などの記号によって区切られて入力されています。こういった目印となる記号で区切られている場合は、[区切り位置]機能で複数のセルに分割することができます。

記事前半で取り上げたデータを元に考えてみましょう(図表17)。

複数データが入力されているセルを選択し、[データ]タブ→[区切り位置]をクリックします。

①[コンマやタブなどの区切り文字によってフィールドごとに区切られたデータ]を選択し[次へ]をクリック(図表18)

②[その他]にチェックを入れ、テキストボックスに「、(読点)」を入力し[次へ]をクリック(図表18)

③表示先を「=$E$6」とし、これで[完了]をクリック(図表19)

年度ごとのデータにセルを分離できましたが(図表20)、このままではまだ数値データとしては使用できません。

FIND関数やLEFT関数、MID関数などを使えば、数値や年度などを単独のデータとして抜き出せます(図表21)。

また、次の例では、読点ではなく「:(コロン)」で区切られた複数データを分割します(図表22)。

①分割したデータを入れるための列を挿入する ②分割する列を選択し、「区切り位置」ウィンドウを開く ③「区切り文字」の[タブ]をチェック ④[その他]にチェックを入れて、区切る記号を入力(該当する記号がある場合は、それをチェックする) ⑤[完了]をクリック

「既にデータがありますが、置き換えますか?」で[OK]をクリックします(図表23)。

~方法2 検索と置換|【Ctrl】+【H】

性別という項目に「男」「男性」「M」など異なる表記が混在している、なんてことありませんか? 私の職場では実際にありました。表記が異なる(表記ゆれがある)と、たとえ同じ意味でも別々に集計されてしまいます。そんなときは[検索と置換]機能で、データの値を統一しましょう。

Ctrl】+【H】を押すと、「検索と置換」ウィンドウが開きます。これを使って「スペースの置換」と「改行の置換」をすれば、余計なスペースや改行を消し去ることができます。

「検索と置換」ウィンドウの[検索する文字列]のテキストボックスに「(スペース)」を入力します(図表24)。[置換後の文字列]には何も入力しないでください。[すべて置換]をクリックすると、シート内のスペースがすべて無くなります。

では、改行はどうでしょうか? [検索する文字列]のテキストボックスで【Enter】を押してもダメです。この場合は、【Ctrl】+【J】を押してください。押しても何も入力されていないように見えますが、そのまま[すべて置換]をクリックすると、改行が削除されます。

ちなみにこの[すべて置換(A)]。【Alt】と【A】を一緒に押す(【Alt】+【A】)と、[すべて置換(A)]をクリックしたのと同じになります。これ、絶対気づかないですよね。

~方法3 表示形式|【Ctrl】+【1】

価格に「100円」と打ち込んでいませんか? 「円」まで入力すると、文字列になってしまい計算できません。[表示形式]を設定して、「100」と入力すれば「100円」と表示されるようにしましょう(図表26)。表示は「100円」ですが、数値の「100」として扱われます。

~方法4|データ整形の関数(CLEAN関数、TRIM関数)

データに改行が入っていたり、スペースが入っていると、データを正しく読み取れなかったり、表記ゆれのように正しくデータを区別することができなくなってしまったりします。そんなときは、CLEAN関数で改行を取り除き、TRIM関数で余計なスペースを削除しましょう(図表27)。

~方法5 テーブル化|【Ctrl】+【T】

データベース形式のデータを作成するのにおすすめなのが、[テーブル化]です。表の装飾に使用する人が少なくないようですが、テーブル化を使うと便利な機能が利用できるようになります。

テーブル化の方法は簡単です。テーブル化したいデータの表上で【Ctrl】+【T】を押すと、「テーブルの作成」というウィンドウが表示されます。範囲を確認して[OK]ボタンをクリックします。このとき、先頭の行はデータの見出しにしておきましょう(図表28)。

テーブルのスタイルは[テーブルデザイン]タブ→[テーブルスタイル]から好きなものを選択して変更できます。テーブル化されたデータは、フィルター機能やソート機能が自動的に付けられます。

さらにデータを一番下に追加すると、自動的にテーブルスタイルが適用されます(図表29)。

また、データ列の追加も自動で対応します。次の例では、1行目の「個数」の隣に「小計」と入力すると、ヘッダーのスタイルが自動で適用されます。E2セルに「=」と入力し、C2セルを選択→「*」と入力→D2セルを選択してみてください。すると、「=[@値段]*[@個数]」と表示され、自動で下まで補完されます(図表30)。

ここでセルに入力した式に注目してください。「=[@値段]*[@個数]」と書かれていますね。これは、構造化参照と呼ばれるもので、テーブル化されたデータを参照する方法です。この例の他にも、たとえば小計をすべて合計するのに「=SUM([@小計])」と入力して計算できます。データの見出しを使って参照できるので、先ほどのように後からデータを追加しても、その範囲まで自動的に対応してくれるのです。

~方法6 フリガナを正しくする(PHONETIC関数)

自分で入力した場合と、Webからコピペした場合、同じ「山田太郎」でも別の値として認識されることがあります。Excelにとっては、「山田太郎(ヤマダタロウ)」と、「山田太郎(※フリガナなし)」は別のデータなのです。別のデータということは、並べ替えや抽出がうまくいきません。こういうときはPHONETIC関数を使って、フリガナデータを確認しましょう。

またはアイコンの「ア/亜」を押す、もしくは【Alt】+【Shift】+【↑】で、セルの漢字の上にフリガナが表示されます。もし正しいフリガナになっていなければ、そこで設定できます。

以上をまとめると、フリガナの確認に使える方法は次の3つです。

1. PHONETIC関数

2. アイコンの「ア/亜」

3.【Alt】+【Shift】+【↑】(ショートカット

このようにいろいろな引き出しを持っておくことが、Excel作業においても人生においても大事なことです。

Excel医

30代内科医。Excel大好き。職場のあだ名は「Excelの神」。職場の悲惨なデータベースを見てExcelを猛勉強し、初心者レベルからVBAを習得するまでに至る。さらにはユーザーフォームで組織内のシステムを構築。

Excel学習で「業務改善」「生産性向上」「時短」に成功し、人生を変えた。その経験を世の中に発信したく、2020年6月からTwitterを開始。非IT系のExcel初心者に向けたツイート、わかりやすいツイートがバズり、フォロワー数は16万人を超える。著書に『Excel医の見るだけでわかる! Excel最速仕事術』(宝島社)がある。

(※写真はイメージです/PIXTA)