「この番号って奇数? 偶数?」を手作業で確認していませんか。
数件なら目で見てわかりますが、100行を超えるリストになると見落としが出てきます。
奇数行だけ色を付けたい、奇数番号のデータだけ集計したい。そんなときに便利なのがISODD関数です。
この記事では、ISODD関数の基本から実務で役立つ活用パターンまでまとめて紹介します。
ISODD関数とは?
ISODD関数(読み方: いず おっど)は、指定した数値が奇数かどうかを判定する関数です。
名前は英語の「IS ODD(奇数ですか?)」からきています。
対象が奇数であれば TRUE を返し、偶数の場合は FALSE を返します。0 は偶数扱いなので FALSE です。
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())に変えるだけです。
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)
シリアル番号の奇数・偶数で振り分ける
製品のシリアル番号やチケット番号が奇数か偶数かで処理を分けるケースです。
=IF(ISODD(A2),"グループA","グループB")
A2 が奇数なら「グループA」、偶数なら「グループB」と表示します。イベント座席の左右ブロック分けなどに活用できます。
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関数は名前が似ていますが、まったく別の関数です。ODD関数は「奇数に切り上げる」関数で、ISODD関数は「奇数かどうかを判定する」関数です。混同しないように注意してください。
よくあるエラーと対処法
ISODD関数で「思った結果にならない」ケースをまとめました。
| 症状 | 原因 | 対処法 |
|---|---|---|
| #VALUE! エラーが出る | 引数に文字列を指定している | 数値のみ指定する。ISNUMBER関数で事前に数値か確認すると安心 |
| 小数で予想外の結果になる | 小数点以下が切り捨てられている | 4.9 は 4 として判定される(FALSE)。意図と合わない場合は事前にROUND関数で丸めておく |
| 0 で FALSE になる | 0 は偶数として扱われる | 仕様どおりの動作。0 を特別扱いしたい場合は =IF(A1=0,"ゼロ",IF(ISODD(A1),"奇数","偶数")) で対応 |
| 空白セルで FALSE が返る | 空白セルは 0 として扱われる | 空白を除外するなら =IF(A1="","",ISODD(A1)) |
| 日付セルで TRUE/FALSE が返る | 日付はシリアル値(数値)で管理されている | シリアル値が奇数か偶数かで判定される。日付の奇偶判定には =ISODD(DAY(A1)) のように日の部分を取り出す |
Excelとの違い
ISODD関数はExcelとGoogleスプレッドシートで完全に同じ動作です。
| 項目 | Excel | Googleスプレッドシート |
|---|---|---|
| 構文 | =ISODD(数値) | =ISODD(値) |
| 動作 | 奇数ならTRUE | 奇数ならTRUE |
| 小数の扱い | 小数点以下を切り捨て | 小数点以下を切り捨て |
| エラー時 | #VALUE! | #VALUE! |
引数名の表記が若干異なるだけで、機能は完全に同じです。
Excelでの使い方はExcelのISODD関数の記事で詳しく解説しています。
まとめ
ISODD関数は、数値が奇数かどうかを判定するシンプルな関数です。
ポイントを整理します。
- 構文は
=ISODD(値)で、引数は1つだけ - 奇数なら TRUE、偶数なら FALSE を返す
- 0 は偶数として扱われるため FALSE になる
- 小数は整数部分で判定される(4.9 → 4 として FALSE)
- IF関数や条件付き書式と組み合わせるのが実務での定番パターン
- 偶数判定には対になるISEVEN関数を使う
- 2以外の倍数判定にはMOD関数が便利
- ExcelのISODD関数と完全に同じ動作で、互換性も安心
まずは =ISODD(3) で「3は奇数 = TRUE」から試してみてください。
