「TRUE関数って、結局なにに使うの?」と疑問に思ったことはありませんか。関数一覧には載っているのに、実際に使っている人を見かけない関数ですよね。
確かにTRUE関数そのものを使う機会は少ないです。しかし、論理値TRUEの仕組みを理解しておくと、世界が変わります。IF関数やAND関数での条件判定、データ入力規則、条件付き書式、SUMPRODUCT関数での集計。こうしたExcelの幅広い機能が、スッと理解できるようになるからです。
この記事では、TRUE関数の基本構文から実務での活用法までを丁寧に解説します。よくある疑問の「TRUE()とTRUEの違い」や、FALSE関数・NOT関数との関係、FAQまでまとめました。実例付きでわかりやすく紹介します。
TRUE関数とは?
TRUE関数は、論理値の「TRUE」を返す関数です。読み方は「トゥルー関数」で、英語の true(真)がそのまま関数名になっています。
「TRUEを返すだけ?」と思うかもしれません。まさにそのとおりで、この関数の役割は論理値TRUEを生成することだけです。
では、なぜこんなシンプルな関数が存在するのでしょうか。理由は歴史的な互換性にあります。Excelの前身ともいえる表計算ソフト「Lotus 1-2-3」がきっかけです。Lotus 1-2-3では、論理値を扱うために関数として記述する必要がありました。ExcelはLotus 1-2-3との互換性を維持するために、TRUE関数とFALSE関数を用意したのです。
現在のExcelではセルに直接「TRUE」と入力すれば論理値として認識されます。そのため、わざわざ =TRUE() と書く必要はほとんどありません。ただし、論理値TRUEそのものはExcelのあらゆる場面で活躍する重要な概念です。
NOTE
TRUE関数は単独で使うより、「論理値TRUEとは何か」を理解するための入り口として価値があります。この記事も、関数の解説と論理値の仕組みをセットで読み進めてください。
TRUE関数の書き方(構文と引数)
基本構文
TRUE関数の構文はとてもシンプルです。
=TRUE()
カッコの中には何も入れません。これだけでセルに「TRUE」と表示されます。
引数の説明
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| (なし) | – | この関数に引数はありません |
引数がない関数は珍しいですが、TRUE関数はまさにそのひとつです。カッコの中を空にしたまま使います。
なお、TRUE関数と対になる関数がExcelのFALSE関数の使い方|偽の値を返す・TRUEとの使い分けです。FALSE関数も =FALSE() と書くだけで、論理値FALSEを返します。
NOTE
対応環境: Excel 2007以降の全バージョン、Microsoft 365、Googleスプレッドシートで使用できます。
TRUE関数の基本的な使い方
まずは一番シンプルな使い方を見てみましょう。
任意のセル(たとえばA1)に次の数式を入力します。
=TRUE()
Enterキーを押すと、セルに「TRUE」と表示されます。
ここで大事なポイントがあります。この「TRUE」は文字列ではなく論理値だということです。見た目が同じでも、文字列の “TRUE” と論理値の TRUE は別物です。この違いは他の関数と組み合わせるときに影響します。覚えておいてくださいね。
論理値かどうかを確認するには、B1セルに次の数式を入力してみてください。
=ISLOGICAL(A1)
結果がTRUEと表示されれば、A1の値は論理値です。詳しくはExcelのISLOGICAL関数の使い方|TRUE/FALSEの論理値を判定する方法で解説しています。
論理値TRUE/FALSEの仕組みを理解する
TRUE関数を使いこなす前に、論理値そのものの仕組みを押さえておきましょう。ここを理解すると、他の関数の動きまで一気に見通せるようになります。
論理値は「真」と「偽」の2つだけ
Excelの論理値は、TRUE(真)とFALSE(偽)の2種類しかありません。条件が成り立てばTRUE、成り立たなければFALSEを返す。これがExcelの判定すべての土台です。
たとえば次の数式を見てください。
=A1>=100000
これはA1が100,000以上ならTRUE、未満ならFALSEを返します。比較演算子だけで論理値が生成されるんですね。
TRUEは1、FALSEは0として計算できる
論理値のいちばん面白い特性が、数値として計算に使えることです。Excelの内部では、TRUEは数値の1、FALSEは数値の0として扱われます。
| 論理値 | 計算上の値 |
|---|---|
| TRUE | 1 |
| FALSE | 0 |
この「TRUE=1、FALSE=0」の関係は、とても重要です。あとで紹介する数値変換テクニックやSUMPRODUCT関数での集計に直結します。論理値を理解するうえで最も大切なポイントなので、ぜひ覚えておいてください。
論理値の大小比較
少しマニアックですが、論理値どうしは大小比較もできます。Excelでは TRUE > FALSE という関係が成り立ちます。
=TRUE()>FALSE()
この数式の結果はTRUEです。1と0の比較なので、当然1のほうが大きいわけですね。実務で使う場面は少ないですが、論理値が数値として扱われていることがよくわかる例です。
TIP
「論理値=数値1/0」という感覚が身につくと、条件付き書式・データ入力規則・配列数式といった一見難しそうな機能も、すべて「結果がTRUEかどうか」というシンプルな判定に見えてきます。
TRUE関数・論理値TRUEの実践的な使い方・応用例
ここからは、論理値TRUEが実務で役立つ場面を具体的に見ていきましょう。
IF関数との組み合わせ
IF関数の戻り値としてTRUE/FALSEを返す書き方は、実務でよく使われるパターンです。
たとえば、A1セルの売上が目標の100,000円以上かどうかを判定するケースを考えてみましょう。
=IF(A1>=100000, TRUE(), FALSE())
この数式はA1が100,000以上なら「TRUE」、未満なら「FALSE」を返します。
ただし、実はこの書き方はもっとシンプルにできます。
=A1>=100000
比較演算子だけで、結果は自動的に論理値TRUE/FALSEになります。IF関数で明示的にTRUE()を返す必要はないんですね。
IF関数の基本を確認したい方は、ExcelのIF関数の使い方|基本から複数条件・ネストまで実例で解説もあわせてどうぞ。複数条件をスッキリ書きたいときはExcelのIFS関数の使い方|IFネストを卒業して複数条件をスッキリ書く方法も参考になります。
AND関数・OR関数での条件判定
複数の条件を組み合わせるとき、AND関数やOR関数の結果もTRUE/FALSEの論理値です。
=AND(A1>=100000, B1>=50000)
この数式は、A1が100,000以上「かつ」B1が50,000以上のときにTRUEを返します。どちらか一方でも条件を満たさなければFALSEです。
=OR(A1>=100000, B1>=50000)
こちらはA1が100,000以上「または」B1が50,000以上のときの判定です。どちらかを満たせばTRUEを返します。
AND関数やOR関数をIF関数と組み合わせるパターンは特に実務で頻出です。詳しくはExcelのAND関数の使い方|IF組み合わせと複数条件を解説とExcelのOR関数の使い方|IF組み合わせと複数条件を解説で解説しています。
データ入力規則での活用
論理値TRUEは、データ入力規則のカスタム数式でも活躍します。
たとえば「A列には正の数値しか入力できないようにしたい」という場合を考えてみましょう。データの入力規則でカスタム数式を次のように設定します。
=AND(ISNUMBER(A1), A1>0)
この数式がTRUEを返す場合だけ入力が許可されます。入力規則の裏側では、常に「数式の結果がTRUEかどうか」を判定しているわけです。
入力規則の設定手順や実務パターンは、Excelのデータの入力規則完全ガイド|入力ミスを防ぐ3つの設定と実務パターンで詳しく解説しています。
条件付き書式での活用
データ入力規則と同じく、条件付き書式も「数式の結果がTRUEかどうか」で書式を適用する仕組みです。
たとえば「在庫が10未満の行に色を付けたい」という場合を考えてみましょう。条件付き書式のルールに次の数式を設定します。
=$B2<10
この数式がTRUEになる行だけ、指定した塗りつぶし色が適用されます。比較演算子の結果(論理値)がそのまま書式のオン・オフを切り替えているわけですね。
条件付き書式の細かい設定方法は、Excelの条件付き書式完全ガイド|色付け・データバー・アイコンを実務で使い倒すを参考にしてみてください。
COUNTIF関数で論理値をカウント
論理値TRUEが入ったセルの数を数えたいときは、COUNTIF関数が使えます。
=COUNTIF(A1:A10, TRUE)
A1からA10の範囲で、論理値TRUEが入っているセルの数を返します。チェック結果をTRUE/FALSEで管理している表で「完了した項目がいくつあるか」を数えるときに便利ですよ。
COUNTIF関数の詳しい使い方は、ExcelのCOUNTIF関数の使い方|条件に合うセルを数える方法を参考にしてみてください。
論理値の数値変換テクニック
「論理値TRUE/FALSEの仕組み」で説明したとおり、TRUEは数値の1、FALSEは数値の0として計算に使えます。この特性を利用した便利なテクニックを紹介します。
| 数式 | 結果 | 説明 |
|---|---|---|
=TRUE()*1 | 1 | 掛け算で数値に変換 |
=FALSE()*1 | 0 | FALSEは0になる |
=TRUE()+TRUE() | 2 | 論理値同士の足し算も可能 |
=--TRUE() | 1 | ダブルマイナスでも変換できる |
=TRUE()+0 | 1 | 0を足す方法でも変換可能 |
ダブルマイナス(--)は短くて便利な書き方です。マイナスを2回かけることで、論理値をいったん数値に変換し、符号を元に戻す仕組みになっています。
NOTE
論理値TRUEをそのままSUM関数やCOUNT関数に渡しても、加算・カウントされません。これは論理値と数値が別の型として扱われるためです。集計したいときは
*1や+0などの算術演算を1回挟んで、数値に変換してから渡してください。
SUMPRODUCT関数での活用
この「TRUE=1、FALSE=0」の関係は、SUMPRODUCT関数で条件付き集計をするときに特に威力を発揮します。
=SUMPRODUCT((A1:A10="完了")*1, B1:B10)
この数式は、A列が「完了」の行だけB列の値を合計します。(A1:A10="完了") の部分がTRUE/FALSEの配列を返します。それを *1 で数値(1/0)に変換して掛け算することで、条件に合う行だけを集計できる仕組みです。
SUMPRODUCT関数の詳しい使い方は、ExcelのSUMPRODUCT関数の使い方|掛けて合計・複数条件・OR集計を完全ガイドで解説しています。
チェックリスト管理での活用
論理値TRUE/FALSEは、進捗管理やチェックリストとの相性が抜群です。
たとえばタスク一覧で「完了したらTRUE、未完了はFALSE」と入力しておくとします。すると、次のような集計がワンタッチでできます。
=COUNTIF(B2:B20, TRUE)
この数式で完了タスクの数がわかります。全体の件数で割れば進捗率も計算できますね。さらにExcel 365の挿入チェックボックスを使うと、クリックでTRUE/FALSEが切り替わります。より実務的なチェックリストが作れますよ。
TRUE()とTRUEの違い
ここは特によく聞かれるポイントです。
結論から言うと、=TRUE() と TRUE は同じ結果になります。どちらもセルに論理値のTRUEが入ります。
| 入力方法 | セルの表示 | 値の種類 | 備考 |
|---|---|---|---|
=TRUE() | TRUE | 論理値 | 関数として入力 |
| TRUE(直接入力) | TRUE | 論理値 | Excelが自動認識 |
| “TRUE”(ダブルクォーテーション付き) | TRUE | 文字列 | 見た目は同じだが別物 |
注意したいのは3つ目のパターンです。ダブルクォーテーションで囲むと文字列になってしまいます。見た目は同じ「TRUE」でも、論理値と文字列では他の関数と組み合わせたときの動作が変わるので気をつけてください。
たとえば、次の数式で違いが確認できます。
=IF(A1=TRUE, "論理値", "それ以外")
A1に論理値TRUEが入っていれば「論理値」、文字列”TRUE”が入っていれば「それ以外」と表示されます。
文字列と論理値の混同に注意
よくあるのが、セルに文字列の “TRUE” が入っているのに論理値として扱おうとするケースです。
=COUNTIF(A1:A10, TRUE)
この数式は論理値TRUEだけをカウントします。文字列の”TRUE”はカウントされません。もし文字列も含めて数えたい場合は、次のように書きます。
=COUNTIF(A1:A10, "TRUE")
論理値か文字列かの判別に迷ったときは、ExcelのISLOGICAL関数の使い方|TRUE/FALSEの論理値を判定する方法を活用してください。数値かどうかを見分けたいときはExcelのISNUMBER関数の使い方|数値と文字列型数字の見分け方も解説も役立ちます。
数式でのカッコの書き忘れ
数式の中でTRUE関数を使うとき、カッコを忘れると意味が変わると心配になるかもしれません。
=IF(A1>0, TRUE(), "NG")
これは論理値TRUEを返します。次の書き方でも同じ結果です。
=IF(A1>0, TRUE, "NG")
実は、数式内では TRUE() でも TRUE でも同じ結果になります。Excelが自動で論理値として認識してくれるからです。ただし、他の表計算ソフトとの互換性を意識するなら TRUE() と書いておくと安心です。
エラーが出てしまったときの対処には、ExcelのIFERROR関数の使い方|エラー処理の基本と実務活用も参考になりますよ。
TRUE関数とFALSE関数・NOT関数の関係
TRUE関数を理解したら、対になる関数もセットで押さえておくと便利です。
FALSE関数との対比
FALSE関数は、TRUE関数のちょうど反対で、論理値FALSEを返します。
=FALSE()
セルに「FALSE」と表示されます。TRUE関数と同じく引数はありません。
両者の関係を整理すると、次のようになります。
| 関数 | 返す値 | 計算上の値 |
|---|---|---|
=TRUE() | TRUE | 1 |
=FALSE() | FALSE | 0 |
FALSE関数の詳しい使い方や、TRUEとの使い分けはExcelのFALSE関数の使い方|偽の値を返す・TRUEとの使い分けで解説しています。
NOT関数で論理値を反転する
論理値を反転させたいときは、NOT関数を使います。NOT関数はTRUEをFALSEに、FALSEをTRUEに切り替える関数です。
=NOT(TRUE())
この数式の結果はFALSEになります。逆に =NOT(FALSE()) ならTRUEです。
NOT関数は「〜でないとき」という条件を作るのに便利です。たとえば「在庫が0でない行だけ処理したい」といった場面で活躍します。詳しくはExcelのNOT関数の使い方|条件否定とIF組み合わせを解説を参考にしてみてください。
論理関数の早見表
ここまで登場した論理関連の関数を、用途別に整理しておきます。
| 関数 | 役割 | 例 |
|---|---|---|
| TRUE | 論理値TRUEを返す | =TRUE() |
| FALSE | 論理値FALSEを返す | =FALSE() |
| NOT | 論理値を反転する | =NOT(A1>0) |
| AND | すべての条件がTRUEならTRUE | =AND(A1>0, B1>0) |
| OR | いずれかの条件がTRUEならTRUE | =OR(A1>0, B1>0) |
| IF | 条件で処理を分岐する | =IF(A1>0, "○", "×") |
論理値TRUE/FALSEを軸にすると、これらの関数がすべてつながって見えてきますね。
GoogleスプレッドシートでのTRUE関数
TRUE関数はGoogleスプレッドシートでも同じように使えます。
=TRUE()
Excelと同じく、セルに論理値TRUEが入ります。FALSE関数(=FALSE())も同様です。論理値の数値変換(TRUE=1、FALSE=0)も問題なく使えます。COUNTIFでのカウントや条件付き書式での活用も、Excelとほぼ同じ感覚で使えますよ。
TIP
Googleスプレッドシートにはチェックボックス機能があり、チェックを入れるとセルの値がTRUE、外すとFALSEになります。タスク管理表で COUNTIF(範囲, TRUE) と組み合わせると、完了件数を自動集計できて便利です。
ExcelとGoogleスプレッドシートで論理値の扱いに大きな違いはありません。どちらの環境でも、論理値TRUEの基本を理解しておけば応用が効きます。
TRUE関数のよくある質問
最後に、TRUE関数や論理値TRUEについてよく寄せられる質問をまとめました。
TRUE関数とTRUE(直接入力)は何が違いますか?
結果はまったく同じで、どちらもセルに論理値TRUEが入ります。=TRUE() は関数として、TRUE は直接入力として認識されるだけの違いです。現在のExcelでは、わざわざ関数で書く必要はほとんどありません。
なぜTRUEをわざわざ関数で書くのですか?
歴史的な互換性のためです。Excelの前身であるLotus 1-2-3では、論理値を関数として記述する必要がありました。その互換性を保つために、TRUE関数とFALSE関数が用意されています。
TRUEを1として計算したいのに、足し算されません
SUM関数やCOUNT関数は、論理値をそのままでは加算・カウントしません。論理値を 1 や +0 などの算術演算で一度数値に変換してから集計してください。たとえば =SUMPRODUCT((A1:A10=TRUE)1) のように書きます。
セルに「TRUE」と表示されているのにCOUNTIFで数えられません
そのセルが論理値TRUEではなく、文字列の “TRUE” になっている可能性があります。ISLOGICAL関数で確認してみてください。文字列を数える場合は =COUNTIF(範囲, "TRUE") のようにダブルクォーテーションで囲みます。
IF関数の戻り値にTRUE/FALSEを使うべきですか?
多くの場合、比較演算子だけで論理値TRUE/FALSEが返るので不要です。たとえば =A1>=100000 だけで判定できます。ただし数式の意図を明確に示したいときは、あえて IF(条件, TRUE(), FALSE()) と書く場面もあります。
TRUEと1はExcelの中では同じ値ですか?
算術演算ではTRUEは1として扱われますが、型としては論理値であり数値そのものではありません。そのため、ISLOGICAL関数ではTRUEを論理値と判定し、ISNUMBER関数では数値ではないと判定します。
まとめ
TRUE関数は、論理値TRUEを返すだけのシンプルな関数です。Lotus 1-2-3との互換性のために存在しており、現在のExcelではTRUEと直接入力すれば同じ結果が得られます。
ただし、論理値TRUEそのものはExcelのさまざまな機能で重要な役割を果たしています。
- IF関数の条件判定: 比較演算子の結果はTRUE/FALSEの論理値になる
- AND関数・OR関数: 複数条件の判定結果もTRUE/FALSE
- データ入力規則・条件付き書式: カスタム数式がTRUEを返すかどうかで動作を制御
- COUNTIF関数: 論理値TRUEのセルをカウントできる
- 数値変換: TRUE=1、FALSE=0として計算やSUMPRODUCT関数での集計に活用
- FALSE関数・NOT関数: TRUEと対になる論理関数として連携できる
TRUE関数自体を使う場面は少ないかもしれません。それでも「論理値TRUEとは何か」を理解しておくと、Excelの関数全体への理解がぐっと深まります。ぜひ今回の内容を、普段のExcel作業に活かしてみてくださいね。