2006年度経済情報処理

第5回 シート操作・形式を選択して貼付・並べ替え・オートフィルタ

↑経済情報処理(2006)ホームページに戻る


5.1 シートの操作

5.1.1 シートを選択する

シート操作の基本はシートを選択することである。Excel画面の左下の方を見ると

のような部分がある。Sheet1, Sheet2, Sheet3 と書いてある台形の部分を「シート見出し」と呼ぶ。シート見出しが白くなっているシートが選択されているシート、それ以外のグレーになっているシートは非選択状態である。

複数のシートを同時に選択して(作業グループ)、選択中の全てのシートに同じ操作を行うことも可能。ただし、見えているシートは1枚だけなので、他のシートについてはデータを壊す危険もある。ここでは詳述しない。

作業グループを作って操作するには? → Excel編 Sec. 17

5.1.2 シート見出しを探す

上の例では、シートが高々3枚しかなかったのでシート見出しが一覧できた。しかし、Excelではメモリーの許す限り沢山シートを作ることができるので、画面幅に対してシート見出しが多すぎて全部は見えないこともあり得る。

上の図はシートが9枚あるブックの例を示しているが、画面幅の関係で実際に表示されているシート見出しはSheet4までで、それ以外は隠れている。このような時は、シート見出の左側にあるボタンを使う。4つのボタンの意味は下の表の通り。

一番左側のシート見出しが表示されるようにジャンプ
一番右側のシート見出しが表示されるようにジャンプ
シート見出しを一つ分左にずらして表示する
シート見出しを一つ分右にずらして表示する

5.1.3 新しいシートをブックに挿入する・削除する

挿入したい時は、新しいシートを入れたい場所の右隣にあるシート見出しを右ボタンクリックし、ショートカットメニューから「挿入」を選ぶ
削除したいときは、削除したいシートのシート見出しを右ボタンクリックし、ショートカットメニューから「削除」を選ぶ(*1

シートを挿入したり、削除したりするには? → Excel 編 Sec. 16

*1)シート削除については、「元に戻す」操作が行えない。誤って大事なデータが入っているシートを削除してしまったらそれっきりである。データが入っているシートを削除しようとすると、Excelは親切に「データはいってるよ? 本気?」といった内容の警告を出してくれる。Excelが出してくるダイアログは片っ端から読まずにOKという宜しくない習慣がある人は気をつけよう。

5.1.4 シートの名前を変更する

シート見出しに書いてる名前(初期設定では Sheet1 など)は、人間が見て「このシートにはこういうデータが入っているのか」と分かるほかに、計算式の中でも他のシートのデータを参照する際には使われる大事なものである(*2)。使い捨てのブックなら別に構わないが、後で見直す可能性がある(*3)、あるいは他人が見る可能性がある場合は、必ずシートに入っているデータに即した名前に変更する習慣を身につけよう。

シートの名前を変更するには、シート見出しを右ボタンクリックして表示されるショートカットメニューから「名前の変更」を選択すればよい。この際、「削除」がすぐ上にあるので注意して選択すること(*1)。

*2)たとえば、GDP(日本)とシート見出しに書いてあるシートに実際は日本の国債残高が入っていたら、どこかの計算式をみて「あぁ、GDPで割っているのだな」という理解をした人は確実に結論を誤解する。

*3)Excelには、後であつかうピボットテーブルのようにやたら沢山勝手にシートを挿入していく機能もある。作業している時はいいのだが、しばらく経ってから見直すと「このシートに入ってるデータ、何を計算したんだっけ?」ということになるので、シート見出しが適切な名前を持っていることはとても重要。1ヶ月後の自分は他人だと思った方が無難である。

5.1.5 他のシートに入っているデータを参照する

Excelでは他のシートに入っているデータを計算式から参照することができる。計算の途中で使った余計な部分を見せずにスッキリした表を作成する場合や、別データとして入力済みのデータを参照したりするとき便利。

他のシートにあるセルを指定する際には、

シート名 ! セル番地

という形式で参照する。

例題1. 複数シートを使った操作

Step 1. 2005年国勢調査による都道府県別人口が入ったブック(population.xls)を右ボタンクリックでダウンロードしてから、Excelで開く

Step 2. Sheet1 の名前を 男女計 に変える

Step 3. 不要な Sheet4 を削除する

Step 4. 男女計 のシートに、男女計の人数を計算する計算式を入力する

  1. 男女計 のシート見出しをクリックして、男女計 のシートを選択する
  2. セル C5 → =女性計!C5+男性計!C5 と入力する(*4
  3. セル C5 を適宜コピーして、全部のデータで男女計を計算する

*4)ここでは直接シート名とセル番地を入力しているが、同じシートにあるセルを参照するときと同様に、他のシートにある参照したいセルをマウスでクリックしてもよい。その際は、まず参照したいセルが入っているシートのシート見出しをクリックし、目的のシートを表示してからセルを選択する。

練習問題1.

