0040 関数が欲しくなるとき

なぜ関数がほしいのか?

ここでは大人の高校という大きな括りで講座を組んでいるので, 「大人」向けに考えましょう. 前回触れたので特に Excel を例に挙げます. これなら文系・事務系の人であっても多少なりともイメージできると思うので.

一言でいえば処理をまとめたいからです. 何度も同じことを書きたくないからです.

なぜ同じことを何度も書きたくないのか?

一言で言えばミスが起きないようにするためです. Excel 本来の使い方をするとき, つまり表計算するときを考えましょう.

簡単な事務処理なら大して困りません. それこそ見積もりの項目の集計で, ある範囲の和が取りたい場合を考えれば単純に sum 関数を使えば十分です. しかし条件分岐, つまり if を使うような, ちょっと複雑な処理を書きたいとき, あの小さなセルに複雑な処理を書きたくはありません.

そして何かあって少し処理を変えないといけなくなったとき, その処理を書いたセルを全て書き換える必要があります. 漏れなく全てです. 一つだけ書き換え忘れたりしたら微妙に計算が合わなくなります. どこが問題か見つけるのは本当にやっかいです.

関数化のご利益

ここではじめから関数にしておいたらどうでしょうか. 複雑な処理に名前をつけておいて, つまり関数にしてその関数を呼び出すだけにするのです. おおもとの関数だけ直せば, 関数を呼んでいる全ての場所が一気に変わります.

変数と関数

合計を書きたいなら SUM 関数に和を取る範囲を与える必要があるように, Excel で関数を呼ぶとき, その関数に適切な値を食わせる必要があります. この和を取る範囲を指定する部分がまさに変数です. 実際にいろいろな値が関数に入ってきます. この「いろいろな値」を扱うための概念が必要で, それが変数なのです.

念のため注意: 変数は「数」とは限らない

よくわからなければ飛ばして構いません.

Excel では SUM 関数に範囲を与えないといけないように, 変数とは言いつつ, 変数は数学で言う「数」とは限りません. プログラミングからしても, 純粋に数学としても, です. 数学としては例えばベクトルを与えないといけない関数があります.

数学の場合のご利益は?

ここまでプログラミングの立場から見た関数のご利益を説明してきました. あなたは数学の立場からのご利益が何かが気になっているかもしれません.

上でも何度かコメントしたように, Excel にも SUM のような集計 (統計) 系の関数があります. これはまさに数学の関数でもあります. 数学の場合はシグマ記号などと呼ばれています. この意味ではプログラミングと共通の感覚があります. 記号や名前を準備して, それで処理を代表させるのです. もちろん慣れるまでは大変です. しかしいったん慣れると非常に便利です.

もしあなたが Excel 対応で関数の便利さを実感できているなら, そこから数学への関数の感覚を育ててもらうのも一手です. もちろんあなたは Excel でも関数に苦しめられているかもしれません. その場合はもうがんばって, としか言い様がありません. これから一緒にがんばりましょう.

まとめ: 変数のご利益

関数の話がメインになってしまったので改めて強調しましょう. この講座でまず何がしたかったかと言えば, 何の役に立つかもわからない状況でいきなり変数の処理をやらされるので, そこに対する補足をしようとしていたのでした.

変数を使う場面として方程式を立てて解く場面があります. これについては既に別コンテンツでも話をしていますし, これが役に立つ・楽しいと思えているならいいのですが, 必ずしもそうではないと思います. そこで, ここでは関数との関係から変数がほしくなる・実際に使う場面を紹介しました.

関数自体が中高数学のハイライトで難点とも言えるので, ここではプログラミングと絡めて話をしてみました.

世の中にはいろいろな人がいて, ある説明ではわからなくても, 別の説明をしてもらえればわかることがあります. まさにその別の説明の仕方として Excel から話を組み立ててみました. これでわかる人・わかった人はそれでよく, わからない人はそれはそれでいいのです. ぜひ自分の気に入る説明をあなた自身でも探してみてください.

最後に補足: Excel からの数学

Excel の SUM 関数は数学だといわゆるシグマ記号です. もしあなたが大人になって多少なりとも Excel に慣れていて, 特に SUM を使えているなら, そしてシグマ記号にコンプレックスを抱えているなら, あれは SUM なのだと思ってください. 本当にそうです.

Excel で数値計算してグラフを描いて遊んでみるという本もいくつか出ています. 興味があればそうした本も探して眺めてみてください.