情報リテラシー応用(7)

関数の概要

そもそも、表計算に、なぜ関数が用意されているかと言えば、以下の2つの理由です。

 ①式では手間が掛かること
 ②式ではできないこと

累乗のように、式の項が多い場合や、式が複雑な場合、さらに四則演算だけではできない場合に対処するために、関数を使います。

私の手元に、月刊アスキーPCという、かつて刊行されていた、パソコン雑誌の記事の切り抜きがあります。1999年4月号と書かれており、「エクセル関数虎の巻」とタイトルされた、16ページほどの記事です。
原本は見当たりませんし、実はネットなどで古本を探してみたのですが、全くありませんでした。記憶では、当時パソコンの授業をいくつか担当していたのですが、関数に関して簡潔に解説した資料だったので入手して保存していたようです。当時から、表計算の関数を上手く教えるのは、難しかったのを記憶しているので、授業の参考資料に使いました。

そこに非常に分かりやすく関数の基本に関して解説されているので、著作権の問題もあるとは思いますが、ごく一部だけ、引用します。

図4

関数も、式や参照と同じように、セルに直接入力して行きます。高校では、関数パレットで入力する方法を習っているケースが多いようですが、操作方法を覚えて終わってしまうので、数式バーを使った直接入力で試してください。

図5

資料にもありますが、関数は、以下のような書式で書きます。

 =関数名(引数)

参照、式は、「=」から始まりますが、関数も同じです。「=」が無いと、単なる文字列として扱われます。
関数名は、それぞれの関数の識別名ですが、基本的に、その関数の機能を示しています。

例えば、合計する関数は、「sum」ですが、総和を意味する「summation」を語源としています。
関数の挿入で全ての関数を見てみると、「sum」と似たような名前を持った関数があることに気づきます。

SUMIF、SUMIFS、SUMPRODUCT、SUMSQ、SUMX2MY2、SUMX2PY2、SUMXMY2

などですが、それらは全て「和」を求める処理のバリエーションです。
例えば、SUMIFは、「単一」の条件に一致するセルの和を求める関数で、SUMIFSは、「複数」の条件に一致するセルの合計値を求めます。
このように、関数名は機能を示すものとして与えられていますが、例えばこの場合、合計する関数「sum」が基本的な機能を持つ「基本関数」で、それらに語が付加して、関数のバリエーションが作られています。それらを「応用関数」と呼んでいます。

図6

関数は、前述のようにExcelに用意されているものしか使えません。例えば、今日の日付を求める関数として「today」が用意されていますが、明日の日付を求める関数「tomorrow」は存在しません。関数「today」の結果に、1を加えればいいわけですから。

「(」カッコと「)」閉じカッコ(コッカ)は、関数に必ず必要です。それらが書かれないとエラーになります。この()の間に書かれるものを、引数(parameter)と言います。ちなみに、引数は、「いんすう」ではなく、「ひきすう」と読みます。
引数は、関数が答えを出す場合に必要な情報です。例えば、今日の日付を求める、関数「today」は引数は必要ありませんので、省略します。しかし、合計する関数は、合計処理の対象を指定する必要がありますので、引数を指定しないとエラーになります。

関数では、この引数に参照を使うことが出来ます。それによって、他のセルの値を処理することができるようになります。また複数の引数がある場合、「,(カンマ)」で区切ります。

関数が出す答えのことを、関数の戻り値(return value)と言います。
数学の世界では、関数を以下のように書きます。

 y=f(x)

これは、2つの数xとyがあり、ある値xに対して、yの値を決定する規則が与えられている場合の表記です。
この場合、xの値は自由に決めることが出来るので、xを「独立変数 (independent variable) 」と言います。またxの値が決まれば、yはそれによってきまってしまうので、「従属変数 (dependent variable) 」と言います。
Excelの関数では、「=」の右辺を書きますが、xが引数に当たります。またyが戻り値です。
関数が正しい答えを出さない場合は、まず引数が誤っています。

図7

関数は、「ある機能を持ったモノ」と説明しました。図に示すように、引数として何かを入力すると、関数がそれに基づき情報処理を行い、その結果を戻り値として出力する、こういうイメージで捉えてください。

Excelでは、一つの関数は必ず一つの戻り値を持ちます。またセルの中には、複数の関数を記憶させることができます。

以上が関数の原則の概要です。
これを元に、必要な関数を考えながら、成績表を実現して行きます。


この記事が気に入ったらサポートをしてみませんか?