例題1で用いた population.xls を使って、

  1. 新しいシートを挿入して、名前を 男女比 に変更しなさい
  2. 男女比 シートに年齢階級別の男女比(女性を 1とした場合の男性の割合)を計算する式を入れ、都道府県別・年齢階級別の男女比を計算しなさい

練習問題2.

練習問題 1を行うと、いくつかのセルでは #DIV/0! というエラーが表示される。これは、除数が 0である割り算を実行しようとしたときに「そんな計算はできません。無茶いわんでください」と Excelが表示するものである。除数があまり小さい場合、比の計算はアテにならないので、女性数が200人以下の時には「 - 」と表示するように IF関数を用いて練習問題1の計算式を書き換えなさい

5.2 形式を選択して貼り付け

Excelでは一つのセルに複数の属性(計算式、値や罫線やフォントなどの書式)を持たせることができる。既に学んだコピーでは、全属性を一括してコピーするが、場合によってはこれらの属性の一部だけをコピーしたいことがある。またデータの行と列を入れ替えてコピーしたいこともときどきある。このような時に役立つのが「形式を選択して貼り付け」の機能である。

形式を選択して貼り付けを行うには? → Excel編 Sec. 14

例題2. 計算結果だけを他のシートで利用する

例題1で用いた population.xls で、男女計 のシートで計算した都道府県計の年齢階級別人口を 年齢階級 のシートにコピーして使いたい。ただし、年齢階級 シートでは年齢階級が縦に並んでいるのに、男女計 のシートでは横に並んでいるため、単純にコピーしたのではうまくいかない。もちろん、他のシートのデータを参照する計算式を1つ1つ入れれば可能ではあるが、あまりにそれは面倒である。

このようなときに、「形式を選択して貼り付け」を使うと便利。

Step 1. 男女計 シートのコピー元のデータ範囲を、通常のコピーと同じように選択してクリップボードにコピーする

Step 2. コピー先の 年齢階級 シートを選択する

Step 3. コピー先の範囲の左上セルを右ボタンクリックする。するとメニューが表示されるので、「形式を選択して貼り付け」を選ぶ

Step 4. 縦と横を入れ替えて貼付したいので、「行列を入れ替える」をチェックして OKをクリックすると、うまくコピーできる……と思うと、実はうまくいかない

#REF! は数式中でのセル参照が無効であることを意味するエラーである。元々 SUM関数で足し算をしていたセルを単純に行列入れ替えて貼付たのではうまくいかないようだ。

Step 4改. 数式ではなく、計算した値だけを行列入れ替えて貼り付けることにする

今度は、貼り付ける内容を「すべて」ではなく「値」にして、さらに行列を入れ替えて貼り付けてみる

今度はうまくいった。セル C2には計算式ではなく、5409300という値が入力されていることに注意。

練習問題3.

population.xlsを使って、都道府県 シートに 男女計、女性、男性の3種類の年齢計の人口を入力しなさい。この際、

  1. 計算式を使って、他のシートのセルを参照する
  2. コピーを使って他のシートのデータを複写する

の2つの方法を試して、どのように結果が違うか考えなさい。

練習問題4.

population.xlsを使って、従属人口指数を都道府県別に男女別に計算した結果を収めるシートを作成し、そのシートに 従属人口指数 という名前をつけなさい。ただし、

従属人口指数 = (年少人口 + 老年人口)÷生産年齢人口

年少人口 = 15歳未満の人口

老年人口 = 65歳以上の人口

生産年齢人口 = 15歳から64歳までの人口

として計算すること。従属人口指数 シートには年少人口、老年人口などの計算の途中で使うデータは置かないこと。

5.3 データベース機能

※データベース関連の機能はExcel 2003で追加された「リスト」という考え方で大幅に拡充されたが、本物のデータベース的な考え方がかなり入ってきて複雑でもあるため本講義では扱わない。

5.3.1 並べ替え

Excelでは、縦あるいは横に連続したデータを並べ替えることができる。しかし、他の機能とでは列方向にデータ系列を取っていることを前提としているケースが多いので、特に理由がなければ同じ系列のデータは縦配置する習慣を付けるほうがいいだろう 。

列方向にデータを並べ替えるには → Excel 編 Sec. 47

例題3. 男女計の人口が多い順に都道府県を並べる

population.xlsのデータを使って、男女計の人口が多い順に都道府県を並べ替えてみよう

Step. 1 男女計 シートを選択する

Step. 2 並べ替えたいデータ範囲を選択する

この際、注意する点は

である。タイトル行を入れておくことによって、並べ替え対象を名前で選ぶことができるのでミスが減る。また、Excelが自動的に並べ替え範囲を選ぶと、合計の行まで並べ替え範囲に入れてしまうことがあるので注意が必要。また、全範囲を入れておくのは、並べ替えによって行自体の位置が変わってしまうため、並べ替え範囲に入っていない列は他の列と行位置がずれてしまい意味不明になる。

たとえば、下の左のようなデータがあって、これを算数の成績順に並べ替えることを考える。もし、名前と算数の列だけ選択して、算数の成績がいい方から並べると、右のようなデータになってしまう。名前の列と国語の列との関係がおかしくなって、データとして意味をなさない。

