ExcelのGESTEP関数の使い方|しきい値以上かどうかを0と1で判定する

スポンサーリンク

Excelで「この数値は基準をクリアしているのか?」をサッと確認したいこと、ありますよね。IF関数を使えばできるけれど、わざわざ条件式を書くのが面倒に感じることもあるでしょう。

ExcelのGESTEP関数を使えば、数値がしきい値以上かどうかを 1(以上)か 0(未満)で即座に返してくれます。この記事では、GESTEP関数の基本的な書き方から、売上目標達成チェック・品質基準判定・予算比較などの実務的な活用例まで詳しく解説します。DELTA関数やIF関数との使い分け、よくあるエラーの対処法もあわせて紹介しますね。

ExcelのGESTEP関数とは?

読み方と語源

GESTEP関数の読み方は「ジーイーステップ」です。GEは「Greater than or Equal to(以上)」、STEPは「段差・基準」を意味しています。つまり「基準値以上かどうか」を判定する関数ということですね。

数学・工学の世界では、ある値を境にして出力が0から1に切り替わる関数を「ステップ関数(階段関数)」と呼びます。GESTEP関数はまさにこのステップ関数をExcelで実現するための関数なんです。

GESTEP関数でできること

GESTEP関数は、指定した数値がしきい値(基準値)以上かどうかを判定します。結果はとてもシンプルで、以下の2パターンだけです。

  • しきい値以上1 を返す
  • しきい値未満0 を返す

テストの合格ライン判定や、売上目標の達成チェックなど、「基準を超えたかどうか」だけを知りたい場面で活躍しますよ。

GESTEP関数はExcelの「エンジニアリング関数」カテゴリに分類されています。Excel 2007以降のすべてのバージョンと、Microsoft 365で使用できます。Googleスプレッドシートでも同名の関数として使えるので、覚えておくとデータ移行時にも安心ですね。

GESTEP関数を使うメリット

「IF関数があれば十分では?」と思うかもしれませんが、GESTEP関数には次のようなメリットがあります。

  • 数式が短くシンプルに書ける
  • 戻り値が必ず0か1なので、SUM関数やSUMPRODUCT関数と組み合わせて集計しやすい
  • 「達成・未達成」のフラグ列を作るときに見た目がすっきりする
  • 0/1のバイナリデータとしてピボットテーブルや条件付き書式に活用できる

特にダッシュボードやKPI管理表を作るときには、見た目のすっきりさが効いてきます。

ExcelのGESTEP関数の書き方

基本構文

=GESTEP(数値, [しきい値])

引数の説明

引数必須/省略可説明
数値必須しきい値と比較したい数値を指定します
しきい値省略可判定の基準となる値を指定します。省略すると 0 が使われます

しきい値を省略した場合は、「数値が0以上かどうか」の判定になります。正の数なら1、負の数なら0が返ってくるので、正負の判定としても使えますよ。

押さえておきたい仕様のポイント

GESTEP関数を使う前に、次のポイントを押さえておくとつまずきません。

  • 「以上」の判定: 数値としきい値が等しい場合は 1 を返します(「より大きい」ではない)
  • 小数も判定できる: 整数だけでなく、3.14のような小数も問題なく扱えます
  • 負の数も判定できる: しきい値を-100に設定すれば「-100以上」の判定になります
  • 戻り値は必ず数値の0か1: 文字列の「TRUE」「FALSE」ではないので、計算式に直接使えます

GESTEP関数の基本的な使い方

たとえば、テストの点数が70点以上かどうかを判定してみましょう。

セルA2に点数「85」が入っているとします。B2セルに次の数式を入力します。

=GESTEP(A2, 70)

85は70以上なので、結果は 1 になります。

もしA2が「65」なら結果は 0 です。このように、合格ラインを超えたかどうかを一発で判定できるのがGESTEP関数の強みですね。

ポイントは「以上」の判定だということです。数値としきい値がぴったり同じ(たとえば70と70)でも、結果は 1 になります。

逆に「より大きい(>)」の判定をしたい場合は、しきい値に少しだけ大きい値を指定するか、IF関数を使ったほうがわかりやすいでしょう。たとえば「70点より大きい」を判定したいなら、=GESTEP(A2, 70.001) ではなく =IF(A2>70, 1, 0) のほうが意図が明確です。

GESTEP関数の実践的な活用例

活用例1: 売上目標の達成チェック

各営業担当の売上が月間目標の100万円以上かどうかを一覧で表示する場合を考えてみましょう。

A列(担当者)B列(売上)C列(数式)C列(結果)
田中1,200,000=GESTEP(B2, 1000000)1
鈴木850,000=GESTEP(B3, 1000000)0
佐藤1,000,000=GESTEP(B4, 1000000)1
山田1,580,000=GESTEP(B5, 1000000)1
高橋920,000=GESTEP(B6, 1000000)0

