「この番号って奇数? 偶数?」――数件なら目で見てわかりますよね。
でも100行を超えるリストだと、ひとつひとつ確認するのは現実的ではありません。見落としも出てきます。
そんなときに頼りになるのが、スプレッドシートの ISODD関数 です。セルの値が奇数かどうかを TRUE / FALSE で一発判定してくれます。
この記事では、ISODD関数の基本から実務で役立つ活用パターンまでまとめて紹介します。
スプレッドシートのISODD関数とは?
ISODD関数(読み方: いず おっど)は、指定した数値が奇数かどうかを判定する関数です。
名前は英語の「IS ODD(奇数ですか?)」からきています。対象が奇数であれば TRUE、偶数なら FALSE を返します。
ペア関数として、偶数かどうかを判定するISEVEN関数があります。セットで覚えておくと便利ですよ。
ISODD関数にできることをまとめると、次のとおりです。
- 数値が奇数かどうかをTRUE/FALSEで返す
- IF関数と組み合わせて奇数・偶数で処理を分岐する
- 条件付き書式で奇数行に色を付ける
- FILTER関数で奇数番号のデータだけ抽出する
NOTE
ISODD関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りでも安心です。
ISODD関数の書き方(構文と引数)
基本構文
=ISODD(値)
カッコの中に、奇数かどうか判定したい数値を指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 値 | 必須 | 奇数かどうか判定したい数値またはセル参照 |
引数は1つだけで、省略はできません。セル参照・直接値・数式の結果のいずれも指定できます。
TIP
小数を指定した場合は、小数点以下が切り捨てられてから判定されます。たとえば
=ISODD(4.9)は整数部分の 4 で判定されるため FALSE です。
ISODD関数の基本的な使い方
まずはシンプルな例で動きを確認してみましょう。
値の種類ごとの判定結果
さまざまなデータをISODD関数で判定すると、次のような結果になります。
| 数式 | 結果 | 理由 |
|---|---|---|
=ISODD(3) | TRUE | 3 は奇数 |
=ISODD(2) | FALSE | 2 は偶数なので FALSE |
=ISODD(0) | FALSE | 0 は偶数扱い |
=ISODD(-3) | TRUE | 負の奇数も TRUE |
=ISODD(4.9) | FALSE | 小数点以下切り捨て → 4 で判定 |
=ISODD("ABC") | #VALUE! | 文字列はエラー |
0 の扱いは覚えておきましょう。0 は偶数として扱われるため FALSE になります。
セル参照で判定する
セル参照を使えば、特定のセルの値が奇数かどうかを確認できます。

=ISODD(A1)

A1 に「3」が入っていれば TRUE を返します。「4」なら FALSE です。
数式の結果を判定する
ISODD関数の引数に数式を直接入れることもできます。
=ISODD(A1+B1)

A1 と B1 の合計が奇数なら TRUE です。合計が偶数なら FALSE になります。
ISODD関数の実践的な使い方・応用例
ここからは、実務で使える具体的なパターンを紹介します。
IF関数と組み合わせて奇数・偶数を表示する
番号が奇数か偶数かに応じてラベルを付けたい場面で使えます。
=IF(ISODD(A2),"奇数","偶数")

A2 が奇数なら「奇数」、偶数なら「偶数」と表示します。社員番号やロット番号で振り分けルールがある場合に便利ですよ。
条件付き書式で奇数行を色分けする
表の行番号が奇数のときだけ背景色を付ければ、交互に色が付いた見やすい表を作れます。
- 対象範囲を選択します
- 「表示形式」メニュー →「条件付き書式」を選択します
- 「カスタム数式」を選びます
- 数式欄に
=ISODD(ROW())と入力します - 好きな書式(薄い青の塗りつぶしなど)を設定します
これで奇数行だけが色分けされます。ROW関数と組み合わせるのがポイントですよ。
TIP
偶数行に色を付けたい場合は
=ISEVEN(ROW())に変えるだけです。偶数判定の詳しい使い方はISEVEN関数の解説記事をご覧ください。
FILTER関数で奇数番号のデータだけ抽出する
商品番号や座席番号が奇数のものだけを取り出したいときは、FILTER関数と組み合わせると便利です。
=FILTER(A2:B20,ISODD(A2:A20))

