7日目 9日目

8日目

目標

課題


課題 19

並び替え

以下の表は、フィギュアスケートの大会での審判員の採点表である。 次の方法にしたがって、得点を求め、順位順に並び替えよ。

  1. 各審判は10点満点で採点を行う
  2. 採点から、最高最低を1つずつ取り除いた残りの平均を得点とする
氏名 審判1 審判2 審判3 審判4 審判5 審判6 審判7
選手01 5.8 6.0 5.3 5.1 5.8 5.1 5.3
選手02 9.9 9.7 9.7 9.6 9.7 9.6 9.8
選手03 9.7 9.4 9.5 9.6 9.5 9.8 9.8
選手04 6.6 6.6 6.7 6.6 6.6 6.6 6.7
選手05 5.4 5.2 5.2 5.2 4.9 5.0 5.1
選手06 6.8 6.8 6.8 6.8 6.8 6.8 6.8
選手07 6.8 6.6 6.8 6.3 6.5 6.2 6.2
選手08 6.2 6.3 6.3 6.3 6.1 6.2 6.3
選手09 5.7 5.8 5.6 5.7 5.7 5.6 5.6
選手10 7.4 7.5 7.3 7.6 7.5 7.6 7.7
選手11 8.1 8.2 8.2 8.2 8.2 8.1 8.1
選手12 9.0 9.0 9.0 9.0 9.0 9.0 9.0
選手13 8.7 8.7 8.6 8.7 8.7 8.7 8.7
選手14 10.0 9.4 9.5 9.7 9.7 9.6 9.9
選手15 9.2 9.2 9.3 9.2 9.2 9.2 9.2
選手16 6.5 6.6 6.4 7.0 6.6 6.8 6.6
選手17 7.6 8.2 7.5 7.8 7.4 7.5 7.8
選手18 8.8 8.5 8.7 9.0 9.1 9.1 8.3
選手19 7.0 7.6 7.1 7.3 7.4 7.6 7.1
選手20 6.1 6.0 6.0 6.0 6.0 6.1 6.0

入力テクニック (フォームの利用)

以前に、データを入力する場合にあらかじめ 範囲指定を行っておく方法を学習したが、 大量のデータを入力する場合、フォームを利用した入力を用いた方が 混乱が少なくてすむ場合が考えられる。

フォームを用いた入力を行う場合には、いずれかのデータセルを選択後、 「データ」→「フォーム」を実行する。 なお、フォームを利用する場合オートフィルは利用できないので、 入力の手間を減らすためにはあらかじめ埋められる範囲の入力はしておいたほうが良い。

フォーム入力ウィンドウの右上にでている数字は「現在編集中のデータ/全データ数」である。

次のデータに移動する際には「次を検索」、前に戻る場合は「前を検索」、最後にデータを追加する際には「新規」を押す。 必要ないデータを削除することもできる。フォーム入力を終える場合には「閉じる」を押す。

なお、エクセルがデータ範囲を正しく推測できない場合は、範囲全体を選択した後、フォームを起動する。

form image
入力フォーム

最高点、最低点、領域

複数の採点官による得点を評価する際に、上位および下位の評価を除いた 中心部分の平均点を用いることがある。 例として本問では「フィギュアスケート」を取り上げた。

エクセルでは、LARGESMALL関数を用いることで、 このような作業を行うことができる。 LARGE(SMALL) 関数は、与えられた領域中(引数「範囲」)から n 番目(引数「順位」)に大きな(小さな)値を返す。 なお、すでにやったように最大値、および最小値は MAXMIN関数でも得られる。

入力した表の右側に 「最高」、「2番目」、「3番目」、「4番目」、「5番目」、「6番目」、 「最低」の点数を参照する領域を作成し、 「最高」は MAX関数を、 「2番目」から「4番目」までは LARGE関数を、 「5番目」「6番目」には SMALL関数を 「最低」については MIN関数を用いて値を表示するようにせよ。

コピーをして領域を埋めるためには参照方法を適切にする必要があることに注意せよ。 ($ はどこにつけるのが正しいか?)

表が出来上がれば、最高点および最低点を除いた平均値を一番右に表示するように設定せよ。

なお、エクセルには与えられたデータの中から、指定した割合の範囲に含まれるデータを除いて平均を求める TRIMMEAN関数があるので、各自でどのような振る舞いをするのか調べてみよ。


並べ替え

エクセルでデータを並べ替えることを「ソート」と呼ぶ。 行でソートする場合は、並べ替えたいデータが入力されているセルを選択した後、「データ」→「並べ替え」を実行する。

sort menu

ソートする領域をエクセルが正しく見つけられなかった場合は「キャンセル」を押して取りやめ、正しい範囲全体を選択した後、「データ」→「並べ替え」を実行する。

並べ替えの際に優先する順位を選択した後、「OK」を押すとソートが実行される。

エクセルがソートする領域を「正しく推定できる」ような単純なデータ構造であるときは、 キーとなる列の一つのセルを選択後、標準メニューバーにある sort iconを 押すことにより容易にソートを実行できる。