佐藤さんの売上はちょうど100万円ですが、GESTEP関数は「以上」で判定するので結果は1です。

C列の合計を =SUM(C2:C6) で取れば、達成者数が一目でわかります(このケースでは3人)。さらに =SUM(C2:C6)/COUNT(B2:B6)*100 とすれば達成率(60%)も計算できますね。

IF関数で「=IF(B2>=1000000, 1, 0)」と書くのと同じ結果になりますが、GESTEP関数のほうが数式がコンパクトです。

活用例2: 品質基準の合否判定

製造ラインで「製品の重量が規定値(500g)以上か」を品質チェックする場面でも使えます。

製品ID重量(g)数式判定
P-001502=GESTEP(B2, 500)1
P-002498=GESTEP(B3, 500)0
P-003510=GESTEP(B4, 500)1
P-004500=GESTEP(B5, 500)1
P-005495=GESTEP(B6, 500)0

判定列の合計を出せば合格品数、平均を出せば合格率がそのまま計算できます。たとえば =AVERAGE(C2:C6) の結果は0.6(60%)となり、合格率がパーセンテージで把握できますよ。

条件付き書式と組み合わせて「結果が0のセルを赤く塗る」ように設定すれば、不良品が一目でわかるダッシュボードになります。

活用例3: 予算と実績の比較

部門ごとの実績が予算を達成しているかチェックする例です。予算がC列、実績がD列にある場合、しきい値にセル参照を使います。

部門予算実績数式達成
営業1部5,000,0005,300,000=GESTEP(D2, C2)1
営業2部4,500,0004,200,000=GESTEP(D3, C3)0
営業3部6,000,0006,000,000=GESTEP(D4, C4)1

このように、しきい値に固定値ではなくセル参照を使えば、行ごとに異なる基準で判定できます。予算が部門ごとに変わるケースでも対応できますね。

活用例4: SUMPRODUCT関数と組み合わせて集計する

GESTEP関数は配列に対しても使えるので、SUMPRODUCT関数と組み合わせると強力です。

たとえばA2:A100にテスト点数が入っていて、80点以上の人数を数えるならこう書きます。

=SUMPRODUCT(GESTEP(A2:A100, 80))

範囲全体に対して一括でGESTEPを適用し、その結果(0か1)をSUMPRODUCTで合計するというイメージです。COUNTIF関数=COUNTIF(A2:A100, ">=80") と書くのと同じ結果になります。

ただし、件数を数えるだけならCOUNTIF関数のほうがスマートです。GESTEP関数は「各セルの判定結果(0/1)を個別に残したい」「他の計算と組み合わせたい」ときに向いています。

活用例5: しきい値を省略して正負を判定する

しきい値を省略すると0がしきい値になるので、数値の正負判定に使えます。

=GESTEP(A2)

A2が正の数または0なら1、負の数なら0が返ります。在庫数がマイナスになっていないかのチェックや、利益が黒字かどうかの判定などに使えますよ。

たとえば月次の利益データがあって「黒字の月数を数えたい」なら、各セルにGESTEPを適用してSUMで合計するだけで完了します。

GESTEP関数でよくあるエラーと対処法

#VALUE! エラー

GESTEP関数で最も起きやすいエラーです。数値やしきい値に数値以外のデータ(文字列や空白セル参照など)を指定すると発生します。

たとえば =GESTEP("85", 70) のように数値が文字列として入っていると、このエラーが出ることがあります(環境によって挙動が異なるので注意)。

対処法: 引数に指定したセルが数値であることを確認してください。文字列が混在している場合は、VALUE関数で数値に変換するか、データを修正しましょう。セルの表示形式が「文字列」になっている場合は、「標準」や「数値」に変更するのも有効です。

#NAME? エラー

関数名のスペルミスが原因です。「GESTEP」を「GETSTEP」や「GE_STEP」と入力していないか確認してください。スペースが入っているケースも多いので、特に手入力したときは注意が必要です。

#N/A エラー

セル参照先のデータが見つからない場合に発生することがあります。VLOOKUP関数の結果をGESTEPに渡しているときに起きやすいので、参照元のデータを確認しましょう。

想定と違う結果が返る

「以上」と「より大きい」を取り違えているケースが多いです。GESTEP関数は「以上(>=)」なので、しきい値ぴったりの値も1を返します。「より大きい(>)」を判定したい場合は、IF関数を使うか、しきい値を1つ大きい値に設定しましょう。

GESTEP関数と似た関数の違い・使い分け

GESTEP関数とIF関数の違い

