はじめに
Excelなどの関数と、プログラミング言語の関数
どちらの関数も、「ある入力(引数)をもとに、処理をして、結果を返す」という点では共通しています。 =SUM(1, 2, 3) → 結果は 6 と sum([1, 2, 3]) # 結果は 6 このように、「入力 → 処理 → 結果」の構造は同じ。
違いは、Excelなどの関数は最初から組み込まれているものを使うのが基本です(例:SUM
, IF
, VLOOKUP
など)。「関数を使って計算する」という使い方が中心です。自分で関数を定義することは基本的にできません(ただし、マクロやVBAを使えば可能)。「関数を使って計算する」という使い方が中心です。プログラミング言語では、関数を自分で定義できます。
関数の目的としてExcelなどの関数の主な目的はデータ計算・集計などで、使用方法がセルに直接書くのに対してプログラミングの関数の主な目的はロジック・処理を整理・再利用で使用方法はコードの中で呼び出すことによって自由に定義できる。
Excelで関数を使う時に出てくる代表的な用語
セル(Cell):画面にある「マス目」の1つ1つのことを指し1つのマスは「列+行」で場所を表します(例:A1、B2、C3など)。ここに文字を入れたり、数字を入れたり、計算式(数式)を入れたりします。基本的に、1つのセルには「1つの値」しか表示(出力)できません。つまり、「命令は複雑でもOKだけど、結果は必ず1つ」ということです。IFのように条件によって結果が変わっても、最終的に出力するのは文字列1つだけ(例:「高い」または「安い」)。SUMのような複数のセルを対象にしても、合計という1つの数値しか返さない。できないことの例として「このセルに A列の合計も出して、ついでにB列の平均も表示しよう」というように、1セルで2つ以上の出力(答え)を見せることはできません。
関数(Function):あらかじめ決められた計算のルール。計算式の一種で、「=関数名(必要なデータ)」という形で使います。
引数(Arguments):関数が「何を計算するか」を決めるための計算対象となるデータや範囲が「引数」です。
絶対参照(例:$A$1
):$
マークで固定します(列と行の前に$
をつける)。セルをコピーしても常にA1を見るようにしたいときに使います。
相対参照(例:A1
):コピーしたら、それに応じて見る場所も変わるようにしたいとき。
数式(Formula):セルの中に入れる =
から始まるのがルール。数字同士の計算や、関数を使った命令などが含まれます