名前 算数 国語 算数で並べ替え
でも国語は並べ替えない→
名前 算数 国語
太郎 さくら
花子 カナ
ジン ジン
カナ 花子
さくら 10 太郎 10

Step 3. メニューから「データ(D)」-「並べ替え(S)」を選ぶと、下のような並べ替えメニューが表示される

「最優先されるキー」「2番目に優先されるキー」「3番目に優先されるキー」と選択できるようになっているが、キーとは並べ替えに使う列のことだと思えばよい。ここでは、年齢計の列が最優先となっており、他のキーは指定していないので年齢計の列に入っているデータだけで並べ替えが行われる。

「昇順」「降順」は、昇順が「小さいデータが上の方の行、大きいデータが下の方の行」になる並べ方、降順はその反対である。ここでは、年齢計の人数が多い都道府県順に並べたいので、「降順」を選択する。

Step 4. 並べ替え完了

確かに人数が多い東京都から順番にならんでいるようだ。

Tips: 並べ替えた結果をもとに戻せるようにしておきたい

population.xlsだと元のデータでは都道府県コードが1〜47まで一意かつ昇順に各行についていたので、都道府県コードを使って全体を並べ替えれば元に戻る。一般的に、各行を一意に識別できる昇順のデータが入った列(中身は、単なる連番でよい)を作っておくのはよい習慣なのでオススメする。「元に戻す」は、必要なだけ戻れるかどうか保証の限りではない。

練習問題5

  1. population.xlsのデータを使って、男性の人数が少ない順の都道府県リストをつくりなさい
  2. population.xlsのデータを使って、女性の人数が多い順の都道府県リストを作りなさい

練習問題6

  1. population.xls の 女性 シートを使って、25〜29歳の女性が多い順の都道府県リストを作りなさい
  2. population.xls の 男性 シートを使って、55〜59歳の男性が少ない順の都道府県リストを作りなさい

女性計 や 男性計 を使わず、複数のキーを組み合わせた並べ替えを使ってやってみること

5.3.2 オートフィルタ

Excelでオートフィルタを使うには → Excel編 Sec. 48

例題4. 25〜29歳の男性が少ない順の都道府県リストを作る

練習問題6-2と実質的には同じであるが、オートフィルタと並べ替えを組み合わせることでラクに作業ができる。

Step 1. 男性シートを選び、見出し行を含むように、並べ替えたいデータ範囲を選択する

Step 2. メニューから「データ(D)」-「フィルタ(F)」-「オートフィルタ」を選ぶ

オートフィルタを選ぶと、Step 1で選択した範囲の見出し行にマーク(オートフィルタ矢印)がつく

Step 3. 「年齢階級」のオートフィルタ矢印をクリックする

クリックすると、下のような選択メニューが現れる。この中から、選択したいデータをクリックして選べば、選んだ列のなかでクリックしたデータと同じ値が入っている行だけが抽出される。

Step 4. ここでは、25〜29歳の人を選びたいので、25〜29をクリックする。

選択された行の行番号は青く表示される。また、現在選択するために使っている列のオートフィルタ矢印も青くなる。

Step 5. 選択済みの25〜29歳の行を、人数で昇順に並べ替える

並べ替えでやったように、メニューから選択してもいいが、ここではツールバーを使う方法を使ってみる(*5)。

  1. データ範囲に入っている「人数」列のセル(どのセルでもいい)をアクティブにする
  2. ツールバーの(昇順で並べ替え)ボタンをクリックする

*5)ここでは既に操作するデータの範囲を人間が指定しているのでツールバーのボタンを使ってもあまり問題がない。Excelが勝手にデータ範囲を選ぶような作業は、大抵の場合はうまくいくが、場合によっては破壊的なので自分が何をやっているのか自信がない場合は使わない方がいい。

例題5. 25〜29歳の男性の数が50000人以上いる都道府県のリストを作る

例題4でのオートフィルタ、並べ替えが終わった状態から始める

Step 1. 「人数」のオートフィルタ矢印をクリックして、「オプション」を選択する

Step 2. 抽出条件を指定する

抽出条件の指定ダイアログがでてくるので、50000と入力し、以上を選ぶ

Step 3. OKを押す

25〜29歳の人数が50000人以上の都道府県が選択される

練習問題7

  1. population.xls の 女性 シートを使って、40〜45歳の女性が多い順の都道府県リストを作りなさい
  2. population.xls の 男性 シートを使って、0〜4歳の男性が少ない順の都道府県リストを作りなさい

練習問題8

  1. population.xlsのデータを用いて、60歳以上の人口が全人口に占める割合(これは計算する必要がある)が多い都道府県の上位10件を、割合が高い順に並べたリストをつくりなさい
  2. 同様に、20歳未満の人口が全人口に占める割合で、下位10件を割合が低い順に並べたリストをつくりなさい

↑経済情報処理(2006)ホームページに戻る