比較項目GESTEP関数IF関数
判定条件しきい値以上かどうかの1パターンのみ自由に条件を設定できる
返す値1 または 0 固定任意の値を返せる
数式の長さ短いやや長い
「より大きい」判定不向き簡単
向いている場面0/1のフラグが欲しいとき「合格」「不合格」など文字を返したいとき

シンプルに0と1だけ欲しいならGESTEP関数、返す値をカスタマイズしたいならIF関数を選びましょう。

たとえば判定結果に「達成」「未達」と文字を返したい場合は、IF関数が必要です。

=IF(B2>=1000000, "達成", "未達")

一方、判定結果を集計したい・グラフのデータソースにしたいなら、GESTEP関数が便利ですね。

GESTEP関数とDELTA関数の違い

DELTA関数は「2つの数値が等しいかどうか」を判定して1または0を返します。一方、GESTEP関数は「以上かどうか」の判定です。

比較項目GESTEP関数DELTA関数
判定内容数値 >= しきい値数値1 = 数値2
用途しきい値判定一致判定
引数の数1〜2個1〜2個
エンジニアリング関数はいはい

どちらもエンジニアリング関数で、結果が0か1で返ってくるのが共通点ですね。「在庫数が目標と一致しているか」を見たいならDELTA、「在庫数が目標以上か」を見たいならGESTEP、と使い分けましょう。

GESTEP関数とCOUNTIF関数の使い分け

「基準を超えた件数」を数えたいだけなら、COUNTIF関数のほうがシンプルです。

=COUNTIF(A2:A10, ">=70")

GESTEP関数は「個々の判定結果を一覧で残したい」「他の計算と組み合わせたい」ときに使うのが効率的です。たとえば「達成者にだけボーナスを計算する」といった処理なら、GESTEP関数の0/1を別の計算式に組み込めます。

=B2*GESTEP(C2, 1000000)*0.05

このように「達成したらボーナス(売上の5%)、未達なら0」という計算がスッキリ書けますよ。

GESTEP関数とBITAND関数の関係

BITAND関数は2進数のビット単位AND演算を行う関数で、GESTEP関数とは用途が違います。ただし、GESTEP関数で生成した0/1のフラグを複数組み合わせて、AND条件を表現するときにBITAND関数を使うこともあります。

たとえば「売上目標達成 かつ 利益率5%以上」の両方を満たす担当者を判定したい場合、次のように書けます。

=BITAND(GESTEP(B2, 1000000), GESTEP(C2, 0.05))

両方が1なら結果は1、どちらかが0なら結果は0になります(実際には =GESTEP(B2,1000000)*GESTEP(C2,0.05) のほうが直感的かもしれませんね)。

GESTEP関数を使うときのヒント

条件付き書式と組み合わせる

GESTEP関数の結果(0か1)は、条件付き書式と相性抜群です。「結果が1のセルを緑色、0のセルを赤色」と設定すれば、達成・未達成が一目でわかるシートになります。

KPIダッシュボードやプロジェクト進捗表など、状況をひと目で把握したい場面で活用してみてください。

グラフのデータソースとして使う

達成数の推移を時系列で見たいときも、GESTEP関数で0/1のフラグ列を作っておくと便利です。月ごとの達成者数を棒グラフにしたり、累計達成率を折れ線グラフにしたりするのが楽になります。

ピボットテーブルで集計する

GESTEP関数の結果を集計列として持たせれば、ピボットテーブルで「部門別の達成者数」「月別の達成率」など多角的に集計できます。0と1の数値データなので、合計・平均がそのまま意味のある値(達成数・達成率)になるのがポイントです。

まとめ

ExcelのGESTEP関数は、数値がしきい値以上かどうかを0と1で返すシンプルな関数です。

この記事のポイントをおさらいしておきましょう。

  • GESTEP関数は「数値 >= しきい値」なら 1、そうでなければ 0 を返す
  • しきい値を省略すると0と比較される(正負の判定に使える)
  • 数値としきい値が等しい場合は 1 を返す(「以上」の判定)
  • 売上目標達成・品質基準判定・予算比較など、フラグ管理に最適
  • SUMやSUMPRODUCTと組み合わせれば、基準を超えた件数や達成率をカウントできる
  • IF関数より数式がコンパクトなので、0/1のフラグが欲しいときに便利
  • 文字列で結果を返したいならIF関数、数値の一致判定ならDELTA関数、件数だけ数えるならCOUNTIF関数を使い分けよう
  • 条件付き書式やピボットテーブルとの組み合わせで、ダッシュボードづくりに活躍する

合格判定や達成チェックなど、「超えたか・超えていないか」をサッと知りたい場面で、ぜひ使ってみてください。0と1のシンプルな返り値は、応用次第でとても強力な武器になりますよ。

タイトルとURLをコピーしました