第5章では、この連載の核心である「COUNTIFで打席結果の記号を成績に変換する」仕組みを解説していきます。
第33回はその準備段階として、「そもそも関数って何なのか」をゼロから解説します。「関数」と聞いただけで身構えてしまう方も多いと思いますが、この記事を読み終える頃には「なんだ、そういうことか」と肩の力が抜けているはずです。
関数とは「命令文」のこと
スプレッドシートの関数とは、「こういう計算をしてください」という命令文のことです。
日常会話で誰かに「この数字、全部足しておいて」とお願いするのと同じように、スプレッドシートでは「=SUM(A1:A10)」と書くことで「A1からA10までを全部足してください」と命令できます。
| 日常会話 | スプレッドシートの関数 |
|---|---|
| 「この数字を全部足して」 | =SUM(A1:A10) |
| 「この範囲に三安がいくつあるか数えて」 | =COUNTIF(G2:P2,"三安") |
| 「この範囲で安を含む記号がいくつあるか数えて」 | =COUNTIF(G2:P2,"*安*") |
関数は必ず「=」から始まる
スプレッドシートで関数を使うときは、必ずセルに「=(イコール)」を入力してから始めます。
セルに「SUM(A1:A10)」とだけ入力すると、計算はされず、そのまま「SUM(A1:A10)」という文字列として表示されます。
セルに「=SUM(A1:A10)」と入力すると、A1からA10までの合計値が計算されて表示されます。
関数を入力したはずなのに計算されない――そんなときは、たいてい「=」を入れ忘れています。関数は必ず「=」から始まる、これだけは覚えておきましょう。
関数の基本構造
関数は、次の3つの部分で構成されています。
= 関数名 ( 引数1, 引数2, … )
| 部分 | 意味 | 例 |
|---|---|---|
| = | 「これは関数です」という合図 | = |
| 関数名 | 何をするかの命令名 | COUNTIF・SUM・IF |
| 引数(ひきすう) | 命令の対象・条件など | G2:P2・"*安*" |
「引数(ひきすう)」という響きだけで難しそうに感じるかもしれませんが、要するに「関数に渡す情報」のことです。「どこを」「どんな条件で」計算するのかを伝えるための材料、くらいに考えておけば十分です。
COUNTIFを例に構造を理解する
この連載で何度も登場するCOUNTIF関数を例に、構造を確認していきましょう。
=COUNTIF( G2:P2, "*安*" )
| 部分 | 内容 | 意味 |
|---|---|---|
=COUNTIF | 関数名 | 「条件を満たすセルを数えてください」 |
G2:P2 | 引数① 範囲 | 「G2からP2の範囲を対象にして」 |
"*安*" | 引数② 条件 | 「安という文字を含むセルを数えて」 |
つまりこの関数は、「G2からP2の範囲の中で、『安』という文字を含むセルがいくつあるか数えてください」という命令になっています。
例えば、G2〜P2に「三安・遊ゴ・中2・四球・打なし・打なし・打なし・打なし・打なし・打なし」という記号が入っていたとします。
この場合、=COUNTIF(G2:P2, "*安*")を実行すると、条件を満たすのは「三安」の1つだけなので、結果は1になります。
関数の中に関数を入れることもできる
関数の引数の中に、さらに別の関数を入れることもできます。これを「ネスト(入れ子)」と呼びます。
=IFERROR(COUNTIF(G2:P2,"*安*")/COUNTIF(G2:P2,"<>打なし"), 0)
これは「安打数を打席数で割って打率を計算し、もしエラーが出たら0を表示する」という複合命令です。一見複雑に見えますが、内側の関数から順番に読み解いていけば、意外とシンプルに理解できます。
- 関数は「こういう計算をしてください」という命令文
- 関数は必ず「=」から始まる
- 構造は「=関数名(引数1, 引数2…)」
- 引数とは関数に渡す「どこを・どんな条件で」という情報
- COUNTIF(範囲, 条件)で「条件を満たすセルの数」を返す
次回予告
次回は「COUNTIF関数の基本:何を・どこで・どう数えるか」。COUNTIFの引数の意味を1つずつ丁寧にひも解きながら、打席結果をカウントする練習を一緒にやってみましょう。



コメント