スプレッドシートのISODD関数の使い方|奇数かどうか一発判定

スポンサーリンク

「この番号って奇数? 偶数?」――数件なら目で見てわかりますよね。

でも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)TRUE3 は奇数
=ISODD(2)FALSE2 は偶数なので FALSE
=ISODD(0)FALSE0 は偶数扱い
=ISODD(-3)TRUE負の奇数も TRUE
=ISODD(4.9)FALSE小数点以下切り捨て → 4 で判定
=ISODD("ABC")#VALUE!文字列はエラー

0 の扱いは覚えておきましょう。0 は偶数として扱われるため FALSE になります。

セル参照で判定する

セル参照を使えば、特定のセルの値が奇数かどうかを確認できます。

01 data sample table
=ISODD(A1)
02 formula isodd basic

A1 に「3」が入っていれば TRUE を返します。「4」なら FALSE です。

数式の結果を判定する

ISODD関数の引数に数式を直接入れることもできます。

=ISODD(A1+B1)
03 result isodd basic

A1 と B1 の合計が奇数なら TRUE です。合計が偶数なら FALSE になります。

ISODD関数の実践的な使い方・応用例

ここからは、実務で使える具体的なパターンを紹介します。

IF関数と組み合わせて奇数・偶数を表示する

番号が奇数か偶数かに応じてラベルを付けたい場面で使えます。

=IF(ISODD(A2),"奇数","偶数")
04 result isodd if

A2 が奇数なら「奇数」、偶数なら「偶数」と表示します。社員番号やロット番号で振り分けルールがある場合に便利ですよ。

条件付き書式で奇数行を色分けする

表の行番号が奇数のときだけ背景色を付ければ、交互に色が付いた見やすい表を作れます。

  1. 対象範囲を選択します
  2. 「表示形式」メニュー →「条件付き書式」を選択します
  3. 「カスタム数式」を選びます
  4. 数式欄に =ISODD(ROW()) と入力します
  5. 好きな書式(薄い青の塗りつぶしなど)を設定します

これで奇数行だけが色分けされます。ROW関数と組み合わせるのがポイントですよ。

TIP

偶数行に色を付けたい場合は =ISEVEN(ROW()) に変えるだけです。偶数判定の詳しい使い方はISEVEN関数の解説記事をご覧ください。

FILTER関数で奇数番号のデータだけ抽出する

商品番号や座席番号が奇数のものだけを取り出したいときは、FILTER関数と組み合わせると便利です。

=FILTER(A2:B20,ISODD(A2:A20))
05 result isodd filter

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(奇数)TRUEFALSE
2(偶数)FALSETRUE
0FALSETRUE
-3(負の奇数)TRUEFALSE
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スプレッドシートで完全に同じ動作です。

項目ExcelGoogleスプレッドシート
構文=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」を試してみてください。


関連記事

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