2007年度経済情報処理

第6回 大きめのデータの扱い

第6回の目標

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

準備確認問題

1. セル参照でラクをする

例題1. 市場占有率の計算

A B C
1 会社名 売上高 市場占有率
2 きつね食品 192 ?
3 たぬき物産 168 ?
4 いなり商事 224 ?
5 平均 ? ?
6 合計 ? ?

上の表のデータから市場占有率を計算するためには、(1)売上高の合計を SUM関数で計算する(2)各社の売上高を(1)で計算した合計売上高で割るという2つのステップが必要である。この作業でのセル参照(セル範囲を含む)をマウス操作で行ってみる。

Step 1. セルB6に売上高の合計を計算する

SUM関数の、合計範囲を入力する前の部分まで計算式を入力する
セル B6 ← =SUM(
合計範囲をマウスなどで選択する。すると、自動的に計算式の中にセル範囲を表す文字列が挿入される
正しい範囲が指定できたら、関数を閉じる ) を入力して、Enterを押すと計算式が確定する

Step 2. 市場占有率の計算式を入力する

きつね食品の市場占有率をまず計算する。計算式を入力したいセル C2をアクティブセルにして、「これから計算式を入力する」とExcelに伝えるため = を入力する。これはキーボードで = を押す
きつね食品の売上高が入力されているセルB2をクリックする。すると、セル C2の計算式の中にセルB2への参照が自動的に挿入される
次に、除算演算子の / を入力する。これはキーボードで/ を押す
除数の入っているセルB6をクリックする
セルB6への参照は絶対参照にしておかないと、セルC3C4に計算式をコピーしたときに不幸になる。F4キーを押すとセル参照が下図のように変わるので、適切なところまで絶対参照に変わるまで F4キーを押す
セルB6クリック直後(F4キー 0回) F4キー 1回 F4キー 2回 F4キー 3回 F4キー 4回
0回と同じ
Enterキーを押して計算式を確定してできあがり。あとは計算式を必要なだけコピーする

Tips: 関数の挿入を使ったときにマウスで引数を指定する

練習問題1. 以下の表を使って指示された計算をしなさい。ただし、計算式の中からセルを参照する際はマウスを使って参照するセルを選ぶこと

A B C
1 101 202 303
2 303 505 606
3 505 606 303
  1. セルA1の値+セルB2の値+セルC3の値 を計算する式をセル D1に入れてみなさい。
  2. セルA1D1の値の合計を計算する式を、セルD2に入れてみなさい

2. 複数の表を上手に使う

例題2. 列幅が違う複数の表を別シートに配置する

※サンプルデータは score3.xls ブックに入っている

score3.xlsを開くと、上の方に成績データ、下の方に成績ランクを定義するための小さな表が入っている。このような配置になっていると

などの問題がある。これは、別の種類のデータを入れてある複数の表を混在させていることから生じている。

Excel画面の左下の方を見ると

のような部分がある。Sheet1, Sheet2, Sheet3 と書いてある台形の部分を「シート見出し」と呼ぶ。シート見出しが白くなっているシートが選択されているシート、それ以外のグレーになっているシートは非選択状態である。なお、何もしなくてもシートが1〜3の3枚あるのは Excelのデフォルト設定。これは設定を変えれば何枚にでもできる。

現在画面に出ているシートは、作業中のシートだけ。後は隠れていて見えない。ここでは、Sheet2 に下の方の表を動かしてみる。

Step 1. 下の方の表を選択し、[編集]-[切り取り] でクリップボードに切り取る

Step 2. Sheet2 のシート見出しをクリックして選択する

Step 3. Sheet2 に切り取った表を貼り付ける。Sheet1, Sheet2 は下の図のようになる

Sheet1 Sheet2