なお、ソートする際にはまとめて並べ替えを行いたい列(行)を含めた範囲を指定する必要がある。


小ネタ

列や行を隠すには

上の並べ替えの例を示した図には、途中の取り扱いで利用した I 列から O 列までが表示されていない。 このように特定の列や行の表示を行わないようにするには、 表示したくない列(行)を選択後、右クリックしたメニューに含まれる「表示しない」を実行する。

隠した領域を再び表示するためには、隠れた領域を含む、より大きな領域を選択後、 「再表示」を実行すれば良い。


課題 20

検索

練習1

ある食べ放題レストランでは、年齢に基づいた価格設定を行っている。 各年齢に対する価格は表1の通りである。

それぞれの客が年齢を記入するだけで、価格名と価格を表示し、合計額を 表示できるような伝票を作成せよ。ただし、1グループの最大人数は5人とする。

表1: 年齢別価格表
価格名 対象年齢 価格
乳児 1歳未満 0
幼児 6歳未満 500
小学生 12歳未満 1,000
中学生 15歳未満 1,200
高校生 18歳未満 1,500
一般 18歳以上 60歳未満 2,000
シルバー 60歳以上 1,500

練習2

次の条件を満たすような、納品書を作成せよ。

  1. 表2に示す商品番号と、発注単位数を入力するだけで、商品名、単価、価格が表示されること
  2. 最大6品目まで記入できること
  3. 税抜き価格の合計を「小計」として表示できること。
  4. 「小計」の 5%相当額を「消費税」として表示できること
  5. 「小計」と「税額」を合わせた額を「合計」として表示できること。
表2
 
商品番号 品名  量   価格(税抜) 
040 キャベツ 1玉 198
044 レタス 1玉 189
048 なす 5本 170
079 スイートコーン 1本 131
081 キュウリ 3本 141
082 ニンジン 500g 150
084 玉ねぎ 500g 131

セルの検索(LOOKUP 関数群)

ある範囲から、特定の条件に一致するようなセルを探しだし、 そのセルの値や位置を求めることができる。 例として、ここでは商品番号をもとに、商品名や単価を検索することを考えている。 この目的に用いる関数は「検索/行列関数」に分類されている。 検索範囲や検索方法によって次のような関数や方法を利用することになる。


検索に利用できる関数の特徴をまとめると次のようになる。

関数名 検索方向 検索範囲に対する
表示するデータ位置
検索型
厳密 近似
VLOOKUP
HLOOKUP
LOOKUP 左右 ×
上下
INDEX + MATCH - -
LOOKUP ウィザード - - ×

解答例(練習1)

表1をコピーしたあと、対象年齢と価格の間に1列挿入し、各年齢層の「最小値」を 記入する。

「最小値」を用意するのは、あらゆる年齢が表1に含まれているわけではないのに、 任意の年齢に対して価格を決める必要があるため、「近似」探索を行うからである。 (近似探索とは、「検索値未満の最大値」の探索であったことに注意)

lookup 1

「境界年齢」を「価格名」よりも右に設定したため、VLOOKUP 関数は利用できないので、 関数 LOOKUP を利用する。

引数の選択では、「検査値、検査範囲、対応範囲」を選択する。

lookup 2

「価格名」をまず設定する。検査値は「年齢」を 検査範囲には表1の「境界年齢」を、対応範囲には「価格名」を指定する。 あとで、コピーする場合は、セル参照の方法を良く考えること。

うまく、参照方法を指定すると、コピーして、少し修正することで対応できる。

lookup 3

年齢が入力されていないと、価格名が「乳児」となるのはみっともないので、 IF 関数を用いて、年齢欄が空白ならば価格名も空白となるように、修正せよ。

ヒント: 空白かどうかは「セル番地 = ""」で判別できる

lookup 3

解答例(練習2)

商品番号を元に検索する場合、「近似」探索では納品書として役にたたない。 したがって、VLOOKUP 関数を利用する事にする。

注意する点は次の通り

  1. 「範囲」を指定する際は検索する領域が「左端」になるようにすること
  2. 「列番号」を指定する際は、領域の左から何列目かを数字で指定する
  3. 「検索の型」には厳密一致するものを探索するので 0 を指定する。
vlookup

存在しない商品番号が入力された場合、#N/A と表示されてしまうが、これを 背景色を赤で「入力エラー」と表示するように設定せよ。 なお、#N/A かどうかは、関数 ISNA を用いて、「ISNA(セル番地)」で判断できる。

vlookup

小ネタ

値が 0のセルを隠す

上の納品書では、式の結果が 0 になる部分が表示されていない。 このようにするためには、「ツール」→「オプション」を選択し、 「表示」タブを選んだなかにある、「ウィンドウオプション」中の「ゼロ値」のチェックを外せば良い。


7日目 表紙 9日目

tacha@tack.fukui-med.ac.jp
$Id: 08.html,v 1.1 2004/06/07 12:07:35 tacha Exp $