Lesson 7-1


   

関数

検索関数

ある範囲から、特定の条件に一致するようなセルを探しだし、 そのセルの値や位置を求めることができる。 このような検索を行うための関数の使い方を学ぶ。

はじめに、このファイルから必要なシートを Lesson 5 で用いた book にコピーしなさい。 (ない場合は L7.xlsx に含まれる成績データのシートを用いよ。)

Lesson 5-2 で用いた成績表について、シート L7-1 に示す表に基づいて、 各学生の成績の評価欄の右にコメントを表示せよ。

検索語 引用語
A たいへんよくできました
B よくできました
C できています
D がんばりましょう

セルの検索(LOOKUP 関数群)

ある範囲から、特定の条件に一致するようなセルを探しだし、 そのセルの値や位置を求めることができる。 例として、ここでは成績符合を元に言葉としての評価を求めている。 この目的に用いる関数は「検索/行列関数」に分類されている。 検索範囲や検索方法によって次のような関数や方法を利用することになる。


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

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

練習 1

以下のような英日対応表がある。 この表を用いて、指定のセルに英単語を入れると対応する日本語を表示する 簡易英和辞書を作成せよ。(VLOOKUP を使用する。)

appleりんご
angle角度
bill請求書
brother兄弟
chalkチョーク
excelより勝る
fish
Look Up調べる
mother
Paper

練習2

練習 1 で用いた、英日対応表を行列を入れ替えてコピーし(形式を選択して貼り付け→行列を入れ替える)、 HLOOKUP を用いて同じ機能を実現せよ。

練習3

Lesson 5-3で用いた国勢調査の表を元に 都道府県番号(文字列であることに注意すること)を入力すると、 対応する「都道府県名」、「平成17年の人口」、「人口増減率」、「面積」、「人口密度」を 表示するような表を作成せよ。

元データを次の順で並び替え、結果がどうなるか確認せよ。

  1. 都道府県番号の昇順でソートされている場合
  2. 人口密度の降順でソートされている場合
  3. 都道府県番号の降順でソートされている場合

また、番号欄に 48 を入力し、上記の3つの場合でどうなるかを確認せよ。


発展練習 1

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

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

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

余裕があれば、年齢欄が空白ならば価格名も空白となるように IF関数を用いて修正せよ。 空白かどうかは「セル番地 = ""」で判別できる。


発展練習 2

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

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

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

なお、入力されたデータをチェックしてエラーとする戦略と対称的な手法として、 入力できるデータをあらかじめ制限するという方法も考えられる。 そのためには、「データの入力規則」を用いる。


   
$Id: L7-1.html,v 1.4 2011/01/10 15:48:49 tacha Exp $
u-aoyama at fpu.ac.jp & ogaito at fpu.ac.jp