Step 4. Sheet1の名前を成績に、Sheet2の名前を採点基準に変更する(*1

シート名を変更するには? → Excel編 Q17

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

練習問題2. 例題2で使った score3.xlsを使って以下の作業を行ってみなさい

シート操作 → Excel編 Q17、Q18

  1. 新しいシートを1枚追加し、名前を内申書に変えなさい
  2. Sheet3を削除しなさい
  3. シートの順番を左から内申書採点基準成績 になるように並べ替えなさい

3. 他のシートにあるセルを計算式から参照する

例題3. 平均点に応じて成績基準を変える

例題2でつかった score3.xls では、平均点が何点であっても60点未満は落第扱いだった。これでは問題が難しかった時に不幸な学生が増えてしまうので、平均点を基準に評価基準を変えるようにしたい。

Step 1. 採点基準 シートの中に、成績シートの五科目平均の平均を出す計算式を入れる

採点基準を作業中のシートにする
採点基準をクリック
セルA7 ← 平均点 という文字列を入れる
セルB7をアクティブセルにして、関数の挿入を使う
AVERAGE関数を選び、引数として成績シートの範囲 G2:G11を指定する
計算式完成

他のシートにあるセルを参照する場合は、普通のセル参照(範囲参照)の前にシート名をつけ、! で区切ってから普通のセル参照(範囲参照)を書く。

Step 2. 採点基準シートのセル B2 に、Step1で計算した平均点 - 10点 がDの最高点になる計算式を入れる

単なるシート内の計算式なので略

練習問題3. サンプルファイル population.xls を使って、以下の作業を行いなさい

  1. 男女計の人口をシート男女計に計算しなさい。ただし、男性、女性の人口はそれぞれシート男性女性に入っている。
  2. 男女計、男性、女性の年齢計人口をシート都道府県に計算しなさい

練習問題4.

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

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

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

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

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

として計算すること。

※この問題は、他のシートにあるデータを計算式から参照する練習なので、シート従属人口指数 には年少人口、老年人口などの計算の途中で使うデータは置かないで、計算式の中で直接男性女性のデータが入ったシートを参照すること。

4. データを昇順・降順に並べる

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

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

データを昇順・降順に並べ替えるには? → Excel 編 Q48

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

練習問題3, 4で使った population.xlsのデータを使って、男女計の人口が多い順に都道府県を並べ替えてみよう

データを昇順・降順に並べ替えるには? → Excel 編 Q48

※「人口が多い順」なので、この場合は降順での並べ替えになる

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

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

練習問題5

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

練習問題6 サンプルデータ birthday.xlsを使って以下の処理を行いなさい

  1. バースデーカード発送処理のために、生まれ月の昇順にデータを並べ替えなさい
  2. 年齢によってバースデーカードの種類を変えたいので、同じ月に生まれた人の中では若い人が上(前)、年寄りが下(後)になるように並べ替えなさい

ヒント: 2番は複数キーの組み合わせで処理する

3つまでのキーで並べ替えるには? → Excel編 Q48

5. 条件にあうデータだけ選び出す

例題5. birthday.xls のデータから来月のカードを送るため、11月生まれの人だけを選ぶ

特定のデータを抽出するには? → Excel 編 Q49

※オートフィルタを使って、月が 11である人だけ選べばよい

例題6. 敬老の日のカードを送るため、70歳以上の人だけ選ぶ

※オートフィルタのオプションを使って、70歳以上という条件を設定すればよい

指定した条件のデータを抽出するには? → Excel編 Q50

練習問題7. サンプルデータ birthday.xlsを使って以下の処理を行いなさい

敬老の日のカードは男女で別のものにしたい。70歳以上の男性と、70歳以上の女性を別に選び出しなさい
購入回数が特に多い顧客に、バーゲンでつかえるクーポン券を送りたい。購入回数の上位10%の顧客を抽出しなさい

練習問題8. サンプルデータ birthday.xlsを使って以下の処理を行いなさい

購入回数が上位10%に入っている人のうち、喫煙者(喫煙="Y")には好みの銘柄のタバコ、非喫煙者にはクーポン券を送ることにした。それぞれ抽出しなさい

6. 他のアプリケーションからのデータの貼り付け

例題7. Webにのっている表を Excelに貼り付けてみる

Step 1. 表の範囲をドラッグして選択する

A B C
1 会社名 売上高 市場占有率
2 きつね食品 192 0.328767123
3 たぬき物産 168 0.287671233
4 いなり商事 224 0.383561644
5 平均 194.6666667 0.333333333
6 合計 584 1

Step 2. Ctrl + C あるいはメニューから選んでコピーする

Step 3. Excelの中で貼り付けたい範囲の左上セルをアクティブセルにしてから、「貼付」を実行する

うまくいけば、下のような感じで貼付できる。

※ 表をブラウザの中で選択するときは、ちょっと余計に選択するくらいの積もりの方がいい。Excelに貼ってから消すのは簡単だが、レイアウトが崩れてしまうと始末が悪い

練習問題 9

  1. かながわ論叢 第42号 一次審査通過論文 リスト を Excelに取り込みなさい
  2. 取り込んだリストを、執筆者名で並べ替えなさい
まとめの問題
商品購入記録がWebに表の形で掲載されているページがある。
1. Excelブック birthday.xls購入記録というシートを新規に挿入し、上の表の内容をできる限りラクをして入力しなさい
2. シート購入記録を取引日と顧客番号をキーにして昇順で整列しなさい
3. 販促活動に使うので、シート誕生日の「購入回数」が下位20%に入る顧客を選び出しなさい
4. ここまでの作業が終わったブックに、mybirthday.xlsという名前をつけて保存しなさい

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