Excel(やWord)の使いかたについて

政府の動き

forest.watch.impress.co.jp

Excelなどの表計算ソフトでデータを入力する際のルール(案)を政府が示した、というもの。こういった動きが出てくるのは、まことに結構な事だと思います。もちろん、解っている人にとっては、提示されているのは基本であって、何を今更、と思われる内容でしょうし、第一歩なのでしょうが、その一歩を踏み出すまでにものすごい時間がかかったのですから、高く評価されてしかるべきだと思います。

私が出会ったもの

これまで私が出会った文書(Officeスイートに含まれるアプリケーションのファイル)には、次のようなものがありました。

Excel

箇条書きですが、それぞれは関連する場合があります。

  • いわゆるExcel方眼紙(セルを極小の正方形状に揃え、方眼紙的に使う)
  • 他の文書でも使うようなデータを、はじめから帳票状のレイアウトにする
  • データが記載されている表内において、セルを結合している
  • 同内容のデータが並ぶ場合、空白や代替文字を入力している(同上、など)
  • データが増える事を見越して、表を大きめに作っている(罫線だけ書いた空の部分が下にある)
  • 単位を入れる
Word
  • インデントを使わない
  • 左寄せ・右寄せ・中央揃えを使わない
  • 行間隔の設定を使わない
  • セクション区切りを使わない

上記を使わずにレイアウトを整えようとするから、

  • 空白と改行を使ってレイアウトする

となる。

何故そうするか、何故そうしてはいけないか

ルールなり指針なりを示す場合、取り敢えずこうしておけ的な与えかたは、好ましく無いと思います。そうで無く、何故そうするかをきちんと示さないと、納得がいかないし、応用も利かなくなるでしょう。

たとえば、先に箇条書きした事についてだと、

Excel方眼紙
入力されているセルを見つけにくい
セル幅・高さは可変なのですぐに崩れる
方眼をマスにしてインデントを取ると、文書の再利用がしにくい
はじめから帳票状にする
データの抽出や検索がしにくい
データ領域でのセル結合
ソート・フィルタなどの処理が困難(構造によっては不可能)となる
データを繰り返さない
表の構造が表示順で拘束されるので、特にソートが困難になる(同内容データに代替文字を入れると、代替文字のグループが出来てしまう)
罫線だけ描く
行が増えるたびに、罫線を描く必要がある
出力する際に、余計な部分を削除しなくてはならない場合がある(最終行が集計行の時など)
単位を入れる
データ形式が文字列になってしまう
文字列になると、計算が出来ない
Wordで空白と改行・改段落を駆使してレイアウトを作る
用紙サイズやフォントなどの設定を変えると、容易に崩れる

これらのデメリットがあります。ただ、こういった事は、実際にやってみなければ、実感しにくいものでもあります。 たとえば私は、教える際には、明らかにソートやフィルタが必要となるデータを使って表を作り、わざとその表内でセル結合をさせてみたりします。その上でソートさせてみれば(ソート出来ない)、不用意に結合を使うといかに不便なのかが解ってもらえます。

Excel方眼紙にしても、まず方眼紙レイアウトのものを作ってみて、ここのデータを修正してみてください、とやります。そうすれば、セルをマス目にしてインデントを作っていたりするので、対象のデータがどこに入っているかが解りづらい事を体験してもらえます。

こういった事を伝えつつ、基本的にはあまり使わないほうが良いと教えます。

絶対に使わないほうが良いのか

こういった議論では、じゃあそれは絶対に使わないほうが良いのか的な意見が出てきます。セル結合なんかがそうですね。これは、段階を考慮すべきだし、表現のしかたにもよるでしょう。

私の場合は、先述したように、まずそれをすると不便な例を見せて、最初はもう、絶対に使わないくらいのやりかたをしておいて、慣れてくれば、使い所を考えて使っていけば良い、というような感じで教えます。守破離の守じゃないですが、ある意味で硬直的な使いかたを覚えてから後で応用していく、としたほうが良いかなと。ただその場合にも、後で使い所はあるよ、みたいに言っておきます(私も使う事はあります)。

セル結合に関しては、選択範囲内で中央の機能も代替で使える事も教えますけれど。

共有・引き継ぎ

帳票(のみ)形式や方眼紙形式であっても、自分だけが使うようなものであれば、そのような使いかたをしても良いだろうと思います。ただし、業務ではしばしば、同じファイルを共有したり、業務の引き継ぎでファイルも引き継いで使う場合があります。特に、そこに入れられたデータも含めて継続使用する場合には、かなり困る事になります。

これは実体験ですが、自分が引き継いだファイルが、ことごとくExcel方眼紙製だった事があります。同じ経験のあるかたは解ってくださると思いますが、こういうのって、まず何がどこに入っているかすら解らないものだったりします。

こういった所も含めて見越して作成するのが良い、と考えます。

これもありがちですが、項目やセクションごとにシートを分けて作って、シート数が膨大になる場合も……探すのがとても面倒だし、シート一覧が長くなり過ぎて、可読性も悪くなります――層が多かったり深くなる場合は、Word等でアウトラインを作ったほうが良いと思います(セクションが多くて層が浅ければ、PowerPointも良い)。

テーブルを使う

私は、Excelで(Excel以外の表計算ソフトには搭載されていない場合があるのが残念)データを扱う場合、必ずテーブル機能を使います(内部的にはListObjectオブジェクト)。これを使う事によって、

  • フィールド・レコードの構造を意識せざるを得なくなる
  • データ領域内でのセル結合を意識せざるを得なくなる(結合が不可能になる)
  • テーブルの拡張・縮小(リサイズ)機能がある
  • 構造化参照が使える
  • 数式の自動挿入がある

上記のようなメリットが得られます。

先に、将来の拡張を見越して空データ部分まで罫線を引いておく、という話を書きましたが、テーブル機能を使えば、書式も含めて領域を変更する事が出来ます。

また、これは最も重要だと思う所ですが、テーブルを作成する事によって、構造化参照という、極めて強力な機能を使えます。テーブルにおける名前でもって参照出来るので、まさにデータベースとしての構造を意識出来ますし、参照方式として、セルの番地を参照するより自然であるとも捉えられます。むしろ、初学者にこそ教える事が、教育的にも良いのではないかと考えています。絶対参照・相対参照・複合参照のような考えかたは、その後、もしくは構造化参照と並行で教える、ので良いのではないでしょうか。

もし構造化参照をご存知無いかたは、是非調べてみてください。たとえば、LOOKUP系のワークシート関数を用いる場合、検索範囲を絶対参照する必要も無くなり(これを忘れて、数式をフィルしたら範囲が相対参照される、というのは結構ある)、極めて便利です。入力規則のリストを作る際にも強力です。

もしあれを、装飾のための機能だと思っているとすれば、それは最高にもったい無い事です。