※本ページにはプロモーション(広告)が含まれています
ExcelのIFS関数が使えない・エラーになるのはなぜ?
Excelで複数条件の分岐処理をしようとして「IFS関数を使ってみたら#NAME?エラーが出た」「IFS関数と入力しても自動補完されない」「同僚のPCでは動くのに自分のExcelでは動かない」といった経験はありませんか?
IFS関数はExcel 2019以降・Microsoft 365(旧Office 365)で使えるようになった比較的新しい関数です。そのため、古いバージョンのExcelでは使用できないという根本的な制約があります。また、バージョンが対応していても構文の誤りや引数の設定ミスでエラーになるケースも少なくありません。
この記事では、IFS関数が動かない・エラーになる原因をすべて洗い出し、それぞれの具体的な対処法を丁寧に解説します。IFS関数が使えない環境での代替方法(ネストIFやSWITCH関数)も紹介するので、どんな状況でも解決策が見つかる完全ガイドです。
この記事でわかること:
- IFS関数とは何か・IFとの違い
- IFS関数が使えるExcelバージョン
- #NAME?エラー・#VALUE!エラーの原因と対処法
- IFS関数が使えない場合の代替方法
- IFS関数の正しい書き方と実践的な活用例

IFS関数とは?IF関数との違いを理解する
IFS関数の概要
IFS関数は、複数の条件を順番にチェックして、最初に満たした条件に対応する値を返す関数です。英語の “if(もし)〜 else if(そうでなく、もし)〜” という論理をそのままExcelで実現できます。
Microsoftが2016年にOffice 365(現Microsoft 365)に追加し、2019年にはExcel 2019にも搭載されました。それ以前のExcel(2016・2013・2010・2007など)では使用できません。
IF関数とIFS関数の比較
従来のIF関数で3段階評価(80点以上=A、60点以上=B、60点未満=C)を行うには、次のようにIF関数を入れ子(ネスト)にする必要があります:
=IF(A1>=80,"A",IF(A1>=60,"B","C"))
IFS関数を使うと、これを次のようにスッキリ書けます:
=IFS(A1>=80,"A",A1>=60,"B",A1<60,"C")
| 比較項目 | IF関数 | IFS関数 |
|---|---|---|
| 対応バージョン | 全バージョン対応 | Excel 2019以降・Microsoft 365 |
| 複数条件の書き方 | 入れ子(ネスト)が必要 | 条件を並べるだけでOK |
| 最大条件数 | 入れ子最大64段 | 最大127条件 |
| 可読性 | 入れ子が深いと読みにくい | 条件が並列で読みやすい |
| どれも条件を満たさない場合 | 最後のIFのFALSE値を返す | #N/Aエラー(TRUEで回避可) |
IFS関数の基本構文
=IFS(条件1, 値1, 条件2, 値2, 条件3, 値3, ...)
引数のペア(条件・値)は最大127組まで指定できます。Excelは条件1から順番にチェックし、最初にTRUEとなった条件の値を返します。
具体例(成績評価):
=IFS(A1>=90,"S",A1>=80,"A",A1>=70,"B",A1>=60,"C",TRUE,"D")
最後の TRUE,"D" は「それ以外すべて」を意味します。このTRUEを入れないと、どの条件にも当てはまらないときに#N/Aエラーが返ります。
IFS関数が使えるExcelバージョン一覧
IFS関数は比較的新しい関数のため、使えるバージョンが限られています。まず自分のExcelが対応しているか確認しましょう。
| Excelバージョン | IFS関数 | 備考 |
|---|---|---|
| Microsoft 365(Excel) | 使用可 | サブスクリプション版。継続的にアップデート |
| Excel 2021 | 使用可 | 買い切り版 |
| Excel 2019 | 使用可 | 買い切り版 |
| Excel 2016 | 使用不可 | IFS関数は非搭載 |
| Excel 2013 | 使用不可 | IFS関数は非搭載 |
| Excel 2010以前 | 使用不可 | IFS関数は非搭載 |
| Excel for Mac(365) | 使用可 | Microsoft 365版のみ |
| Excel Online(Web版) | 使用可 | ブラウザ版・無料で使用可能 |
| Google スプレッドシート | 使用可 | IFS関数に対応 |
Excelのバージョン確認方法
自分のExcelバージョンを確認するには:
- Excelを起動する
- 左上の「ファイル」タブをクリック
- 「アカウント」をクリック
- 「製品情報」にバージョンが表示される
例:「Microsoft 365 Apps for enterprise バージョン 2502」のように表示されます。バージョン番号に「2019」「2021」「365」が含まれていればIFS関数が使えます。「2016」「2013」「2010」などと表示された場合は使用できません。
IFS関数が動かない・エラーになる主な原因
原因1:Excelのバージョンが古い(最も多い原因)
IFS関数でエラーになる最も多い原因は、Excelのバージョンが2016以前であることです。Excel 2016以前ではIFS関数自体が存在しないため、関数名を認識できず#NAME?エラーが返ります。
#NAME?エラーが出る状況:
- Excel 2016・2013・2010・2007を使っている
- IFSと入力しても関数候補が表示されない
- =IFSと入力してEnterを押すと#NAME?と表示される
確認方法: セルに =IFS( と入力したとき、関数の説明(ツールチップ)が表示されない場合はバージョン非対応です。
原因2:関数名のスペルミス・全角文字の混入
#NAME?エラーはスペルミスや全角文字の混入でも発生します。
| 間違いの例 | 正しい書き方 | エラーの種類 |
|---|---|---|
| =IFSs(…) | =IFS(…) | #NAME? |
| =ifs(…) ※全角文字 | =IFS(…) ※半角 | #NAME? |
| =IFS (“A”,…) ※全角スペース | =IFS(“A”,…) | #NAME? |
日本語入力モードのままIFSと入力すると全角文字になることがあります。Excelの関数名は必ず半角英数字で入力してください。入力する前にキーボードの「半角/全角」キーで日本語入力をOFFにすることをおすすめします。
原因3:引数の数が奇数になっている(#VALUE!エラー)
IFS関数は「条件・値」のペアで引数を指定します。条件だけ、または値だけが余った状態(引数の総数が奇数)になると#VALUE!エラーが返ります。
NG例(引数が5つ=奇数):
=IFS(A1>=80,"A",A1>=60,"B",A1<60) ← 最後の値が抜けている
OK例(引数が6つ=偶数):
=IFS(A1>=80,"A",A1>=60,"B",A1<60,"C")
引数は必ず偶数になるように「条件、値」のペアを完成させてください。
原因4:TRUEの条件(デフォルト値)を指定していない(#N/Aエラー)
IFS関数は、どの条件にも当てはまらない場合に#N/Aエラーを返します。IF関数でいう「どの条件にも当てはまらなかった場合の値(ELSE)」が存在しないためです。
問題のある式:
=IFS(A1>=80,"A",A1>=60,"B",A1>=40,"C")
← A1が40未満の場合、どの条件も満たさないため#N/Aエラー
解決策:最後に TRUE,”デフォルト値” を追加する
=IFS(A1>=80,"A",A1>=60,"B",A1>=40,"C",TRUE,"D")
← TRUEは常に真なので「それ以外すべてにDを返す」という意味
この TRUE,"デフォルト値" のペアは「どれにも当てはまらなかった場合の処理」として機能します。IF関数のELSEに相当する重要な引数です。
原因5:条件の順序が論理的に誤っている
IFS関数は条件を上から順番に評価し、最初にTRUEになった条件で処理を終えます。条件の順序が正しくないと、意図しない結果になることがあります。
NG例(90点以上が「A」にならない):
=IFS(A1>=60,"C",A1>=80,"B",A1>=90,"A",TRUE,"D")
← 90点の場合、最初の条件「A1>=60」がTRUEになり「C」が返ってしまう
OK例(厳しい条件から先に書く):
=IFS(A1>=90,"A",A1>=80,"B",A1>=60,"C",TRUE,"D")
数値の範囲で分岐する場合は必ず大きい数値から小さい数値の順(または小さい数値から大きい数値の順)に条件を並べてください。
原因6:文字列の比較で引用符が抜けている
条件や返す値に文字列を使う場合は、ダブルクォーテーション(”)で囲む必要があります。引用符が抜けると#NAME?エラーや#VALUE!エラーが発生します。
NG例:
=IFS(B1=東京,"関東",B1=大阪,"近畿",TRUE,その他) ← 文字列に引用符なし
OK例:
=IFS(B1="東京","関東",B1="大阪","近畿",TRUE,"その他")
セル参照(A1, B2など)はそのまま書きますが、直接テキストを書く場合は必ずダブルクォーテーションで囲んでください。
原因7:セル参照が絶対参照・相対参照で混乱している
IFS関数を複数行にコピーして使う場合、セル参照のズレによって意図しない結果になることがあります。
例:固定の基準値と比較する場合
× =IFS(A1>=C1,"OK",A1<C1,"NG",TRUE,"-")
← C1をコピー先にコピーすると、C1がC2・C3と変わってしまう
○ =IFS(A1>=$C$1,"OK",A1<$C$1,"NG",TRUE,"-")
← $をつけると絶対参照になり、コピーしてもC1のまま固定される
基準値や固定の表を参照する場合はF4キーで絶対参照($)に変更することを忘れないようにしましょう。
原因8:ファイルの互換性問題(旧バージョンで保存・開く場合)
IFS関数を使ったファイルをExcel 2016以前で開くと、IFS関数が#NAME?エラーとして表示されます。これは互換性の問題で、ファイルの保存形式や共有相手のExcelバージョンに注意が必要です。
「互換性チェック」機能を使えば、旧バージョンで問題が起きる関数を事前に確認できます:
- 「ファイル」→「情報」→「問題のチェック」をクリック
- 「互換性チェック」を選択
- 問題が検出されると「新しい関数が使われています」などの警告が表示される

IFS関数エラーの対処法
対処法1:ExcelまたはOfficeをアップデートする
Microsoft 365を使っているのにIFS関数が使えない場合、Officeのアップデートが必要な可能性があります。以下の手順でアップデートしてください。
Windows版(Microsoft 365)のアップデート手順:
- Excelを起動する
- 「ファイル」タブをクリック
- 「アカウント」をクリック
- 「更新オプション」→「今すぐ更新」をクリック
- アップデートが完了したらExcelを再起動する
Mac版(Microsoft 365)のアップデート手順:
- メニューバーの「ヘルプ」をクリック
- 「更新プログラムを確認する」をクリック
- Microsoft AutoUpdateが起動したら「更新」をクリック
アップデート後、Excelを再起動してIFS関数が使えるか確認してください。
対処法2:Excel 2016以前の場合はネストIF関数で代替する
Excel 2016以前でIFS関数が使えない場合は、IF関数を入れ子(ネスト)にして同じ処理を実現できます。
IFS関数の式:
=IFS(A1>=90,"S",A1>=80,"A",A1>=70,"B",A1>=60,"C",TRUE,"D")
ネストIFで同じ処理を行う式:
=IF(A1>=90,"S",IF(A1>=80,"A",IF(A1>=70,"B",IF(A1>=60,"C","D"))))
書き方のコツ:
- 「=IF(最初の条件, 真の値, IF(次の条件, 真の値, …)」の形で繰り返す
- 最後のIF関数の「偽の値」にデフォルト値を入れる
- 最終的に括弧の数が一致しているか確認する
ネストIFは条件が増えると読みにくくなりますが、Excel 2016以前でも動作するという利点があります。
対処法3:SWITCH関数(Excel 2019以降)で代替する
SWITCH関数はIFS関数とよく似た関数ですが、完全一致の比較に特化しています。範囲(以上・以下)の比較はできませんが、特定の値との一致を確認するケースではIFS関数よりシンプルに書けます。
SWITCH関数の構文:
=SWITCH(対象セル, 値1, 返す値1, 値2, 返す値2, ..., デフォルト値)
活用例(都市名から地域名を返す):
IFS関数を使った場合:
=IFS(A1="東京","関東",A1="大阪","近畿",A1="名古屋","中部",TRUE,"その他")
SWITCH関数を使った場合:
=SWITCH(A1,"東京","関東","大阪","近畿","名古屋","中部","その他")
| 比較項目 | IFS関数 | SWITCH関数 |
|---|---|---|
| 比較の種類 | 任意の条件式(>=、<なども可) | 完全一致のみ |
| 対応バージョン | Excel 2019以降・Microsoft 365 | Excel 2019以降・Microsoft 365 |
| 向いているケース | 点数・範囲による分類など | コード・区分などの一致判定 |
| デフォルト値 | TRUEで指定 | 最後の引数として指定 |
対処法4:Excel OnlineやGoogle スプレッドシートを使う
古いExcelを使っていて、アップグレードが難しい場合は無料のWeb版ツールを活用する方法もあります。
Excel Online(Microsoft):
- Microsoft Edgeまたはブラウザで office.com にアクセス
- Microsoftアカウントでサインイン(無料)
- 「Excel」を選択してファイルを作成または開く
- IFS関数を含む最新のExcel関数が使用可能
Google スプレッドシート:
- Googleアカウントがあれば無料で利用可能
- IFS関数に対応済み
- Excelファイル(.xlsx)をそのまま開いて編集できる
対処法5:#N/Aエラーを回避する(TRUEの追加)
どの条件にも当てはまらないケースで#N/Aエラーが出ている場合は、式の最後に TRUE,"デフォルト値" を追加してください。
修正前(#N/Aエラーが出る可能性あり):
=IFS(C1="完了","✓ 完了",C1="進行中","→ 作業中",C1="未着手","△ 未開始")
修正後(どの値でも対応できる):
=IFS(C1="完了","✓ 完了",C1="進行中","→ 作業中",C1="未着手","△ 未開始",TRUE,"不明")
または、IFERROR関数と組み合わせる方法もあります:
=IFERROR(IFS(C1="完了","✓ 完了",C1="進行中","→ 作業中",C1="未着手","△ 未開始"),"-")
対処法6:#VALUE!エラーを修正する(引数の確認)
#VALUE!エラーが出た場合、引数の数が奇数になっていないか確認してください。
引数の数え方: IFS関数の括弧内をカンマで区切って数えます。この数が偶数なら正しい(条件・値のペアが完成している)、奇数なら間違いです。
=IFS(A1>=80,"A",A1>=60,"B",A1<60)
↑ ↑ ↑ ↑ ↑
条件1 値1 条件2 値2 条件3(値3が抜けている!)
引数の数:5つ(奇数)→ #VALUE!エラー
IFS関数の実践的な活用例
活用例1:成績評価の自動化
学校・職場でよく使われる点数から評価を返す例です。
=IFS(B2>=90,"優",B2>=80,"良",B2>=70,"可",B2>=60,"不可",TRUE,"欠席")
| 得点 | 評価 |
|---|---|
| 90点以上 | 優 |
| 80〜89点 | 良 |
| 70〜79点 | 可 |
| 60〜69点 | 不可 |
| 60点未満(欠席含む) | 欠席 |
活用例2:送料の自動計算
注文金額に応じて送料を自動計算する例です。
=IFS(D2>=10000,"送料無料",D2>=5000,"220円",D2>=3000,"330円",TRUE,"550円")
これにより、注文金額(D2セル)に応じて送料が自動的に表示されます。
活用例3:タスク管理のステータス表示
進捗率に応じてステータスを自動表示する例です。
=IFS(E2=100,"完了",E2>=80,"最終確認",E2>=50,"作業中",E2>0,"開始済み",TRUE,"未着手")
活用例4:年齢から区分を判定する
年齢(F2セル)に応じて区分(子ども・大人・シニア)を返す例です。
=IFS(F2<12,"子ども(小学生以下)",F2<18,"中高生",F2<65,"一般大人",TRUE,"シニア")
活用例5:AND条件・OR条件との組み合わせ
IFS関数の条件部分にAND関数・OR関数を組み合わせることで、複合条件も扱えます。
' 売上が目標達成「かつ」先月比増加の場合
=IFS(AND(G2>=100000,G2>G1),"ダブル達成",G2>=100000,"目標達成",G2>=80000,"あと少し",TRUE,"未達")
IFS関数のよくある間違いと修正例
間違い例1:条件を逆順に並べてしまった
IFS関数は上から順番に評価するため、条件の順序が重要です。以下のような「ゆるい条件を先に書く」ミスはよくあります。
間違い:
=IFS(A1>=0,"D以上",A1>=60,"C以上",A1>=80,"B以上",A1>=90,"A以上")
この式は A1>=0 が常にTRUEになってしまうため、どんな値でも「D以上」が返ります。
正しい式(厳しい条件から先):
=IFS(A1>=90,"A以上",A1>=80,"B以上",A1>=60,"C以上",A1>=0,"D以上")
間違い例2:文字列と数値を混同している
比較する値が文字列のとき、数値として扱ってしまうミスです。
間違い(A1に”3″という文字列が入っている場合):
=IFS(A1>=3,"大きい",A1<3,"小さい",TRUE,"等しい")
← 文字列の"3"は数値の3と比較できないため正しく動作しない
正しい式(VALUE関数で数値に変換):
=IFS(VALUE(A1)>=3,"大きい",VALUE(A1)<3,"小さい",TRUE,"等しい")
間違い例3:空白セルの処理を忘れている
条件に空白セルのパターンを含めていない場合、空白セルに対して意図しない結果が返ることがあります。
空白を先にチェックする式:
=IFS(A1="","(未入力)",A1>=80,"合格",TRUE,"不合格")

よくある質問(FAQ)
Q1. Excel 2016でIFS関数を使う方法はありますか?
A. Excel 2016ではIFS関数は使用できません。代替方法として、以下の2つを検討してください:
- ネストIF関数を使う:
=IF(A1>=90,"A",IF(A1>=80,"B",IF(A1>=70,"C","D")))のように入れ子にする - Microsoft 365にアップグレードする:月額料金(個人版: 月額1,490円〜)でIFS関数を含む最新機能が使えるようになる
どうしてもExcel 2016のままで使いたい場合は、Excel Online(無料のWeb版)やGoogle スプレッドシートを使う方法もあります。
Q2. #NAME?エラーが出るのに関数名は正しいです。なぜですか?
A. 関数名が正しいのに#NAME?エラーが出る場合、以下を確認してください:
- Excelのバージョン:Excel 2016以前では動作しない(最多の原因)
- 全角文字の混入:一見同じに見えても全角のIFSになっている可能性あり。「ファイル」→「検索と置換」で「IFS」(全角)を検索してみてください
- アドインの無効化:一部の古いアドインが関数認識を妨げる場合がある
Q3. IFS関数とIFERROR関数を組み合わせることはできますか?
A. はい、組み合わせ可能です。IFS関数がエラーを返す可能性がある場合、外側をIFERROR関数で囲むことで安全に処理できます。
=IFERROR(IFS(A1>=90,"A",A1>=80,"B",A1>=60,"C",A1>=0,"D"),"-")
ただし、IFS関数の最後に TRUE,"デフォルト値" を入れれば#N/Aエラーは回避できるため、通常はIFERRORは不要です。
Q4. IFS関数は最大何個まで条件を書けますか?
A. IFS関数は最大127個の条件(正確には条件と値のペアが127組)まで指定できます。実用上127個の条件を使うことはほぼないため、上限を気にする必要はありません。ただし、条件が多くなるほど数式が複雑になるため、VLOOKUPやXLOOKUP、または別の表構造への変換を検討することをおすすめします。
Q5. IFS関数とSWITCH関数はどちらを使えばよいですか?
A. 場面によって使い分けるのがベストです:
- IFS関数を使う場面:「80点以上」「3以下」などの範囲・大小比較が必要な場合
- SWITCH関数を使う場面:「東京=関東」「1=一月」などの完全一致の変換が必要な場合
完全一致の場合はSWITCH関数の方が式が短くなり読みやすいです。
Q6. IFS関数は配列数式(Ctrl+Shift+Enter)と組み合わせられますか?
A. はい、Microsoft 365のダイナミック配列が使える環境では通常のEnterで配列処理も可能です。ただし、IFS関数自体は基本的に1セルに1つの値を返す設計です。配列的に複数の値を返したい場合は、別のセル範囲に数式を個別に入力する方法を推奨します。
Q7. IFS関数の結果をIF関数の条件として使えますか?
A. はい、可能です。IFS関数が返す値をIF関数の条件として使えます。
=IF(IFS(A1>=90,"合格",TRUE,"不合格")="合格","表彰対象","非対象")
ただし、この例は =IF(A1>=90,"表彰対象","非対象") と書く方がシンプルです。不必要に複雑にしないよう注意しましょう。
Q8. スマートフォン版のExcel(モバイル)でもIFS関数は使えますか?
A. Microsoft 365のアカウントでサインインしていれば、スマートフォン版のExcelアプリでもIFS関数を使用できます。ただし、スマートフォンでの数式入力は操作性が低いため、複雑な数式の入力はPCで行うことをおすすめします。既にIFS関数が入力されたファイルの閲覧・計算確認であれば問題なく動作します。
まとめ
ExcelのIFS関数が動かない・エラーになる原因と対処法を解説しました。
IFS関数エラーの主な原因と対処法 まとめ
| エラー・症状 | 主な原因 | 対処法 |
|---|---|---|
| #NAME?エラー | Excel 2016以前を使用している | Microsoft 365にアップグレード、またはネストIFで代替 |
| #NAME?エラー | 関数名のスペルミス・全角文字 | 半角でIFSと入力し直す |
| #VALUE!エラー | 引数の数が奇数 | 条件と値のペアを確認・補完する |
| #N/Aエラー | どの条件にも当てはまらない | 最後にTRUE,”デフォルト値”を追加する |
| 意図しない値が返る | 条件の順序が誤っている | 厳しい条件から先に並べ直す |
| 引用符エラー | 文字列にダブルクォーテーションがない | 文字列を”〜”で囲む |
IFS関数はExcel 2019以降・Microsoft 365で使える便利な関数です。まずは自分のExcelバージョンを確認し、バージョンが対応していない場合はネストIFやSWITCH関数で代替することを検討してください。
IFS関数が使える環境では、複数条件の分岐処理が劇的にシンプルになります。本記事の活用例を参考に、ぜひ実務の集計・評価・分類作業に活用してみてください。
この記事が「ExcelのIFS関数エラー」でお困りの方のお役に立てれば幸いです。
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!