DELTA 関数は、2 つの数が等しいかを調べ、等しければ 1、ちがえば 0 を返す関数です。GESTEP 関数は、数がしきい値以上かを調べ、以上なら 1、未満なら 0 を返します。
結果が TRUE・FALSE ではなく 1・0 なので、そのまま足して数を数えられます。この記事では、2 つの関数の使い方を、実際の Excel で確かめた結果で説明します。
DELTA・GESTEP 関数の書き方
=DELTA(数1, [数2])
=GESTEP(数, [しきい値])
| 引数 | 意味 |
|---|---|
| 数1・数2 | くらべる 2 つの数。数 2 を省略すると 0 |
| 数 | しきい値とくらべる数 |
| しきい値(省略可) | この値以上なら 1。省略すると 0 |
=IF(A2=B2,1,0) や =IF(B2>=4,1,0) と同じ結果です。
1. 予定と実績が同じか(DELTA)
I2 に式を入れて、下へコピーします。
=DELTA(A2,B2)

5 と 5 は 1、3 と 4 は 0 でした。
2. しきい値以上か(GESTEP)
実績が 4 以上なら 1 にします。
=GESTEP(B2,4)

5 は 1、4 は 1(ちょうど 4 も以上)、1 は 0 でした。
3. 一致した数を数える
1・0 で返るので、DELTA の結果(I2:I5)を SUM で足すと一致した数になります。DELTA に範囲をまとめて渡すと #VALUE! になるので(下の検証)、1 つずつの結果を足します。
=SUM(I2:I5)

結果は 2 でした。GESTEP の結果も同じように足すと、4 以上の数を数えられます。
【実機で検証】DELTA でつまずくところ

| ためしたこと | 式 | 結果 |
|---|---|---|
| DELTA に範囲をまとめて | =SUM(DELTA(DELTA!A2:A5,DELTA!B2:B5)) | #VALUE! |
| GESTEP に範囲をまとめて | =SUM(GESTEP(DELTA!B2:B5,4)) | #VALUE! |
| 数 2 を省略(DELTA(0)) | =DELTA(0) | 1 |
| しきい値を省略(GESTEP(-1)) | =GESTEP(-1) | 0 |
| 文字を入れた(DELTA(“a”,”a”)) | =DELTA("a","a") | #VALUE! |
| 0.1+0.2 と 0.3 | =DELTA(0.1+0.2,0.3) | 0 |
| 「=」でくらべた(0.1+0.2=0.3) | =0.1+0.2=0.3 | TRUE |
DELTA に範囲をまとめて渡すと #VALUE!、GESTEP も #VALUE! になりました。範囲で数えたいときは、1 つずつの結果を足すか、=SUMPRODUCT(--(A2:A5=B2:B5)) を使います。
数 2 を省略した DELTA(0) は 1、しきい値を省略した GESTEP(-1) は 0 で、どちらも 0 とくらべます。文字を入れると、同じ文字どうしでも #VALUE! になりました。DELTA・GESTEP は数だけをくらべます。文字をくらべるときは EXACT 関数を使います。
0.1+0.2 と 0.3 の DELTA は 0 で、= でくらべると TRUE でした。コンピューターの小数のごくわずかな誤差を、= は同じとみなし、DELTA は区別します。
よくある質問
TRUE・FALSE で結果を出したいときは?
=A2=B2 や =B2>=4 と書くと、TRUE・FALSE になります。
条件に合う数を数えたいときは?
1 つの範囲の条件なら COUNTIF 関数でも =COUNTIF(B2:B5,">=4") と数えられます。
2 つの列が同じ行を数えたいときは?
=SUMPRODUCT(--(A2:A5=B2:B5)) でも数えられます。SUMPRODUCT 関数で説明しています。

コメント