スプレッドシートで「A1 が B1 より大きいか」を判定したいとき、多くの人は =A1>B1 のように > 演算子を使うはずです。実は Google スプレッドシートには、大なり判定専用の GT関数 という関数も用意されています。
「演算子で書けるのに、わざわざ関数?」と思いますよね。実は IF関数や Apps Script で数式を生成する場面では、関数として書ける方が便利なこともあるんですよ。
この記事では、スプレッドシートのGT関数の構文・使い方を解説します。> 演算子との違いや GTE / LT / LTE関数との使い分け、実例つきでまとめました。
スプレッドシートのGT関数とは?
スプレッドシートのGT関数は、value1 が value2 より大きいかを判定する 比較用の関数 です。結果は TRUE または FALSE で返ります。=A1>B1 と書く代わりに =GT(A1, B1) と書けます。
GT は英語の Greater Than(大なり) の頭文字で、「ジーティー」と読みます。「より大きい」を意味する数学記号 > の関数版だと思えば分かりやすいですね。
実は GT関数は Google スプレッドシート固有の関数で、Microsoft Excel には存在しません。「Excelからスプレッドシートに移ってきて初めて知った」という方も多いのではないでしょうか。
スプレッドシートには GT の仲間として、GTE・LT・LTE・EQ・NE があります。これらは比較演算子関数と呼ばれ、6種類が一通り揃っています。それぞれ > >= < <= = <> の演算子と同じ結果を返しますが、関数として書きたい場面で活躍しますよ。
大なりはGT、以上はGTE
GT関数は 「より大きい」専用 の関数です。「以上(同値も含める)」を判定したい場合は、GTE関数を使います。「大なりはGT、以上はGTE」と覚えておくと迷いません。
詳しい使い方は スプレッドシートのGTE関数の使い方 をあわせてどうぞ。
GT関数の構文と引数
GT関数の構文はとてもシンプルです。
=GT(value1, value2)
引数は次の2つだけです。
| 引数 | 必須 | 内容 |
|---|---|---|
| value1 | 必須 | 比較する値(左辺) |
| value2 | 必須 | 比較される値(右辺) |
戻り値は次のいずれかです。
value1 > value2のとき → TRUEvalue1 <= value2のとき → FALSE
引数は2つで固定です。3つ以上の値を比較することはできません。また、引数はスカラー値(単一の値)のみ対応で、A1:A10 のようなセル範囲を直接渡すことはできません。
GT関数の基本的な使い方
実際のサンプルで動きを見ていきましょう。
例1: 売上が目標を超えたかチェック
| 行 | A: 担当者 | B: 売上 | C: 目標 | D: 達成判定 |
|---|---|---|---|---|
| 2 | 山田 | 120000 | 100000 | =GT(B2, C2) |
| 3 | 佐藤 | 95000 | 100000 | =GT(B3, C3) |
| 4 | 鈴木 | 100000 | 100000 | =GT(B4, C4) |
D2 の結果は TRUE、D3 は FALSE、D4 も FALSE(同値は「より大きい」に該当しない)になります。=B2>C2 と書いても同じ結果ですよ。
D4 のように同値が FALSE になる点に注意してください。「目標達成」を「目標以上」と解釈したい場合は、GT ではなく GTE関数を使います。
例2: 数値を直接入れる
セル参照ではなく、直接数値を入れることもできます。
=GT(10, 5) → TRUE
=GT(3, 7) → FALSE
=GT(100, 100) → FALSE(同値は FALSE)
=GT(-5, -10) → TRUE(マイナス同士の比較)
マイナス同士でも数学のルールどおりに判定されます。-5 > -10 は TRUE です。
例3: 日付の比較にも使える
GT関数は数値だけでなく、日付の比較にも使えます。日付はスプレッドシート内部では数値として扱われるためです。
=GT(DATE(2026,5,1), DATE(2026,4,30)) → TRUE(5/1 は 4/30 より後)
=GT(A2, TODAY()) → A2 が今日より未来なら TRUE
「期限を過ぎているか」「未来の日付か」をチェックしたいときに便利ですね。
GT関数と大なり演算子(>)の違い
「結局、> 演算子で書くのと何が違うの?」という疑問はもっともです。両者を比較してみましょう。
演算子 vs GT関数 比較表
| 観点 | 演算子 > | GT関数 |
|---|---|---|
| 記述の長さ | 短い(=A1>B1) | やや長い |
| 引数の数 | 2つ | 2つ固定 |
| セル範囲指定 | 不可(個別指定) | 不可(スカラー専用) |
| ARRAYFORMULA | 使える | 使えない(後述) |
| Apps Script から数式生成 | 文字列結合がやや手間 | 関数呼び出しで読みやすい |
| Excel との互換性 | 互換あり | Excel 非対応 |
| 一般的な使用頻度 | 高い | 低い |
普段の手入力では > 演算子の方が短くて速いです。GT関数が活きるのは、Apps Script や API で数式文字列を組み立てる場面ですね。あとは「大小比較をしている」と関数名で明示したい場面にも向いています。
Apps ScriptでGTを使う理由
たとえば Apps Script でセルに数式を書き込む場面を考えてみましょう。> 演算子で組み立てると、文字列連結が少し読みにくくなります。
// 演算子版(文字列結合がやや煩雑)
cell.setFormula('=' + cell1 + '>' + cell2);
// GT関数版(関数呼び出しで構造が見える)
cell.setFormula('=GT(' + cell1 + ', ' + cell2 + ')');
引数の境目がカンマで区切られるため、後から見ても何を比較しているか分かりやすいですよね。複雑な数式生成ロジックでは、この差がコードの可読性に効いてきますよ。
GT関数とIF関数の組み合わせ
GT関数の戻り値は TRUE / FALSE なので、IF関数の条件部分にそのまま入れられます。実務ではこのパターンが一番よく使われます。
達成・未達成のラベルを付ける
=IF(GT(B2, C2), "達成", "未達成")
B2(売上)が C2(目標)より大きければ「達成」、そうでなければ「未達成」と表示されます。=IF(B2>C2, "達成", "未達成") と同じ結果ですが、関数として書きたいときに使えますよ。
条件付き書式の数式に使う
条件付き書式の「カスタム数式」でも GT関数が使えます。
=GT($B2, 100000)
これで売上が10万円を超えた行に色を付ける、といった使い方ができます。> 演算子でも同じことができますが、関数で揃えたい場面で活用してください。
GT関数とFILTER関数の組み合わせ
FILTER関数の条件部分にも GT関数が使えます。ただし FILTER は配列を受け取るため、GT関数ではなく > 演算子を使うのが基本です。
// 演算子版(FILTER の標準的な書き方)
=FILTER(A2:C100, B2:B100 > 100000)
// GT を使うとエラーになる
=FILTER(A2:C100, GT(B2:B100, 100000)) → エラー
GT関数はスカラー値専用のため、B2:B100 のような範囲を直接渡せません。FILTER と組み合わせる場合は > 演算子を使いましょう。
比較演算子関数シリーズ(GT / GTE / LT / LTE / EQ / NE)
GT関数は、Google スプレッドシートに用意された6つの比較演算子関数のひとつです。残り5つもセットで覚えておくと便利です。
| 関数 | 演算子 | 構文 | 結果 |
|---|---|---|---|
| GT | > | GT(value1, value2) | value1 が大きければ TRUE |
| GTE | >= | GTE(value1, value2) | value1 が以上なら TRUE |
| LT | < | LT(value1, value2) | value1 が小さければ TRUE |
| LTE | <= | LTE(value1, value2) | value1 が以下なら TRUE |
| EQ | = | EQ(value1, value2) | value1 と value2 が等しければ TRUE |
| NE | <> | NE(value1, value2) | value1 と value2 が等しくなければ TRUE |
すべて引数は2つだけ、という共通仕様です。シンプルですよね。それぞれの詳しい使い方は別記事にまとめています。GTE関数の使い方・LT関数の使い方・LTE関数の使い方 もあわせて読んでみてくださいね。
GTとGTEの違い(同値の扱い)
GT関数と GTE関数の違いは「同値のときの戻り値」だけです。
| 比較 | GT(value1, value2) | GTE(value1, value2) |
|---|---|---|
| value1 > value2 | TRUE | TRUE |
| value1 = value2 | FALSE | TRUE |
| value1 < value2 | FALSE | FALSE |
「目標達成」「合格点」のように同値も含めたいときは GTE を使います。「真に上回った」ことを判定したいときは GT を選びましょう。
ARRAYFORMULAとの組み合わせ
複数行で同じ大小比較をしたいとき、ARRAYFORMULA と組み合わせれば1セルだけで全行に展開できます。
複数行を一括で比較する
ただし GT関数はスカラー値専用のため、ARRAYFORMULA で配列展開する用途には向いていません。範囲を一括で比較したい場合は、> 演算子を使う方が確実です。
=ARRAYFORMULA(B2:B100 > C2:C100)
これで B 列と C 列の同じ行同士を比較した結果(TRUE / FALSE)が、1セルから縦に展開されます。GT を無理に使うより、こちらの方がシンプルで動作も安定していますよ。
達成数を一気にカウントする
範囲比較の結果と SUMPRODUCT を組み合わせると、達成行数を1セルでカウントできます。
=SUMPRODUCT((B2:B100 > C2:C100) * 1)
* 1 で TRUE/FALSE を 1/0 に変換しているのがポイントです。COUNTIF が使えない複雑な条件でも、この書き方で対応できますよ。
ExcelにGT関数はある?
結論からいうと、Microsoft Excel には GT という名前の関数は存在しません。
Excel で大なり比較を関数で書きたい場合、選択肢は限られます。素直に > 演算子を使うか、IF関数の条件部分に組み込むのが一般的です。
Excelには非対応|互換性の注意点
Google スプレッドシートで作ったファイルを .xlsx 形式で書き出す予定がある場合は注意が必要です。GT関数は Excel で開くと #NAME? エラーになってしまいます。
Excel と共有する可能性のあるファイルでは、最初から > 演算子で書いておく方が安全ですよ。GT関数は「スプレッドシート専用ファイル」に向いています。Apps Script から数式を動的に生成する場面でも活躍します。
よくあるエラーと対処法
GT関数で遭遇しやすいエラーをまとめておきます。
#VALUE!エラー:文字列が混入している
引数に数値として解釈できない文字列が入っているときに発生します。
=GT("abc", 5) → #VALUE!
エラーメッセージには次のように表示されます。
Function GT parameter 1 expects number values.
対処法は、引数のセルが数値型になっているか確認することです。
文字列として保存されている数字(テキスト形式の "100" など)が原因のことも多いです。VALUE関数(文字列を数値に変換する関数)と組み合わせるのも有効ですよ。=GT(VALUE(A1), VALUE(B1)) と書けば回避できます。
文字列同士の比較は「演算子」を使う
GT関数は数値専用です。文字列の辞書順比較をしたい場合は、> 演算子を直接使ってください。
=GT("apple", "banana") → #VALUE!
="apple" > "banana" → FALSE(演算子なら文字列もOK)
文字列の大小比較が必要な場面は実務ではほぼありません。もし必要なら、文字数の比較(LEN関数)や辞書順並び替え(SORT関数)で代替するのが現実的ですよ。
#NAME? エラー
関数名のスペルミスが原因です。GT は2文字なので、GET や GTE と間違えやすいです。GTE は別の関数(以上判定)なので、目的に合っているか必ず確認しましょう。
範囲を渡したときの対処
GT関数は引数がスカラー値のみ対応です。範囲を比較したい場合は次の方法を使います。
| 方法 | 書き方 | コメント |
|---|---|---|
| 演算子で範囲比較 | =ARRAYFORMULA(A1:A10>B1:B10) | 一番シンプル |
| FILTER で抽出 | =FILTER(A2:C10, B2:B10>100) | 条件で絞り込む |
| GT を1セルずつ | =GT(A2, B2) をコピー | 行が少ないときのみ |
実務では ARRAYFORMULA か演算子のパターンが扱いやすいですよ。
まとめ
スプレッドシートのGT関数の使い方を解説しました。ポイントを振り返っておきましょう。
- GT関数は
GT(value1, value2)で大なり比較の結果を TRUE / FALSE で返す >演算子と同じ結果を返すが、Google スプレッドシート固有の関数(Excel にはない)- 引数は2つ・スカラー値のみ。範囲比較は ARRAYFORMULA +
>演算子を使う - 同値(A = B)は FALSE。同値も含めたいときは GTE関数を使う
- IF関数の条件部分や Apps Script の数式生成で活躍する
- 同じ系列に GTE / LT / LTE / EQ / NE がある(合計6関数)
普段の手入力では > 演算子の方が短くて速いので、無理して GT関数 に置き換える必要はありません。Apps Script で数式を生成する場面や、関数で明示したい場面で GT関数 を選びましょう。この使い分けがおすすめです。