A列の番号が奇数のデータだけが抽出されます。イベントの座席割り当てや、ロット番号によるサンプル抽出などに活用できますよ。
奇数行・奇数値だけを合計する
奇数行のデータだけを合計したいときは、SUMPRODUCT関数と組み合わせます。
=SUMPRODUCT(ISODD(ROW(A2:A20))*A2:A20)
ISODD(ROW(A2:A20)) が各行番号の奇偶を判定します。TRUE の行だけが掛け算されるため、奇数行の値だけが合計されます。
セルの値自体が奇数のものだけを合計したい場合はこちらです。
=SUMPRODUCT(ISODD(A2:A20)*A2:A20)
「行番号が奇数」と「値が奇数」は意味が違うので、目的に合わせて使い分けてくださいね。
シリアル番号で2グループに振り分ける
製品のシリアル番号やチケット番号が奇数か偶数かで、処理先を振り分けるケースです。
=IF(ISODD(A2),"グループA","グループB")
A2 が奇数なら「グループA」、偶数なら「グループB」です。たとえばイベント座席の左右ブロック分けや、検品ラインの振り分けに活用できます。
ISODD × COUNTIF で奇数データの個数を数える
リスト内にある奇数の個数を数えたいときは、SUMPRODUCT関数と組み合わせます。
=SUMPRODUCT(ISODD(A2:A20)*1)
ISODD が返す TRUE を *1 で数値化し、合計することで奇数の個数が求まります。在庫番号やIDの分布を確認するときに使えますよ。
ISODD関数とISEVEN関数の違い
ISODD関数には対になるISEVEN関数があります。判定の結果がちょうど真逆になる関係です。
| 入力値 | ISODD の結果 | ISEVEN の結果 |
|---|---|---|
| 3(奇数) | TRUE | FALSE |
| 2(偶数) | FALSE | TRUE |
| 0 | FALSE | TRUE |
| -3(負の奇数) | TRUE | FALSE |
| 4.9(小数) | FALSE(4で判定) | TRUE(4で判定) |
つまり =ISODD(A1) と =NOT(ISEVEN(A1)) は同じ結果です。
使い分けのポイント: 条件式の読みやすさで選んでください。「奇数か?」と聞きたいならISODD、「偶数か?」と聞きたいならISEVENが自然です。
ISODD関数とMOD関数の違い
奇数・偶数の判定にはMOD関数を使う方法もあります。
=MOD(A1,2)=1
この数式も「A1 が奇数なら TRUE」を返します。ISODDとの違いを比較してみましょう。
| 比較項目 | ISODD関数 | MOD関数で判定 |
|---|---|---|
| 数式 | =ISODD(A1) | =MOD(A1,2)=1 |
| 文字列を渡した場合 | #VALUE! エラー | #VALUE! エラー |
| 小数を渡した場合 | 整数部分で判定 | 余りを返す(0.9 など) |
| 0 の判定 | FALSE(偶数扱い) | FALSE(余り 0) |
| 負の数の判定 | 正しく判定(-3 は TRUE) | 負の余りになる場合がある |
| 可読性 | 「奇数か?」が一目でわかる | 「2で割った余りが1」と読み解く必要あり |
使い分けのポイント: 奇数・偶数の判定だけならISODD / ISEVENがシンプルです。「3の倍数か」「5で割った余り」など、2以外の数で割りたいならMOD関数を使いましょう。
TIP
ODD関数とEVEN関数は名前が似ていますが、まったく別の関数です。ODD関数は「奇数に切り上げる」関数、EVEN関数は「偶数に切り上げる」関数で、ISODD / ISEVENの「判定する」関数とは用途が異なります。混同しないように注意してくださいね。
よくあるエラーと対処法
ISODD関数で「思った結果にならない」ケースをまとめました。
| 症状 | 原因 | 対処法 |
|---|---|---|
| #VALUE! エラーが出る | 引数に文字列を指定している | 数値のみ指定する。ISNUMBER関数で事前チェックすると安心 |
| 小数で予想外の結果になる | 小数点以下が切り捨てられている | 4.9 は 4 として判定される(FALSE)。意図と合わない場合は事前にROUND関数で丸める |
| 0 で FALSE になる | 0 は偶数として扱われる | 仕様どおりの動作。0 を特別扱いしたい場合は =IF(A1=0,"ゼロ",IF(ISODD(A1),"奇数","偶数")) で対応 |
| 空白セルで FALSE が返る | 空白セルは 0 として扱われる | 空白を除外するなら =IF(A1="","",ISODD(A1)) |
| 日付セルで予想外の結果になる | 日付はシリアル値(数値)で管理されている | シリアル値の奇偶で判定される。日付の日の奇偶を見たい場合は =ISODD(DAY(A1)) を使う |
Excelとの違い
ISODD関数はExcelとGoogleスプレッドシートで完全に同じ動作です。
| 項目 | Excel | Googleスプレッドシート |
|---|---|---|
| 構文 | =ISODD(数値) | =ISODD(値) |
| 動作 | 奇数ならTRUE | 奇数ならTRUE |
| 小数の扱い | 小数点以下を切り捨て | 小数点以下を切り捨て |
| エラー時 | #VALUE! | #VALUE! |
引数名の表記が若干異なるだけで、機能は完全に同じです。
Excelでの使い方はExcelのISODD関数の記事で詳しく解説しています。
まとめ
ISODD関数は、数値が奇数かどうかを TRUE / FALSE で一発判定してくれるシンプルな関数です。
ポイントを整理します。
- 構文は
=ISODD(値)で、引数は1つだけ - 奇数なら TRUE、偶数なら FALSE を返す
- 0 は偶数として扱われるため FALSE になる
- 小数は整数部分で判定される(4.9 → 4 として FALSE)
- IF関数や条件付き書式と組み合わせるのが実務での定番パターン
- 偶数判定には対になるISEVEN関数を使う
- 2以外の倍数判定にはMOD関数が便利
- ODD関数 / EVEN関数は「切り上げ」関数なので混同に注意
まずは =ISODD(3) で「3は奇数 = TRUE」を試してみてください。
