プチアプリケーションのお勧め

ワークシート関数はじめの一歩 (Excel2002)

アンケート処理 (Excel2002)

ワークシート関数 はじめの一歩

たとえばAVERAGEという関数が平均を求めるものだと知っていても、あるいは想像はついても、 実際にはどう使っていいのかわからないという人のための講座です。

BMI(肥満度: Body Mass Index)という指数があるそうです。
計算式が割りと簡単なので、これを材料に話を進めたいと思います。
なお、この指数の科学的根拠について筆者は全く知りません。

BMIの定義

 BMI = 体重(kg) ÷ (身長(m)×身長(m))

 判定基準 (※)
   やせ   18.5未満
   標準   18.5以上25未満
   肥満   25以上30未満
   超肥満  30以上

  ※30以上は細分されている場合もあるようです。

体重身長リスト

もちろん架空です。

AVERAGEを使う

体重と身長の平均を求めてみましょう。

=で始める

ワークシート関数や式を埋め込むには、等号(=)で始めます。漢字はオフにしておいてください。

等号に続けて関数名を入力します。大文字小文字どちらでもかまいません。
関数名の次に「開く括弧」を入力したところで
  AVERAGE(数値1, [数値2], ...)
というガイドが現れます。
括弧で囲まれた部分の「数値1」「数値2」などを引数(ひきすう)といいます。
「...」としてあるのは、数値3、数値4等々と続けられるということです。
大括弧[]で囲まれているのは任意の引数です。「数値1はないと計算できませんよ、残りはあれば含めて計算しますよ」 といったところでしょうか。

65,58,85,72,...,74 と直接数値を入力していってもいいのですが、それでは誰かの体重を訂正すると この埋め込み式まで再入力しなければなりません。
一連の数字の代わりにセル範囲を指定できるのがExcelワークシート関数のいいところです。
開く括弧を入力した直後にマウスでセル範囲を指定してやります。その後、閉じる括弧を入力してEnterします。

これで埋め込み完了です。

身長の方も同じ要領でできますが、B12のセルを隣にコピーした方がかんたんでしょう。

BMI 計算式を埋め込む

BMIは割り算と掛け算の組合せですからワークシート関数ではなく算術式を埋め込みます。
ワークシート関数埋め込みの場合と同じく等号で始めます。

足し算の+、引き算の−は学校の算数と同じですが、掛け算は*、割り算は/とちょっと異なります。(いづれも半角)
ちなみにべき乗演算は^を使います。したがって、C2*C2 の部分は C2^2 でもかまいません。

3行目から下は2行目をコピーします。

IF関数で判定を行う

最後に IF関数を使って判定を行っていきたいと思います。
一足飛びに4段階判定を行うのは難しいので、まず「やせ」であるかないかの判定を行います。

「やせ」であるかないか

BMIが18.5未満で「やせ」、それ以外は「やせでない」です。

IF関数の書式は、 IF(論理式, 真の場合の値, [偽の場合の値]) (※)
論理式というのは、真か偽か(正しいかまちがっているか)を判定できる式のことです。 3行目の場合、D3の値が21.22449ですから、D3<18.5 は偽となります。
真の場合はやせ、偽の場合はやせでないと入力します。
(値が数値の場合はそのままでいいのですが、文字列の場合はダブルクォーテーションで囲みます。)

※ 関数入力時のガイドでは「真の場合」も大括弧[]で囲まれて任意扱いになっていますが、省くとエラーになります。

3行目以降もE2セルをコピーします。
BMIが18.5未満は山田さんだけですが、確かに山田さんだけが「やせ」になっています。
この先、式がだんだん複雑になっていきますから、かんたんな段階で確認しながら進めるのが正しく埋め込むコツです。

3段階判定 「やせでない」を二分

18.5以上が「やせでない」ですが、これを「標準」と「太っている」に分けようと思います。
(18.5以上)25未満が「標準」、それ以外は「太っている」です。

先に埋め込んだ2段階判定式の 偽の場合の値 (反転部分) を、
 IF(D2<25,"標準","太っている")
で置き換えます。
最後にEnterを叩いて埋め込み完了です。

2段階の場合と同様に3行目以下に埋め込み式をコピーし、意図どおりであることを確認します。

4段階判定

最終目的である4段階判定に取り掛かります。
「太っている」を「肥満」と「超肥満」に分けます。 (25以上)30未満が「肥満」、それ以外は「超肥満」です。
要領は3段階の場合と同じです。「太っている」の部分をこれを二分するIF関数で置き換えればOKです。

「太っている」に代わるIF関数は、
 IF(D2<30,"肥満","超肥満")
です。

最後にEnterを叩いて埋め込み完了。

3行目以下にコピーして完成です。

2010/10/20

ページ先頭