数値と文字列
Excelであつかうデータを大別すると、数値と文字列にわけられる。
- 「数値」…デフォルトは右揃えで表示・計算対象となる
- 「文字列」…デフォルトは左揃えで表示・計算対象にならない
0から9の数字のみをセルに入力して[Enter]キーを押すと、自動的に数値というあつかいになり、右揃えで表示される。一方、入力した文字に数字以外が一つでも入ると自動的に文字列あつかいになり、左揃えとなる。
文字列は数値としてあつかうことはできないが、数値を文字列としてあつかいことは可能だ。たとえば部品番号のような桁数を表すためにアタマにゼロがついている002のような数値は、そのまま入力するとアタマの00が消えて、2と表示される。
これを文字列としてあつかう方法は2つ。1つは、入力の際に002の前に「'」(アポストロフィー)を付けて「'002」と入力する。
もう1つの方法は、セルの書式設定ダイアログでセルの書式をあらかじめ「文字列」にしておき、「002」とそのまま入力する方法である。
入力値と表示
Excelの基礎としてぜひとも理解しておいてほしいことのひとつに、入力したデータに対する表示の方法(見た目)は、変えられるということである。見た目には、右揃えで数値のように見えても、文字列としてあつかわれていて、セルの書式設定で右揃えにしてある可能性もあり得る。
極端な話でいうと、「セルの書式設定」ダイアログ、「表示形式」タグで「ユーザー定義」分類を選択し、「種類」に「"00"0」と入力し、『セルの表示を入力した数値の前に「00」を付けて表示する』と定義してやると文字列002と同じ見た目になるのである。
文字列あつかいになると、セルの左上にエラーの確認マークが出るので大丈夫と思う読者もいるかと思うが、これとて、「ファイル」-「オプション」で「Excelのオプション」ダイアログを開き、「数式」タブから「バックグラウンドでエラーチェックを行う」チェックボックスを外すと表示されない。
そんなこと「悪意をもった人物でないとやらないだろ」といわれるかもしれないが、往々にしてExcelの基礎知識をしっかり持っていない人が、いろいろと試行錯誤した結果、たまたま見た目が同じ状態を再現するのにたどり着いた、ということもあり得るので、よく知らない他者のつくったシートには要注意である。
アプリのお作法には、会社や部署によって、「ふつう」と称される暗黙の規範が存在することが多い。暗黙とはいったが、新入社員や異動で新たに参加した人々にはルールとして説明されることも多く、それが正しい(誰があつかっても間違いが起きにくいという意味で)操作方法であればいいが、そうでない場合も結構な確率であるのである。
店主は企業の人事部にいたころ、事業譲渡で他の会社から人材を受け入れるというミッションを数回経験した。そういう場合、転籍後の条件設定などで、個人ごとの給与データや属人情報をExcelでいただくのだが、こういったケースでは前述のような点に注意しながらデータを扱わなければならない。
純粋なデータの見分け方
そのような場合、ミスをしないよう確認する方法は2つある。店主は受け取ったExcelに表示されているものを、純粋にシートに保持しているデータに蒸留することをおススメしている。
受け取ったシート全体をコピーして、新しいシートに「形式を選択して貼り付け」ダイアログから「値」を選択してテキストデータに戻して貼り付ける。これで、数値は数値に、文字列は文字列に、そして数式で導き出されていた計算結果は、計算結果がデータといて新しいシートに収納されるのだ。
元のシートで「セルの書式設定」ダイアログで設定されていた書式はすべて解除され、セルの書式は「標準」になっている。日付などは、シリアル値で表示される。
ちなみにもう1つの方法は、気になったセルをアクティブにして[F2]キーを押して、入力モードにしてみる。そうすると、書式設定で飾られた見た目ではなく、シートに保持している生のデータもしくは、入力されている式は浮かび上がってくるのだ。
これは、気になる箇所を都度チェックする際には便利だが、シート全体などをチェックするのは非効率であるので「シート全体を蒸留」する方法をおススメしている。
シリアル値
前段ででてきた「シリアル値」について、説明しておこう。Excelの便利な機能として、日付の経過日数計算がある。このためシートでは日付を「シリアル値」という数値で保持していて、セルの書式設定によって日付として表示している。
シリアル値は、1900年1月1日を基準日「1」と、経過日数1日を「1」と定義している。シリアル値「1」に1月ひと月分の「31」を足すと「1+31=32」となり、シリアル値32を年月日に置き換えると1900年2月1日となるのだ。
ちなみにExcelを立ち上げて、セルに「2021/4/7」と入力し、セルの書式設定ダイアログから「表示形式」-「分類」で「標準」を選択してみると、今日の日付に対応する「44293」と表示されるはずだ。2021/4/7というのは、1900/1/1から44,293日経過した日ということである。
本日のポイント
- 数値と文字列
- シートに保持しているデータと見た目は違うことがある
- 年月日はシリアル値という数値データで保持されている
地味ではあるが、こういう基本的知識がオペレーションの現場では効率と品質に効いてくるのである。