<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>IFS関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/ifs%E9%96%A2%E6%95%B0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Mon, 18 May 2026 14:04:16 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>IFS関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのSWITCH関数の使い方｜ケース分岐をIFネストよりスッキリ書く実務7パターン</title>
		<link>https://mashukabu.com/spreadsheet-switch-function/</link>
					<comments>https://mashukabu.com/spreadsheet-switch-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:30:00 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ARRAYFORMULA]]></category>
		<category><![CDATA[CHOOSE関数]]></category>
		<category><![CDATA[IFS関数]]></category>
		<category><![CDATA[IF関数]]></category>
		<category><![CDATA[SWITCH関数]]></category>
		<category><![CDATA[ステータス変換]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[完全一致]]></category>
		<category><![CDATA[条件分岐]]></category>
		<category><![CDATA[部署コード変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4751</guid>

					<description><![CDATA[スプレッドシートのSWITCH関数で「部署コード→部署名」「ステータスコード→ラベル」のような完全一致のケース分岐をスッキリ書く方法を徹底解説。基本構文から、曜日変換・進捗ラベル・配列対応・既定値の設定・ARRAYFORMULAでの一括判定まで実務7パターンを早見表とサンプル付きで紹介。IF/IFS/CHOOSE関数との使い分けや#N/A・#VALUE!エラーの対処法もまとめます。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「部署コードを部署名に変換したい」「ステータスコードに応じてラベルを出し分けたい」。スプレッドシートの一覧表でよくある作業ですよね。こんなときに <a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a> のネストで書くと、条件が増えるたびに括弧が深くなって、後から修正するのも一苦労です。</p>



<p class="wp-block-paragraph">そんなときに便利なのが <strong>SWITCH関数</strong> です。判定したい値と、それに対する結果をペアで並べていくだけで、IFネストよりずっと読みやすいケース分岐が書けます。プログラミングの<code>switch</code>文と同じ発想なので、エンジニア出身の方には馴染みのある関数ですね。</p>



<p class="wp-block-paragraph">この記事ではSWITCH関数の基本構文から、部署コード変換・曜日名変換・進捗ラベル表示・<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA</a>による一括判定など、実務でそのまま使える7パターンを早見表付きで紹介します。<code>#N/A</code>や<code>#VALUE!</code>エラーの対処法、<a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>・<a href="https://mashukabu.com/spreadsheet-ifs-function/">IFS関数</a>・<a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE関数</a>との使い分けまで整理しますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのSWITCH関数とは？値の完全一致でケース分岐する関数</a><ol><li><a href="#toc2" tabindex="0">SWITCH関数で何ができる？</a></li></ol></li><li><a href="#toc3" tabindex="0">SWITCH関数の構文と引数</a><ol><li><a href="#toc4" tabindex="0">基本構文</a></li><li><a href="#toc5" tabindex="0">引数の説明</a></li><li><a href="#toc6" tabindex="0">SWITCH関数の動作イメージ早見表</a></li></ol></li><li><a href="#toc7" tabindex="0">SWITCH関数の基本的な使い方</a><ol><li><a href="#toc8" tabindex="0">文字列のコードでケース分岐する</a></li><li><a href="#toc9" tabindex="0">数値のコードでケース分岐する</a></li><li><a href="#toc10" tabindex="0">数式の結果に対してケース分岐する</a></li><li><a href="#toc11" tabindex="0">基本パターンの早見表</a></li></ol></li><li><a href="#toc12" tabindex="0">実務で使えるSWITCH関数の活用パターン7選</a><ol><li><a href="#toc13" tabindex="0">パターン1: 部署コードから部署名を自動変換する（総務・人事向け）</a></li><li><a href="#toc14" tabindex="0">パターン2: 申請ステータスを処理コメントに変換する</a></li><li><a href="#toc15" tabindex="0">パターン3: 曜日番号を日本語の曜日名に変換する</a></li><li><a href="#toc16" tabindex="0">パターン4: 進捗ステータスコードを日本語ラベルに変換する（タスク管理向け）</a></li><li><a href="#toc17" tabindex="0">パターン5: 範囲条件の代用としてTRUEパターンで使う（IFSの代わり）</a></li><li><a href="#toc18" tabindex="0">パターン6: 既定値で「該当なし」「未分類」を必ず返すようにする</a></li><li><a href="#toc19" tabindex="0">パターン7: ARRAYFORMULAで列全体を一括変換する（Sheets限定）</a></li></ol></li><li><a href="#toc20" tabindex="0">SWITCH関数のよくあるエラーと対処法</a><ol><li><a href="#toc21" tabindex="0">#N/Aエラー（一致する値がない）の対処法</a></li><li><a href="#toc22" tabindex="0">#VALUE!エラー（引数が不正）の対処法</a></li><li><a href="#toc23" tabindex="0">全角・半角の不一致に注意</a></li><li><a href="#toc24" tabindex="0">文字列と数値の混在に注意</a></li></ol></li><li><a href="#toc25" tabindex="0">SWITCH関数と似た関数の使い分け</a><ol><li><a href="#toc26" tabindex="0">IFネスト→SWITCH関数への書き換え（Before/After）</a></li><li><a href="#toc27" tabindex="0">SWITCH関数とIFS関数の使い分け</a></li><li><a href="#toc28" tabindex="0">SWITCH関数とCHOOSE関数の使い分け</a></li><li><a href="#toc29" tabindex="0">SWITCH関数とVLOOKUP関数の使い分け</a></li></ol></li><li><a href="#toc30" tabindex="0">SWITCH関数のよくある質問（FAQ）</a></li><li><a href="#toc31" tabindex="0">ExcelのSWITCH関数との違い</a></li><li><a href="#toc32" tabindex="0">まとめ：SWITCH関数で完全一致のケース分岐をスッキリ書こう</a><ol><li><a href="#toc33" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのSWITCH関数とは？値の完全一致でケース分岐する関数</span></h2>



<p class="wp-block-paragraph">SWITCH関数（読み方: スイッチ関数）は、<strong>1つの値を複数の候補と照合し、最初に一致した候補に対応する結果を返す関数</strong>です。関数名はプログラミング言語の<code>switch</code>文に由来していて、「ケース分岐」という考え方をそのまま関数化したものですね。</p>



<p class="wp-block-paragraph">たとえば「部署コードがS01なら営業部、A01なら総務部、F01なら経理部」のように、<strong>値と結果のペアを並べていく</strong>だけで分岐が完成します。IF関数のネストのように <code>IF(... IF(... IF(...)))</code> と入れ子になることがないので、条件が5つ・10個と増えても式が読みやすいままです。</p>



<h3 class="wp-block-heading"><span id="toc2">SWITCH関数で何ができる？</span></h3>



<p class="wp-block-paragraph">SWITCH関数が活躍するのは、おもに次のような場面です。</p>



<ul class="wp-block-list"><li>部署コード・支店コード・商品コードなどの <strong>コード値を表示用のラベルに変換</strong> したいとき</li><li>申請ステータス（「承認」「却下」「保留」）に応じて <strong>コメントやアイコンを出し分け</strong> たいとき</li><li><a href="https://mashukabu.com/spreadsheet-weekday-function/">WEEKDAY関数</a> の結果（1〜7）を <strong>日本語の曜日名に変換</strong> したいとき</li><li>タスクの進捗コード（0〜4）を <strong>「未着手」「進行中」などの日本語ラベル</strong> に変換したいとき</li><li>候補が10個以下で固定されていて、わざわざ<a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>で別テーブルを作るほどでもないとき</li></ul>



<p class="wp-block-paragraph">NOTE: SWITCH関数はGoogleスプレッドシートの全バージョンで使えます。Excelでは2019以降またはMicrosoft 365で対応しています。古いExcel（2016以前）と互換性が必要なファイルでは使えないので、その場合はIFネストやVLOOKUPで代用してください。Excel版の詳しい解説は <a href="https://mashukabu.com/excel-function-howto-use-switch/">ExcelのSWITCH関数の使い方</a> もあわせてご覧ください。</p>



<h2 class="wp-block-heading"><span id="toc3">SWITCH関数の構文と引数</span></h2>



<h3 class="wp-block-heading"><span id="toc4">基本構文</span></h3>



<pre class="wp-block-code"><code>=SWITCH(式, 値1, 結果1, [値2, 結果2], ..., [既定値])</code></pre>



<p class="wp-block-paragraph">最初に判定したい「式（セル参照や数式）」を1つ書き、その後に <strong>「値, 結果」のペア</strong> を並べていきます。最後の引数を1つだけ余らせると、それが「どの候補にも一致しなかったとき」の <strong>既定値</strong> として扱われます。</p>



<h3 class="wp-block-heading"><span id="toc5">引数の説明</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>式</td><td>必須</td><td>比較対象となるセル参照、数値、文字列、または数式</td></tr><tr><td>値1</td><td>必須</td><td>式と照合する最初の候補</td></tr><tr><td>結果1</td><td>必須</td><td>値1と一致したときに返す値</td></tr><tr><td>値2〜値126</td><td>任意</td><td>追加の候補（最大126ペアまで指定可）</td></tr><tr><td>結果2〜結果126</td><td>任意</td><td>各値に対応する結果</td></tr><tr><td>既定値</td><td>任意</td><td>どの候補にも一致しなかったときに返す値（省略可だが、省略すると<code>#N/A</code>エラー）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">値と結果は必ずセットで指定します。引数を後ろから数えて <strong>奇数番目</strong> が余ったときに、それが既定値として扱われる仕組みです。文字列を値にする場合は <code>"S01"</code> のようにダブルクォーテーションで囲み、数値の場合は囲みません。</p>



<p class="wp-block-paragraph">TIP: 既定値は省略可能ですが、<strong>省略すると一致しなかったときに <code>#N/A</code> エラーが返ります</strong>。実務では「該当なし」「未分類」など意味のある文字列を入れておくと、後から見たときにも安全です。</p>



<h3 class="wp-block-heading"><span id="toc6">SWITCH関数の動作イメージ早見表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>数式の例</th><th>A2の値</th><th>戻り値</th></tr></thead><tbody><tr><td><code>=SWITCH(A2, "S01", "営業部", "A01", "総務部", "該当なし")</code></td><td>&#8220;S01&#8221;</td><td>営業部</td></tr><tr><td><code>=SWITCH(A2, "S01", "営業部", "A01", "総務部", "該当なし")</code></td><td>&#8220;A01&#8221;</td><td>総務部</td></tr><tr><td><code>=SWITCH(A2, "S01", "営業部", "A01", "総務部", "該当なし")</code></td><td>&#8220;X99&#8221;</td><td>該当なし</td></tr><tr><td><code>=SWITCH(A2, "S01", "営業部", "A01", "総務部")</code></td><td>&#8220;X99&#8221;</td><td>#N/A（既定値なし）</td></tr><tr><td><code>=SWITCH(A2, 1, "S", 2, "A", 3, "B", "未評価")</code></td><td>2</td><td>A</td></tr><tr><td><code>=SWITCH(A2, 1, "S", 2, "A", 3, "B", "未評価")</code></td><td>99</td><td>未評価</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">上から順に値を照合していき、<strong>最初に一致した結果を返したら処理は終了</strong> します。同じ値を複数回書いても、最初に書いた結果しか返らない点に注意してください。</p>



<h2 class="wp-block-heading"><span id="toc7">SWITCH関数の基本的な使い方</span></h2>



<h3 class="wp-block-heading"><span id="toc8">文字列のコードでケース分岐する</span></h3>



<p class="wp-block-paragraph">実務でいちばん多いパターンです。A列に部署コード、B列に変換した部署名を表示するケースで見てみましょう。</p>



<pre class="wp-block-code"><code>=SWITCH(A2, &quot;S01&quot;, &quot;営業部&quot;, &quot;A01&quot;, &quot;総務部&quot;, &quot;F01&quot;, &quot;経理部&quot;, &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">A2が「S01」なら「営業部」、「A01」なら「総務部」、「F01」なら「経理部」、それ以外なら「該当なし」が返ります。IF関数のネストで同じことを書くと <code>=IF(A2="S01", "営業部", IF(A2="A01", "総務部", IF(A2="F01", "経理部", "該当なし")))</code> になりますが、SWITCH関数なら<strong>「A2=」を3回も繰り返さずに済む</strong>のがメリットです。</p>



<h3 class="wp-block-heading"><span id="toc9">数値のコードでケース分岐する</span></h3>



<p class="wp-block-paragraph">評価ランク（1〜4）を S/A/B/C のラベルに変換するパターンです。数値の場合は値をダブルクォーテーションで囲む必要はありません。</p>



<pre class="wp-block-code"><code>=SWITCH(B2, 1, &quot;S&quot;, 2, &quot;A&quot;, 3, &quot;B&quot;, 4, &quot;C&quot;, &quot;未評価&quot;)</code></pre>



<p class="wp-block-paragraph">B2が「1」なら「S」、「3」なら「B」、範囲外（0や5など）なら「未評価」が返ります。コードが連続した整数（1, 2, 3, &#8230;）なら <a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE関数</a> のほうが短く書けますが、コードが「1, 3, 5」のように飛び飛びだったり、「0=未着手」のように0始まりだったりする場合はSWITCH関数の出番です。</p>



<h3 class="wp-block-heading"><span id="toc10">数式の結果に対してケース分岐する</span></h3>



<p class="wp-block-paragraph">引数の「式」には、セル参照だけでなく数式そのものを書くこともできます。たとえば<a href="https://mashukabu.com/spreadsheet-weekday-function/">WEEKDAY関数</a>の結果を日本語の曜日に変換するパターンです。</p>



<pre class="wp-block-code"><code>=SWITCH(WEEKDAY(A2), 1, &quot;日&quot;, 2, &quot;月&quot;, 3, &quot;火&quot;, 4, &quot;水&quot;, 5, &quot;木&quot;, 6, &quot;金&quot;, 7, &quot;土&quot;)</code></pre>



<p class="wp-block-paragraph"><code>WEEKDAY(A2)</code>は1〜7の数値を返すので、その結果を直接SWITCH関数の「式」に渡しています。中間セルに曜日番号を表示する必要がないので、列が増えずスッキリします。</p>



<h3 class="wp-block-heading"><span id="toc11">基本パターンの早見表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>用途</th><th>既定値の扱い</th></tr></thead><tbody><tr><td><code>=SWITCH(A2, "S01", "営業部", "A01", "総務部", "該当なし")</code></td><td>文字列コード→ラベル変換</td><td>&#8220;該当なし&#8221;</td></tr><tr><td><code>=SWITCH(B2, 1, "S", 2, "A", 3, "B", 4, "C", "未評価")</code></td><td>数値コード→ラベル変換</td><td>&#8220;未評価&#8221;</td></tr><tr><td><code>=SWITCH(WEEKDAY(A2), 1, "日", 2, "月", ..., 7, "土")</code></td><td>数式の結果→ラベル変換</td><td>省略（1〜7で全パターン網羅）</td></tr><tr><td><code>=SWITCH(TRUE, A2>=80, "A", A2>=60, "B", TRUE, "C")</code></td><td>範囲判定の代用（IFSのほうが推奨）</td><td>最後のTRUE</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc12">実務で使えるSWITCH関数の活用パターン7選</span></h2>



<p class="wp-block-paragraph">ここからは、実務でそのまま使えるSWITCH関数の活用パターンを7つ紹介します。「コード変換」「ラベル変換」「曜日変換」「複合条件」「配列対応」など、よくある場面を網羅しているので、自分のケースに近いものから試してみてください。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン1: 部署コードから部署名を自動変換する（総務・人事向け）</span></h3>



<p class="wp-block-paragraph">社員データの部署コードを、報告書に貼るための読みやすい部署名に変換する場面です。A列に社員名、B列に部署コードが入っているとします。</p>



<pre class="wp-block-code"><code>=SWITCH(B2, &quot;S01&quot;, &quot;営業部&quot;, &quot;A01&quot;, &quot;総務部&quot;, &quot;F01&quot;, &quot;経理部&quot;, &quot;H01&quot;, &quot;人事部&quot;, &quot;IT1&quot;, &quot;情報システム部&quot;, &quot;不明&quot;)</code></pre>



<p class="wp-block-paragraph">候補が10個以下の場合は、SWITCH関数が最もシンプルです。マスタテーブルを別シートに作らずに済むので、軽い変換ならこれで十分ですよ。</p>



<p class="wp-block-paragraph">TIP: 部署コードが20個・30個と増えてくる場合は、別シートにマスタテーブルを作って <a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a> で参照したほうがメンテしやすくなります。「マスタを更新するときに数式を書き換えるかどうか」が分かれ目です。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン2: 申請ステータスを処理コメントに変換する</span></h3>



<p class="wp-block-paragraph">申請管理シートで、ステータス（「承認」「却下」「保留」など）に応じたコメントを表示するパターンです。</p>



<pre class="wp-block-code"><code>=SWITCH(B2, &quot;承認&quot;, &quot;処理完了&quot;, &quot;却下&quot;, &quot;差し戻し対応&quot;, &quot;保留&quot;, &quot;確認待ち&quot;, &quot;取下げ&quot;, &quot;対応不要&quot;, &quot;ステータス不明&quot;)</code></pre>



<p class="wp-block-paragraph">B2が「承認」なら「処理完了」、「保留」なら「確認待ち」が返ります。担当者がコメント欄に書く文言を統一できるので、後から検索したり集計したりするのもラクになります。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン3: 曜日番号を日本語の曜日名に変換する</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-weekday-function/">WEEKDAY関数</a> の結果を日本語の曜日に変換する定番パターンです。A列に日付が入っているとします。</p>



<pre class="wp-block-code"><code>=SWITCH(WEEKDAY(A2), 1, &quot;日&quot;, 2, &quot;月&quot;, 3, &quot;火&quot;, 4, &quot;水&quot;, 5, &quot;木&quot;, 6, &quot;金&quot;, 7, &quot;土&quot;)</code></pre>



<p class="wp-block-paragraph">WEEKDAY関数の戻り値は1=日曜〜7=土曜なので、それぞれに対応する日本語を並べるだけです。「曜日（営業日／休日）」を出し分けるなら、次のように2パターンにまとめることもできます。</p>



<pre class="wp-block-code"><code>=SWITCH(WEEKDAY(A2, 2), 6, &quot;休日&quot;, 7, &quot;休日&quot;, &quot;営業日&quot;)</code></pre>



<p class="wp-block-paragraph">WEEKDAY関数の第2引数に<code>2</code>を指定すると「月曜=1〜日曜=7」になるので、6（土）と7（日）だけ「休日」、それ以外はすべて既定値の「営業日」が返ります。</p>



<p class="wp-block-paragraph">TIP: 曜日変換は <a href="https://mashukabu.com/spreadsheet-text-function/">TEXT関数</a> で <code>=TEXT(A2, "ddd")</code>（→月、火&#8230;）と書く方法もあります。SWITCH関数のメリットは <strong>任意のラベル（例: 「Mon」「Tuesday」「定休日」）に自由に変換できる</strong> こと。TEXT関数では「月」を「Mon」に変えられないので、表記をコントロールしたい場面ではSWITCH関数を選びましょう。</p>



<h3 class="wp-block-heading"><span id="toc16">パターン4: 進捗ステータスコードを日本語ラベルに変換する（タスク管理向け）</span></h3>



<p class="wp-block-paragraph">タスク管理シートで、数値の進捗コード（0〜4）を読みやすいラベルに変換する例です。</p>



<pre class="wp-block-code"><code>=SWITCH(A2, 0, &quot;未着手&quot;, 1, &quot;進行中&quot;, 2, &quot;レビュー中&quot;, 3, &quot;完了&quot;, 4, &quot;差し戻し&quot;, &quot;不明&quot;)</code></pre>



<p class="wp-block-paragraph">数値コードの場合もダブルクォーテーションは不要です。コードを直接見るよりラベル表示にすると、一目で状況がわかりますよね。スプレッドシートで条件付き書式と組み合わせると、ラベルに応じてセルの色を変えることもできます。</p>



<h3 class="wp-block-heading"><span id="toc17">パターン5: 範囲条件の代用としてTRUEパターンで使う（IFSの代わり）</span></h3>



<p class="wp-block-paragraph">SWITCH関数は本来 <strong>完全一致しか判定できません</strong> が、第1引数に<code>TRUE</code>を指定する裏ワザを使うと、範囲条件（80点以上ならAなど）も書けます。</p>



<pre class="wp-block-code"><code>=SWITCH(TRUE, A2&gt;=80, &quot;A&quot;, A2&gt;=60, &quot;B&quot;, A2&gt;=40, &quot;C&quot;, &quot;D&quot;)</code></pre>



<p class="wp-block-paragraph">仕組みはこうです。</p>



<ol class="wp-block-list"><li>第1引数を <code>TRUE</code> にする</li><li>値の位置に <code>A2>=80</code> のような比較式を書く（結果はTRUE/FALSEになる）</li><li>TRUEと一致した最初の結果が返る</li></ol>



<p class="wp-block-paragraph">ただし、このパターンは <a href="https://mashukabu.com/spreadsheet-ifs-function/">IFS関数</a> のほうが意図が伝わりやすいので、範囲判定なら基本的にはIFS関数を使うことをおすすめします。</p>



<pre class="wp-block-code"><code>=IFS(A2&gt;=80, &quot;A&quot;, A2&gt;=60, &quot;B&quot;, A2&gt;=40, &quot;C&quot;, TRUE, &quot;D&quot;)</code></pre>



<p class="wp-block-paragraph">このIFS版とほぼ同じ意味ですね。SWITCH関数のTRUEパターンを使うのは「マクロ内などでIFS関数が使えない環境」「すでにSWITCH関数で書き始めていて統一したい」場合に限定しましょう。</p>



<h3 class="wp-block-heading"><span id="toc18">パターン6: 既定値で「該当なし」「未分類」を必ず返すようにする</span></h3>



<p class="wp-block-paragraph">SWITCH関数の <strong>既定値は必ず設定しておく</strong> のがおすすめです。理由は、未登録のコードが入力されたときに <code>#N/A</code> エラーを返さず、データの異常に気付きやすくするためです。</p>



<pre class="wp-block-code"><code>=SWITCH(A2, &quot;S01&quot;, &quot;営業部&quot;, &quot;A01&quot;, &quot;総務部&quot;, &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">「該当なし」の行が一覧表に並べば、コードの入力ミスや新規コードの追加漏れがすぐ発見できます。エラー値（#N/A）だと、フィルタや並べ替えで除外されたり、SUM関数の対象範囲でエラーが伝播したりして扱いづらいんですよね。</p>



<p class="wp-block-paragraph">TIP: 既定値に空文字<code>""</code>を入れると「何も表示しない」設定にできます。<code>=SWITCH(A2, "S01", "営業部", "A01", "総務部", "")</code> のように書けば、未登録コードは空欄になります。</p>



<h3 class="wp-block-heading"><span id="toc19">パターン7: ARRAYFORMULAで列全体を一括変換する（Sheets限定）</span></h3>



<p class="wp-block-paragraph">スプレッドシート特有の機能、<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA</a> を組み合わせて列全体を一括判定するパターンです。残念ながら <strong>SWITCH関数は直接ARRAYFORMULA化できません</strong> （配列を渡しても1セル分の結果しか返らないため）。代わりに <a href="https://mashukabu.com/spreadsheet-ifs-function/">IFS関数</a> を使います。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IFS(B2:B100=&quot;&quot;, &quot;&quot;, B2:B100=&quot;S01&quot;, &quot;営業部&quot;, B2:B100=&quot;A01&quot;, &quot;総務部&quot;, TRUE, &quot;該当なし&quot;))</code></pre>



<p class="wp-block-paragraph"><code>B2:B100=""</code> で空白行は空白のまま残し、データがある行だけラベル変換しています。1つの数式で列全体に対応するので、フィルダウン不要・データ追加にも自動対応する設計です。</p>



<p class="wp-block-paragraph">「SWITCH関数で書きたいけれど配列対応したい」場合は、思い切ってIFS関数に書き換えるのが現実的な解です。SWITCH関数は1セル単位の処理が前提、と覚えておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc20">SWITCH関数のよくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">SWITCH関数は構文がシンプルな分、エラーパターンも限定的です。代表的なものを早見表でまとめます。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー・現象</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#N/A</td><td>値が候補に一致せず、既定値も省略している</td><td>最後の引数に「該当なし」など既定値を追加する</td></tr><tr><td>#VALUE!</td><td>引数の数が不正（値だけあって結果がない）</td><td>値と結果がペアになっているか確認する</td></tr><tr><td>#NAME?</td><td>関数名のスペルミス（SWICH・SWHICHなど）</td><td><code>=SWITCH</code> と正しく入力する</td></tr><tr><td>#ERROR!</td><td>カンマの数が合わない・カッコ忘れ</td><td>引数の区切りとカッコの対応をチェック</td></tr><tr><td>期待と違う結果が返る</td><td>全角/半角の不一致（&#8221;S01&#8243;と&#8221;Ｓ０１&#8221;）</td><td><a href="https://mashukabu.com/spreadsheet-text-function/">ASC関数</a>で半角に統一してから判定</td></tr><tr><td>期待と違う結果が返る</td><td>文字列と数値の混在（&#8221;1&#8243;と1）</td><td>比較対象の型を揃える</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc21">#N/Aエラー（一致する値がない）の対処法</span></h3>



<p class="wp-block-paragraph">SWITCH関数でいちばん多いエラーです。式の値がどの候補にも一致せず、既定値も指定されていないときに発生します。</p>



<pre class="wp-block-code"><code>=SWITCH(A2, &quot;S01&quot;, &quot;営業部&quot;, &quot;A01&quot;, &quot;総務部&quot;)</code></pre>



<p class="wp-block-paragraph">A2が「F01」の場合、一致する候補がないため <code>#N/A</code> エラーになります。<strong>対処法は最後に既定値を追加する</strong> だけです。</p>



<pre class="wp-block-code"><code>=SWITCH(A2, &quot;S01&quot;, &quot;営業部&quot;, &quot;A01&quot;, &quot;総務部&quot;, &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">既存のSWITCH関数のエラーを後から隠したいだけなら、<a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数</a> で囲む方法もあります。</p>



<pre class="wp-block-code"><code>=IFERROR(SWITCH(A2, &quot;S01&quot;, &quot;営業部&quot;, &quot;A01&quot;, &quot;総務部&quot;), &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">ただし、はじめからSWITCH関数の既定値を設定するほうがシンプルで読みやすいので、IFERRORは応急処置と考えましょう。</p>



<h3 class="wp-block-heading"><span id="toc22">#VALUE!エラー（引数が不正）の対処法</span></h3>



<p class="wp-block-paragraph">引数の数が不足している場合に発生します。値だけを指定して、対応する結果を書き忘れるケースが典型です。</p>



<pre class="wp-block-code"><code>=SWITCH(A2, &quot;S01&quot;)</code></pre>



<p class="wp-block-paragraph">この式では値1（&#8221;S01&#8243;）に対応する結果1がないためエラーになります。「値と結果はペア」というルールを意識して、引数を1つずつ数えながら書きましょう。</p>



<h3 class="wp-block-heading"><span id="toc23">全角・半角の不一致に注意</span></h3>



<p class="wp-block-paragraph">SWITCH関数の値の照合は <strong>大文字と小文字を区別しません</strong>（「abc」と「ABC」は同じと判定）が、<strong>全角と半角は区別します</strong>（「S01」と「Ｓ０１」は別物）。データの表記ゆれがある場合は、事前に<a href="https://mashukabu.com/spreadsheet-text-function/">ASC関数</a>で半角に統一しておくと安心です。</p>



<pre class="wp-block-code"><code>=SWITCH(ASC(A2), &quot;S01&quot;, &quot;営業部&quot;, &quot;A01&quot;, &quot;総務部&quot;, &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph"><code>ASC(A2)</code>で全角英数字を半角に変換してから判定するので、入力時のばらつきを吸収できます。</p>



<h3 class="wp-block-heading"><span id="toc24">文字列と数値の混在に注意</span></h3>



<p class="wp-block-paragraph">数値の「1」と文字列の「&#8221;1&#8243;」は別物として扱われます。コード列に文字列で「1」が入力されていると、数値の<code>1</code>では一致しません。</p>



<pre class="wp-block-code"><code>=SWITCH(A2, 1, &quot;S&quot;, 2, &quot;A&quot;, &quot;未評価&quot;)</code></pre>



<p class="wp-block-paragraph">A2が文字列の「&#8221;1&#8243;」だと、上の式では「未評価」が返ります。セルの表示形式が「文字列」になっている場合は、<code>=SWITCH(VALUE(A2), 1, "S", ...)</code> のように <a href="https://mashukabu.com/spreadsheet-text-function/">VALUE関数</a> で数値に変換してから判定するか、判定する値も文字列で揃えて <code>=SWITCH(A2, "1", "S", "2", "A", ...)</code> と書きます。</p>



<h2 class="wp-block-heading"><span id="toc25">SWITCH関数と似た関数の使い分け</span></h2>



<p class="wp-block-paragraph">ケース分岐や条件判定に使える関数は他にもあります。それぞれの特徴を比較して、場面に応じて使い分けましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>判定方式</th><th>範囲条件</th><th>既定値</th><th>向いている場面</th></tr></thead><tbody><tr><td><strong>SWITCH</strong></td><td><strong>完全一致</strong></td><td><strong>不可</strong></td><td><strong>最後の引数</strong></td><td><strong>コード→ラベル変換（候補10個以下）</strong></td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-if-function/">IF</a>（ネスト）</td><td>自由な条件式</td><td>可</td><td>最後のELSE</td><td>条件1〜2個の単純な分岐</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-ifs-function/">IFS</a></td><td>自由な条件式</td><td>可</td><td><code>TRUE</code>+値で代用</td><td>範囲条件（80点以上ならAなど）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE</a></td><td>連続整数のインデックス</td><td>不可</td><td>なし（#VALUE!）</td><td>連番（1,2,3&#8230;）→値の変換</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP</a></td><td>完全一致／近似一致</td><td>近似なら可</td><td>別途設定</td><td>候補10個超のマスタ参照</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc26">IFネスト→SWITCH関数への書き換え（Before/After）</span></h3>



<p class="wp-block-paragraph">部署コードを3種類で判定する場合を見比べてみましょう。</p>



<p class="wp-block-paragraph"><strong>Before（IFネスト）:</strong></p>



<pre class="wp-block-code"><code>=IF(A2=&quot;S01&quot;, &quot;営業部&quot;, IF(A2=&quot;A01&quot;, &quot;総務部&quot;, IF(A2=&quot;F01&quot;, &quot;経理部&quot;, &quot;該当なし&quot;)))</code></pre>



<p class="wp-block-paragraph"><strong>After（SWITCH関数）:</strong></p>



<pre class="wp-block-code"><code>=SWITCH(A2, &quot;S01&quot;, &quot;営業部&quot;, &quot;A01&quot;, &quot;総務部&quot;, &quot;F01&quot;, &quot;経理部&quot;, &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">IFネストでは <code>A2=</code> を3回繰り返していますが、SWITCH関数では1回で済みます。条件が増えるほど、この差は大きくなりますよ。読み手も「これは値の照合だな」と一目で意図が掴めるのがメリットです。</p>



<h3 class="wp-block-heading"><span id="toc27">SWITCH関数とIFS関数の使い分け</span></h3>



<p class="wp-block-paragraph">SWITCH関数は完全一致専用、IFS関数は自由な条件式が書けます。</p>



<ul class="wp-block-list"><li><strong>値の完全一致で振り分け</strong> → SWITCH関数</li><li><strong><code>>=</code> <code><</code> などの範囲条件で振り分け</strong> → IFS関数</li><li><strong>条件式を細かくカスタマイズ</strong> → IFS関数</li></ul>



<p class="wp-block-paragraph">たとえば「80点以上ならA、60点以上ならB...」のような範囲判定にはSWITCH関数は不向きです。IFS関数を使いましょう。</p>



<pre class="wp-block-code"><code>=IFS(B2&gt;=80, &quot;A&quot;, B2&gt;=60, &quot;B&quot;, B2&gt;=40, &quot;C&quot;, TRUE, &quot;D&quot;)</code></pre>



<p class="wp-block-paragraph">逆に「コードが完全に一致するかどうか」を判定するなら、SWITCH関数のほうが意図が明確に伝わります。</p>



<h3 class="wp-block-heading"><span id="toc28">SWITCH関数とCHOOSE関数の使い分け</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE関数</a> は <strong>連続した整数（1, 2, 3, ...）</strong> をインデックスとして値を返す関数です。</p>



<pre class="wp-block-code"><code>=CHOOSE(B2, &quot;S&quot;, &quot;A&quot;, &quot;B&quot;, &quot;C&quot;)</code></pre>



<p class="wp-block-paragraph">B2が1なら"S"、2なら"A"、3なら"B"、4なら"C"が返ります。値が1から始まる連番なら、こちらのほうが短く書けます。</p>



<p class="wp-block-paragraph">ただし、CHOOSE関数は次のケースに弱いです。</p>



<ul class="wp-block-list"><li>値が <strong>0始まり</strong>（CHOOSEは1以上が必要）</li><li>値が <strong>飛び飛び</strong>（1, 3, 5など）</li><li>値が <strong>文字列</strong>（CHOOSEは数値のみ）</li><li><strong>既定値が設定できない</strong> （範囲外は<code>#VALUE!</code>エラー）</li></ul>



<p class="wp-block-paragraph">これらに該当する場合はSWITCH関数を使いましょう。「コードがそのまま連番ならCHOOSE、そうでなければSWITCH」と覚えておくとラクです。</p>



<h3 class="wp-block-heading"><span id="toc29">SWITCH関数とVLOOKUP関数の使い分け</span></h3>



<p class="wp-block-paragraph">候補が10個を超えてくると、SWITCH関数の式は長くなってメンテしづらくなります。そんなときは別シートにマスタテーブルを作って <a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a> で参照したほうが扱いやすいです。</p>



<ul class="wp-block-list"><li><strong>候補10個以下・固定</strong> → SWITCH関数（マスタ不要、式に直接書ける）</li><li><strong>候補10個超・変動あり</strong> → VLOOKUP関数（マスタ更新で対応可能）</li><li><strong>複数列を参照したい</strong> → VLOOKUP関数や<a href="https://mashukabu.com/spreadsheet-query-function/">QUERY関数</a></li></ul>



<p class="wp-block-paragraph">部署マスタのように「部署コード」「部署名」「部署長名」「所在地」のように複数列ある情報を扱うなら、SWITCH関数では対応できません。素直にマスタテーブル＋VLOOKUPを使いましょう。</p>



<h2 class="wp-block-heading"><span id="toc30">SWITCH関数のよくある質問（FAQ）</span></h2>



<p class="wp-block-paragraph"><strong>Q1. SWITCH関数とIF関数のネスト、どちらを使うべき？</strong></p>



<p class="wp-block-paragraph">A. 「<strong>値の完全一致</strong>で振り分ける」場合は、SWITCH関数のほうが読みやすいです。IF関数のネストは、条件が <code>>=</code> <code><</code> などの範囲判定や、複数条件の組み合わせ（AND/OR）を含む場合に使います。値の照合だけなら迷わずSWITCH関数を選びましょう。</p>



<p class="wp-block-paragraph"><strong>Q2. SWITCH関数とIFS関数の違いは何？</strong></p>



<p class="wp-block-paragraph">A. SWITCH関数は <strong>1つの式と複数の候補値を完全一致で照合</strong> します。IFS関数は <strong>複数の条件式を順番に評価</strong> します。「部署コードならSWITCH」「点数の範囲判定ならIFS」と覚えると使い分けやすいです。詳しくは <a href="https://mashukabu.com/spreadsheet-ifs-function/">スプレッドシートのIFS関数の使い方</a> もご覧ください。</p>



<p class="wp-block-paragraph"><strong>Q3. SWITCH関数で範囲条件（80点以上ならAなど）を書ける？</strong></p>



<p class="wp-block-paragraph">A. 第1引数に <code>TRUE</code> を指定すれば書けますが、可読性の観点からは <a href="https://mashukabu.com/spreadsheet-ifs-function/">IFS関数</a> のほうが推奨です。<code>=IFS(A2>=80, "A", A2>=60, "B", TRUE, "C")</code> のように書いたほうが意図が伝わります。</p>



<p class="wp-block-paragraph"><strong>Q4. SWITCH関数の既定値を省略するとどうなる？</strong></p>



<p class="wp-block-paragraph">A. どの値にも一致しないと <code>#N/A</code> エラーが返ります。実務では「該当なし」「未分類」「空文字<code>""</code>」など、意味のある既定値を設定しておくのがおすすめです。</p>



<p class="wp-block-paragraph"><strong>Q5. SWITCH関数をARRAYFORMULAで列全体に適用したい</strong></p>



<p class="wp-block-paragraph">A. SWITCH関数は配列引数に対応していないため、ARRAYFORMULAでは1セル分しか結果が返りません。列全体に適用したい場合は <a href="https://mashukabu.com/spreadsheet-ifs-function/">IFS関数</a> に書き換えてください。例: <code>=ARRAYFORMULA(IFS(A2:A100="", "", A2:A100="S01", "営業部", TRUE, "該当なし"))</code></p>



<p class="wp-block-paragraph"><strong>Q6. SWITCH関数は古いExcelでも使える？</strong></p>



<p class="wp-block-paragraph">A. Excel 2019以降またはMicrosoft 365でのみ使えます。Excel 2016以前と互換性が必要なファイルでは、IFネストか<a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>で代用してください。</p>



<p class="wp-block-paragraph"><strong>Q7. SWITCH関数で値を大文字・小文字区別して判定したい</strong></p>



<p class="wp-block-paragraph">A. SWITCH関数は値の照合で大文字・小文字を区別しません（"abc"と"ABC"が一致する）。区別したい場合は <code>EXACT関数</code> を使ってIFS関数で書き換えます。例: <code>=IFS(EXACT(A2, "ABC"), "X", EXACT(A2, "abc"), "Y", TRUE, "")</code></p>



<h2 class="wp-block-heading"><span id="toc31">ExcelのSWITCH関数との違い</span></h2>



<p class="wp-block-paragraph">SWITCH関数はExcel（2019以降）とGoogleスプレッドシートで <strong>基本動作はほぼ同じ</strong> です。構文・引数・既定値の扱いはすべて共通で、ファイルをやり取りしても結果がずれることはありません。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>Googleスプレッドシート</th><th>Excel（2019以降）</th></tr></thead><tbody><tr><td>基本構文</td><td><code>=SWITCH(式, 値1, 結果1, ..., [既定値])</code></td><td>同じ</td></tr><tr><td>最大ペア数</td><td>126ペア</td><td>126ペア</td></tr><tr><td>既定値</td><td>最後の奇数引数</td><td>最後の奇数引数</td></tr><tr><td>大文字・小文字区別</td><td>しない</td><td>しない</td></tr><tr><td>全角・半角区別</td><td>する</td><td>する</td></tr><tr><td>配列対応</td><td>なし（ARRAYFORMULAでも1セル分）</td><td>なし（スピル非対応）</td></tr><tr><td>対応バージョン</td><td>全バージョン</td><td>2019以降またはM365</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">両環境での差は実質ないので、Excelで作ったSWITCH関数の数式はそのままスプレッドシートに貼っても動きます。Excel版の詳しい解説は <a href="https://mashukabu.com/excel-function-howto-use-switch/">ExcelのSWITCH関数の使い方</a> をご覧ください。</p>



<h2 class="wp-block-heading"><span id="toc32">まとめ：SWITCH関数で完全一致のケース分岐をスッキリ書こう</span></h2>



<p class="wp-block-paragraph">SWITCH関数は、<strong>値と結果のペアを並べていくだけで完全一致のケース分岐ができる</strong> シンプルな関数です。ポイントをおさらいしましょう。</p>



<ul class="wp-block-list"><li>構文は <code>=SWITCH(式, 値1, 結果1, 値2, 結果2, ..., 既定値)</code>。値と結果は必ずペアで指定</li><li><strong>既定値を必ず設定</strong>して、<code>#N/A</code>エラーを防ぐ。未登録コードの発見もしやすくなる</li><li>IFネストより読みやすく、条件の追加・変更がカンタン</li><li>候補10個以下で固定なら <strong>SWITCH</strong>、10個超や変動ありなら <strong>VLOOKUP</strong> に切り替える</li><li>範囲条件（>=など）には <a href="https://mashukabu.com/spreadsheet-ifs-function/">IFS関数</a>、連番には <a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE関数</a> を使い分ける</li><li>配列対応が必要なら <a href="https://mashukabu.com/spreadsheet-ifs-function/">IFS</a> + <a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA</a> に書き換える</li></ul>



<p class="wp-block-paragraph">まずは「部署コード→部署名」の変換から試してみてください。IF関数のネストの括弧地獄から解放されて、数式の見通しがグッと良くなりますよ。</p>



<h3 class="wp-block-heading"><span id="toc33">この記事で紹介した関数・関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-if-function/">スプレッドシートのIF関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-ifs-function/">スプレッドシートのIFS関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-choose-function/">スプレッドシートのCHOOSE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-iferror-function/">スプレッドシートのIFERROR関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-vlookup-function/">スプレッドシートのVLOOKUP関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-weekday-function/">スプレッドシートのWEEKDAY関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシートのARRAYFORMULA関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-switch/">ExcelのSWITCH関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-switch-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのIF・IFS・IFERROR・IFNAの使い分け｜選び方フロー付き</title>
		<link>https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/</link>
					<comments>https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 20 Mar 2026 23:09:12 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[IFERROR関数]]></category>
		<category><![CDATA[IFNA関数]]></category>
		<category><![CDATA[IFS関数]]></category>
		<category><![CDATA[IF関数]]></category>
		<category><![CDATA[エラー処理]]></category>
		<category><![CDATA[使い分け]]></category>
		<category><![CDATA[条件分岐]]></category>
		<category><![CDATA[比較]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4707</guid>

					<description><![CDATA[ExcelのIF・IFS・IFERROR・IFNAの4関数を「条件の数」「エラー対処が目的か」の2軸で整理。選び方フローチャートとIF→IFSの書き換え例で、どの関数を使うべきか一目でわかります。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「IF関数は使えるけど、IFSとかIFERRORとか似た名前の関数がいくつもあって、どれを使えばいいかわからない」と感じたこと、ありませんか？</p>



<p class="wp-block-paragraph">間違った関数を選ぶと、数式がムダに複雑になったり、本来気づくべきエラーを見落としてしまったりします。</p>



<p class="wp-block-paragraph">この記事では、IF・IFS・IFERROR・IFNAの4つの関数を「条件分岐か、エラー処理か」「条件の数はいくつか」という2つの軸でスッキリ整理します。記事の最後には選び方フローチャートも用意したので、もう迷うことはありませんよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">IF系4関数の違い【結論から】</a></li><li><a href="#toc2" tabindex="0">IF関数の基本と使いどころ</a><ol><li><a href="#toc3" tabindex="0">構文</a></li><li><a href="#toc4" tabindex="0">使用例</a></li><li><a href="#toc5" tabindex="0">IFが向いているケース</a></li></ol></li><li><a href="#toc6" tabindex="0">IFS関数の基本と使いどころ</a><ol><li><a href="#toc7" tabindex="0">構文</a></li><li><a href="#toc8" tabindex="0">IFネストからIFSへの書き換え</a></li><li><a href="#toc9" tabindex="0">IF と IFS、どちらを使う？</a></li></ol></li><li><a href="#toc10" tabindex="0">IFERROR関数の基本と使いどころ</a><ol><li><a href="#toc11" tabindex="0">構文</a></li><li><a href="#toc12" tabindex="0">対処できるエラーの種類</a></li><li><a href="#toc13" tabindex="0">使用例</a></li><li><a href="#toc14" tabindex="0">IFERRORの注意点</a></li></ol></li><li><a href="#toc15" tabindex="0">IFNA関数の基本と使いどころ</a><ol><li><a href="#toc16" tabindex="0">構文</a></li><li><a href="#toc17" tabindex="0">IFERRORとIFNAの使い分け</a></li><li><a href="#toc18" tabindex="0">使用例</a></li></ol></li><li><a href="#toc19" tabindex="0">4関数の選び方フローチャート</a></li><li><a href="#toc20" tabindex="0">実務でよく使う組み合わせパターン</a><ol><li><a href="#toc21" tabindex="0">パターン1: IFS + IFERROR（条件分岐 + エラー処理）</a></li><li><a href="#toc22" tabindex="0">パターン2: IF + AND/OR（複合条件の分岐）</a></li><li><a href="#toc23" tabindex="0">パターン3: VLOOKUP + IFNA（検索 + エラー処理）</a></li></ol></li><li><a href="#toc24" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">IF系4関数の違い【結論から】</span></h2>



<p class="wp-block-paragraph">まず結論です。4つの関数は大きく2グループに分かれます。</p>



<ul class="wp-block-list"><li><strong>条件分岐グループ</strong>: IF、IFS</li><li><strong>エラー処理グループ</strong>: IFERROR、IFNA</li></ul>



<p class="wp-block-paragraph">「条件によって表示を切り替えたい」ならIF or IFS、「数式のエラーを処理したい」ならIFERROR or IFNAです。</p>



<p class="wp-block-paragraph">以下の比較表で、それぞれの特徴を一目で確認できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>IF</th><th>IFS</th><th>IFERROR</th><th>IFNA</th></tr></thead><tbody><tr><td>役割</td><td>条件分岐（1条件）</td><td>条件分岐（複数条件）</td><td>エラー処理（全種）</td><td>エラー処理（#N/Aのみ）</td></tr><tr><td>構文</td><td><code>=IF(条件, 真, 偽)</code></td><td><code>=IFS(条件1, 値1, ...)</code></td><td><code>=IFERROR(式, エラー時)</code></td><td><code>=IFNA(式, NA時)</code></td></tr><tr><td>対応バージョン</td><td>全バージョン</td><td>2019 / 365</td><td>2007以降</td><td>2013以降</td></tr><tr><td>ネスト</td><td>最大64段（実用は3段）</td><td>不要（最大127条件）</td><td>不要</td><td>不要</td></tr><tr><td>おすすめ場面</td><td>条件が1〜2個</td><td>条件が3個以上</td><td>計算エラー全般</td><td>VLOOKUP等の検索エラー</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">この表だけで判断できることも多いですが、ここから各関数の使いどころをもう少し掘り下げていきましょう。</p>



<h2 class="wp-block-heading"><span id="toc2">IF関数の基本と使いどころ</span></h2>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>は、Excelの条件分岐でもっとも基本的な関数です。「もし〜なら A、そうでなければ B」という処理を1行で書けます。</p>



<h3 class="wp-block-heading"><span id="toc3">構文</span></h3>



<pre class="wp-block-code"><code>=IF(論理式, 値が真の場合, [値が偽の場合])</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須</th><th>説明</th></tr></thead><tbody><tr><td>論理式</td><td>必須</td><td>TRUE/FALSEに評価される条件式</td></tr><tr><td>値が真の場合</td><td>必須</td><td>条件がTRUEのときの返し値</td></tr><tr><td>値が偽の場合</td><td>省略可</td><td>条件がFALSEのときの返し値（省略時はFALSE）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc4">使用例</span></h3>



<p class="wp-block-paragraph">たとえば、売上が目標を超えたら「達成」と表示する場合はこう書きます。</p>



<pre class="wp-block-code"><code>=IF(B2&gt;=100000, &quot;達成&quot;, &quot;未達&quot;)</code></pre>



<p class="wp-block-paragraph">条件が1つだけのシンプルな場面なら、IF関数が最適です。</p>



<h3 class="wp-block-heading"><span id="toc5">IFが向いているケース</span></h3>



<ul class="wp-block-list"><li>「合格 / 不合格」のような二択判定</li><li><a href="https://mashukabu.com/excel-function-howto-use-and/">AND関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-or/">OR関数</a>と組み合わせた複合条件（条件は1セットだが、判定要素が複数ある場合）</li><li>Excel 2016以前のファイルでも使う必要がある場合</li></ul>



<pre class="wp-block-code"><code>=IF(AND(B2&gt;=100000, C2&gt;=50), &quot;S評価&quot;, &quot;対象外&quot;)</code></pre>



<p class="wp-block-paragraph">上の式は「売上10万以上 かつ 件数50以上」を同時に満たすかどうかを判定しています。条件の数は1つ（ANDで束ねた複合条件）なので、IFで十分対応できます。</p>



<h2 class="wp-block-heading"><span id="toc6">IFS関数の基本と使いどころ</span></h2>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-ifs/">IFS関数</a>は、複数の条件を上から順に判定して、最初にTRUEになった条件の値を返す関数です。IFのネスト（入れ子）を使わずに、3つ以上の条件分岐を書けるのが最大のメリットです。</p>



<h3 class="wp-block-heading"><span id="toc7">構文</span></h3>



<pre class="wp-block-code"><code>=IFS(条件1, 値1, 条件2, 値2, ..., TRUE, &quot;それ以外&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須</th><th>説明</th></tr></thead><tbody><tr><td>条件1</td><td>必須</td><td>1つ目の条件式</td></tr><tr><td>値1</td><td>必須</td><td>条件1がTRUEのときの返し値</td></tr><tr><td>条件2, 値2 &#8230;</td><td>省略可</td><td>2つ目以降の条件と値のペア（最大127組）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ポイントは、最後の条件を <code>TRUE</code> にすること。これが「どの条件にも当てはまらない場合」のデフォルト値（IFでいう「偽の場合」）になります。この <code>TRUE</code> を省略すると、どの条件にも合わないときに#N/Aエラーが出るので注意してください。</p>



<h3 class="wp-block-heading"><span id="toc8">IFネストからIFSへの書き換え</span></h3>



<p class="wp-block-paragraph">IFを3段ネストした式と、IFSに書き換えた式を並べてみましょう。</p>



<pre class="wp-block-code"><code>【Before: IFネスト3段】
=IF(A2&gt;=90, &quot;優&quot;, IF(A2&gt;=70, &quot;良&quot;, IF(A2&gt;=50, &quot;可&quot;, &quot;不可&quot;)))

【After: IFS】
=IFS(A2&gt;=90, &quot;優&quot;, A2&gt;=70, &quot;良&quot;, A2&gt;=50, &quot;可&quot;, TRUE, &quot;不可&quot;)</code></pre>



<p class="wp-block-paragraph">どうでしょうか。IFS版のほうがカッコの入れ子がなくなり、条件と結果のペアが横に並んでいて読みやすいですよね。</p>



<h3 class="wp-block-heading"><span id="toc9">IF と IFS、どちらを使う？</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>判断基準</th><th>IF</th><th>IFS</th></tr></thead><tbody><tr><td>条件の数</td><td>1〜2個</td><td>3個以上</td></tr><tr><td>可読性</td><td>ネスト2段までなら十分</td><td>3段以上で圧倒的に見やすい</td></tr><tr><td>バージョン互換</td><td>全バージョンOK</td><td>2019 / 365 のみ</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>迷ったときの目安</strong>: 「IF文のカッコが3段以上になりそうだな」と思ったら、IFS関数への切り替えを検討してみてください。ただし、社内で古いバージョンのExcel（2016以前）を使っている人がいる場合は、IFネストのほうが安全です。</p>



<h2 class="wp-block-heading"><span id="toc10">IFERROR関数の基本と使いどころ</span></h2>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>は、数式がエラーを返した場合に代替値を表示する関数です。条件分岐ではなく、<strong>エラー処理</strong>が目的です。</p>



<h3 class="wp-block-heading"><span id="toc11">構文</span></h3>



<pre class="wp-block-code"><code>=IFERROR(値, エラーの場合の値)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須</th><th>説明</th></tr></thead><tbody><tr><td>値</td><td>必須</td><td>エラーを確認する数式</td></tr><tr><td>エラーの場合の値</td><td>必須</td><td>エラーだったときに返す値</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc12">対処できるエラーの種類</span></h3>



<p class="wp-block-paragraph">IFERRORは以下の<strong>7種類すべてのエラー</strong>を一括で処理します。</p>



<p class="wp-block-paragraph"><code>#N/A</code> <code>#VALUE!</code> <code>#REF!</code> <code>#DIV/0!</code> <code>#NUM!</code> <code>#NAME?</code> <code>#NULL!</code></p>



<p class="wp-block-paragraph">エラーの種類については「<a href="https://mashukabu.com/excel-error-value-list/">Excelのエラー値一覧</a>」で詳しく解説しています。</p>



<h3 class="wp-block-heading"><span id="toc13">使用例</span></h3>



<p class="wp-block-paragraph">もっともよく使うのは、割り算のゼロ除算エラーを回避するパターンです。</p>



<pre class="wp-block-code"><code>=IFERROR(B2/C2, 0)</code></pre>



<p class="wp-block-paragraph">C2が0やブランクのとき、#DIV/0!エラーのかわりに 0 を返します。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-vlookup/">VLOOKUP</a>で検索値が見つからなかったときのエラーを回避するパターンもよく使います。</p>



<pre class="wp-block-code"><code>=IFERROR(VLOOKUP(A2, 商品マスタ, 2, FALSE), &quot;該当なし&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc14">IFERRORの注意点</span></h3>



<p class="wp-block-paragraph">IFERRORは便利ですが、<strong>すべてのエラーを消してしまう</strong>点に注意が必要です。</p>



<p class="wp-block-paragraph">たとえば、数式にスペルミスがあって <code>#NAME?</code> エラーが出ているのに、IFERRORでラップしているとエラーが見えなくなります。本来は修正すべきバグが隠れてしまうわけです。</p>



<p class="wp-block-paragraph">「エラーが出たらとりあえずIFERRORで囲む」というクセがある人は、この後紹介するIFNA関数のほうが安全かもしれません。</p>



<h2 class="wp-block-heading"><span id="toc15">IFNA関数の基本と使いどころ</span></h2>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-ifna/">IFNA関数</a>は、<strong>#N/Aエラーだけ</strong>を処理する関数です。それ以外のエラー（#VALUE!や#REF!など）はそのまま表示します。</p>



<h3 class="wp-block-heading"><span id="toc16">構文</span></h3>



<pre class="wp-block-code"><code>=IFNA(値, NAの場合の値)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須</th><th>説明</th></tr></thead><tbody><tr><td>値</td><td>必須</td><td>#N/Aを確認する数式</td></tr><tr><td>NAの場合の値</td><td>必須</td><td>#N/Aだったときに返す値</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc17">IFERRORとIFNAの使い分け</span></h3>



<p class="wp-block-paragraph">IFERRORとIFNAの違いを、もう少し具体的に見てみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>IFERROR</th><th>IFNA</th></tr></thead><tbody><tr><td>処理するエラー</td><td>全7種（#N/A, #VALUE!, #REF! 等）</td><td>#N/Aのみ</td></tr><tr><td>数式バグの検出</td><td>隠してしまう可能性あり</td><td>バグはエラーとして表示される</td></tr><tr><td>おすすめ場面</td><td>割り算のゼロ除算、計算エラー全般</td><td>VLOOKUP/XLOOKUPなどの検索関数</td></tr><tr><td>対応バージョン</td><td>Excel 2007以降</td><td>Excel 2013以降</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc18">使用例</span></h3>



<p class="wp-block-paragraph">VLOOKUPで「検索値が見つからない」場合だけ処理したいなら、IFNAが最適です。</p>



<pre class="wp-block-code"><code>=IFNA(VLOOKUP(A2, 商品マスタ, 2, FALSE), &quot;未登録&quot;)</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-xlookup/">XLOOKUP関数</a>も#N/Aエラーを返すので、同じようにIFNAで処理できます。</p>



<pre class="wp-block-code"><code>=IFNA(XLOOKUP(A2, 商品名, 単価), &quot;未登録&quot;)</code></pre>



<p class="wp-block-paragraph">もしこの数式にセル参照のミス（#REF!）や型の不一致（#VALUE!）があった場合、IFNAなら<strong>エラーが表示される</strong>ので問題にすぐ気づけます。IFERRORだとこれらのバグも「未登録」と表示されてしまい、発見が遅れます。</p>



<p class="wp-block-paragraph"><strong>まとめると</strong>: 検索関数のエラー処理にはIFNAのほうが安全です。計算式のゼロ除算など、#N/A以外のエラーも処理したい場面ではIFERRORを使いましょう。</p>



<h2 class="wp-block-heading"><span id="toc19">4関数の選び方フローチャート</span></h2>



<p class="wp-block-paragraph">ここまで紹介した4関数を、どの場面でどれを使うか迷わず選べるフローチャートにまとめました。</p>



<p class="wp-block-paragraph">以下の順番で質問に答えていくだけで、使うべき関数がわかります。</p>



<p class="wp-block-paragraph"><strong>Q1. やりたいことは何ですか？</strong></p>



<ul class="wp-block-list"><li><strong>条件によって表示を切り替えたい</strong> → Q2へ</li><li><strong>数式のエラーを処理したい</strong> → Q3へ</li></ul>



<p class="wp-block-paragraph"><strong>Q2. 条件はいくつありますか？</strong></p>



<ul class="wp-block-list"><li><strong>1〜2個</strong> → <strong>IF関数</strong> を使う<ul><li>AND/ORで複合条件にしてもOK</li></ul></li><li><strong>3個以上</strong> → <strong>IFS関数</strong> を使う<ul><li>ただしExcel 2016以前ではIFネストを使う</li></ul></li></ul>



<p class="wp-block-paragraph"><strong>Q3. 処理したいエラーの種類は？</strong></p>



<ul class="wp-block-list"><li><strong>#N/Aだけ処理したい</strong>（VLOOKUP/XLOOKUP等の検索エラー） → <strong>IFNA関数</strong> を使う<ul><li>数式のバグを見逃さない安全な選択</li></ul></li><li><strong>すべてのエラーを処理したい</strong>（#DIV/0!や#VALUE!も含む） → <strong>IFERROR関数</strong> を使う<ul><li>ただし数式バグも隠れるリスクに注意</li></ul></li></ul>



<p class="wp-block-paragraph">このフローに従えば、4つの関数で迷うことはなくなるはずです。</p>



<h2 class="wp-block-heading"><span id="toc20">実務でよく使う組み合わせパターン</span></h2>



<p class="wp-block-paragraph">最後に、IF系関数を組み合わせて使う実務パターンを3つ紹介します。</p>



<h3 class="wp-block-heading"><span id="toc21">パターン1: IFS + IFERROR（条件分岐 + エラー処理）</span></h3>



<p class="wp-block-paragraph">計算結果を条件分岐したいけど、元の計算式がエラーになる可能性がある場合に使います。</p>



<pre class="wp-block-code"><code>=IFERROR(IFS(B2/C2&gt;=1.2, &quot;大幅増&quot;, B2/C2&gt;=1, &quot;微増&quot;, TRUE, &quot;減少&quot;), &quot;データなし&quot;)</code></pre>



<p class="wp-block-paragraph">この式は「前年比（B2/C2）」に応じた評価を出しつつ、C2がゼロだった場合のエラーもカバーしています。</p>



<h3 class="wp-block-heading"><span id="toc22">パターン2: IF + AND/OR（複合条件の分岐）</span></h3>



<p class="wp-block-paragraph">「AかつB」や「AまたはB」の条件判定は、IF関数にAND/OR関数を組み合わせて書きます。</p>



<pre class="wp-block-code"><code>=IF(AND(B2&gt;=&quot;2026/4/1&quot;, B2&lt;=&quot;2026/4/30&quot;), &quot;4月分&quot;, &quot;対象外&quot;)
=IF(OR(C2=&quot;東京&quot;, C2=&quot;大阪&quot;, C2=&quot;名古屋&quot;), &quot;主要拠点&quot;, &quot;その他&quot;)</code></pre>



<p class="wp-block-paragraph">AND/ORの詳しい使い方は「<a href="https://mashukabu.com/excel-function-howto-use-and/">AND関数の使い方</a>」「<a href="https://mashukabu.com/excel-function-howto-use-or/">OR関数の使い方</a>」をご覧ください。</p>



<h3 class="wp-block-heading"><span id="toc23">パターン3: VLOOKUP + IFNA（検索 + エラー処理）</span></h3>



<p class="wp-block-paragraph">VLOOKUPで検索値が見つからないときだけ代替値を返すパターンです。実務でもっとも使用頻度が高い組み合わせのひとつです。</p>



<pre class="wp-block-code"><code>=IFNA(VLOOKUP(A2, 商品マスタ!A:C, 3, FALSE), &quot;価格未設定&quot;)</code></pre>



<p class="wp-block-paragraph">VLOOKUPのかわりにXLOOKUPを使う場合も同じ書き方でOKです。XLOOKUPには第4引数でエラー時の代替値を指定できますが、IFNAで統一しておけば数式のスタイルが揃って管理しやすくなります。</p>



<h2 class="wp-block-heading"><span id="toc24">まとめ</span></h2>



<p class="wp-block-paragraph">ExcelのIF系4関数の使い分けをおさらいしましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>役割</th><th>使うべき場面</th></tr></thead><tbody><tr><td>IF</td><td>条件分岐（1〜2条件）</td><td>シンプルな二択・AND/ORとの複合条件</td></tr><tr><td>IFS</td><td>条件分岐（3条件以上）</td><td>ネストを避けたい多段階評価</td></tr><tr><td>IFERROR</td><td>エラー処理（全エラー）</td><td>ゼロ除算・計算エラーの回避</td></tr><tr><td>IFNA</td><td>エラー処理（#N/Aのみ）</td><td>VLOOKUP/XLOOKUPの検索エラー処理</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">判断に迷ったら、本記事のフローチャートに立ち返ってみてください。</p>



<ul class="wp-block-list"><li>やりたいのが<strong>条件分岐</strong>なら → 条件の数でIF or IFSを選ぶ</li><li>やりたいのが<strong>エラー処理</strong>なら → 対象エラーの種類でIFERROR or IFNAを選ぶ</li></ul>



<p class="wp-block-paragraph">まずは自分の数式が「条件分岐」と「エラー処理」のどちらなのかを見極めるところから始めてみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのIF関数の使い方｜条件分岐を基本から解説</title>
		<link>https://mashukabu.com/spreadsheet-if-function/</link>
					<comments>https://mashukabu.com/spreadsheet-if-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 20 Mar 2026 13:57:10 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[AND関数]]></category>
		<category><![CDATA[IFERROR関数]]></category>
		<category><![CDATA[IFS関数]]></category>
		<category><![CDATA[IF関数]]></category>
		<category><![CDATA[OR関数]]></category>
		<category><![CDATA[条件分岐]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4701</guid>

					<description><![CDATA[スプレッドシートのIF関数の使い方を基本から丁寧に解説。条件分岐の構文から、AND/ORを使った複数条件、ネストIF（入れ子）、よくあるエラーの対処まで実務シナリオで解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「スプレッドシートで条件によって表示を切り替えたい」「達成・未達成を自動で判定したい」。こんな場面、仕事でよくありますよね。</p>



<p class="wp-block-paragraph">手作業で1行ずつ確認して入力するのは大変です。データが増えるたびにやり直すのも非効率ですよね。</p>



<p class="wp-block-paragraph">そんなときに使うのが、スプレッドシートのIF関数です。この記事では基本の書き方から、AND・ORを使った複数条件、ネストIF（入れ子）まで丁寧に解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-3" checked><label class="toc-title" for="toc-checkbox-3">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのIF関数とは？条件分岐の基本的な仕組み</a><ol><li><a href="#toc2" tabindex="0">IF関数の書き方（構文・引数）</a></li><li><a href="#toc3" tabindex="0">最もシンプルな使用例</a></li><li><a href="#toc4" tabindex="0">ExcelのIFとの違いはほぼなし</a></li></ol></li><li><a href="#toc5" tabindex="0">実務でよく使うIF関数の使い方3選</a><ol><li><a href="#toc6" tabindex="0">売上達成・未達成を自動判定する（営業向け）</a></li><li><a href="#toc7" tabindex="0">申請ステータスに応じてコメントを表示する（総務・人事向け）</a></li><li><a href="#toc8" tabindex="0">金額の大小で処理を分ける（経理向け）</a></li></ol></li><li><a href="#toc9" tabindex="0">複数条件のIF関数｜AND・ORの使い分け</a><ol><li><a href="#toc10" tabindex="0">AND条件（〜かつ〜）の書き方</a></li><li><a href="#toc11" tabindex="0">OR条件（〜または〜）の書き方</a></li><li><a href="#toc12" tabindex="0">AND/ORどちらを使うか迷ったときの判断フロー</a></li></ol></li><li><a href="#toc13" tabindex="0">IF関数のネスト（入れ子）で3段階以上に分岐する</a><ol><li><a href="#toc14" tabindex="0">ネストIFの書き方と実例</a></li><li><a href="#toc15" tabindex="0">ネストが深くなったらIFS関数に切り替えよう</a></li></ol></li><li><a href="#toc16" tabindex="0">IF関数でよくあるエラーと対処チェックリスト</a><ol><li><a href="#toc17" tabindex="0">TRUE・FALSEが表示される</a></li><li><a href="#toc18" tabindex="0">TRUE値とFALSE値の順番が逆になっている</a></li><li><a href="#toc19" tabindex="0">文字列を返すときのダブルクォート忘れ</a></li><li><a href="#toc20" tabindex="0">括弧の数が合わない</a></li><li><a href="#toc21" tabindex="0">#VALUE!が表示される</a></li><li><a href="#toc22" tabindex="0">IFERROR関数でエラー表示をきれいに消す</a></li></ol></li><li><a href="#toc23" tabindex="0">まとめ｜IF関数をマスターして次のステップへ</a><ol><li><a href="#toc24" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのIF関数とは？条件分岐の基本的な仕組み</span></h2>



<p class="wp-block-paragraph">IF関数（読み方: イフ関数）は、<strong>条件に応じて返す値を切り替える関数</strong>です。「IF」は英語の「もし〜なら」に由来しています。</p>



<p class="wp-block-paragraph">たとえば「売上が目標以上なら&#8221;達成&#8221;、未満なら&#8221;未達&#8221;」と表示する処理を考えてみましょう。IF関数を使えば、条件判定から表示まで1つの数式で自動化できます。</p>



<p class="wp-block-paragraph">IF関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>数値の大小で「達成」「未達」を自動判定する</li><li>特定の文字列に応じてコメントを出し分ける</li><li>空白セルかどうかで処理を変える</li><li>他の関数と組み合わせて複雑な条件分岐にも対応する</li></ul>



<p class="wp-block-paragraph">「もし〇〇なら△△、そうでなければ××」を自動化する関数、というイメージです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>IF関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性もほぼ完全なので、ファイルのやり取りでも安心です。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc2">IF関数の書き方（構文・引数）</span></h3>



<h4 class="wp-block-heading">基本構文</h4>



<pre class="wp-block-code"><code>=IF(論理式, TRUE値, FALSE値)</code></pre>



<p class="wp-block-paragraph">カッコの中に、条件・TRUEの場合の値・FALSEの場合の値を指定します。</p>



<h4 class="wp-block-heading">引数の説明</h4>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>論理式</td><td>必須</td><td>判定する条件（例: A2>=100）</td></tr><tr><td>TRUE値</td><td>必須</td><td>条件が成立したときに返す値</td></tr><tr><td>FALSE値</td><td>任意</td><td>条件が不成立のときに返す値（省略時はFALSE）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">第3引数の「FALSE値」は省略できます。省略すると論理値の FALSE が返ります。ただし実務では省略せずに明示するのが一般的ですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>文字列を返す場合はダブルクォーテーションで囲みます。数値を返す場合は囲みません。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc3">最もシンプルな使用例</span></h3>



<p class="wp-block-paragraph">B列にテストの点数が入っているとします。70点以上なら「合格」、未満なら「不合格」と表示してみましょう。</p>



<pre class="wp-block-code"><code>=IF(B2&gt;=70, &quot;合格&quot;, &quot;不合格&quot;)</code></pre>



<ul class="wp-block-list"><li><strong>B2>=70</strong>（論理式）: B2が70以上かを判定</li><li><strong>&#8220;合格&#8221;</strong>（TRUE値）: 条件が成立したら表示する文字列</li><li><strong>&#8220;不合格&#8221;</strong>（FALSE値）: 条件が不成立なら表示する文字列</li></ul>



<p class="wp-block-paragraph">B2が85なら「合格」、60なら「不合格」が返ります。</p>



<h3 class="wp-block-heading"><span id="toc4">ExcelのIFとの違いはほぼなし</span></h3>



<p class="wp-block-paragraph">IF関数の基本動作はExcelとまったく同じです。構文も引数の順番も一致しています。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>Googleスプレッドシート</th><th>Excel</th></tr></thead><tbody><tr><td>基本構文</td><td>同じ</td><td>同じ</td></tr><tr><td>引数の順番</td><td>論理式, TRUE値, FALSE値</td><td>論理式, TRUE値, FALSE値</td></tr><tr><td>FALSE値の省略</td><td>FALSEを返す</td><td>FALSEを返す</td></tr><tr><td>ネスト上限</td><td>制限なし（実質）</td><td>64階層</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ExcelのIF関数に慣れている方は、同じ書き方でそのまま使えますよ。</p>



<h2 class="wp-block-heading"><span id="toc5">実務でよく使うIF関数の使い方3選</span></h2>



<p class="wp-block-paragraph">基本がわかったところで、仕事でよく使うパターンを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc6">売上達成・未達成を自動判定する（営業向け）</span></h3>



<p class="wp-block-paragraph">A列に担当者名、B列に売上金額、C列に目標金額が入っているとします。売上が目標以上なら「達成」、未満なら「未達」と表示します。</p>



<pre class="wp-block-code"><code>=IF(B2&gt;=C2, &quot;達成&quot;, &quot;未達&quot;)</code></pre>



<ul class="wp-block-list"><li><strong>B2>=C2</strong>: 売上が目標以上かを判定</li><li><strong>&#8220;達成&#8221;</strong>: 条件成立時の表示</li><li><strong>&#8220;未達&#8221;</strong>: 条件不成立時の表示</li></ul>



<p class="wp-block-paragraph">B2が120,000、C2が100,000なら「達成」が返ります。この数式を下方向にコピーすれば全員分を一括判定できますよ。</p>



<h3 class="wp-block-heading"><span id="toc7">申請ステータスに応じてコメントを表示する（総務・人事向け）</span></h3>



<p class="wp-block-paragraph">B列に申請ステータス（「承認済」「却下」など）が入っているとします。「承認済」なら「処理完了」、それ以外なら「要確認」と表示します。</p>



<pre class="wp-block-code"><code>=IF(B2=&quot;承認済&quot;, &quot;処理完了&quot;, &quot;要確認&quot;)</code></pre>



<p class="wp-block-paragraph">文字列を条件にする場合もダブルクォーテーションで囲みます。大文字・小文字は区別されません。</p>



<p class="wp-block-paragraph">ステータスが「承認済」のときだけ「処理完了」になります。「却下」「保留」「未提出」はすべて「要確認」と表示されます。</p>



<h3 class="wp-block-heading"><span id="toc8">金額の大小で処理を分ける（経理向け）</span></h3>



<p class="wp-block-paragraph">B列に経費金額が入っているとします。10,000円以上なら「要承認」、未満なら「自動承認」と表示します。</p>



<pre class="wp-block-code"><code>=IF(B2&gt;=10000, &quot;要承認&quot;, &quot;自動承認&quot;)</code></pre>



<p class="wp-block-paragraph">B2が15,000なら「要承認」、5,000なら「自動承認」が返ります。経費申請の承認フローを可視化したいときに便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc9">複数条件のIF関数｜AND・ORの使い分け</span></h2>



<p class="wp-block-paragraph">IF関数は単体だと条件を1つしか指定できません。複数の条件を組み合わせるにはAND関数やOR関数を使います。</p>



<h3 class="wp-block-heading"><span id="toc10">AND条件（〜かつ〜）の書き方</span></h3>



<p class="wp-block-paragraph">AND関数（読み方: アンド関数）は、英語の「AND（かつ）」に由来しています。<strong>すべての条件が成立したときにTRUEを返す関数</strong>です。IF関数の論理式にAND関数を入れて使います。</p>



<p class="wp-block-paragraph">たとえば「国語が80点以上」<strong>かつ</strong>「数学が80点以上」の場合に「合格」と表示してみましょう。B列に国語、C列に数学の点数が入っているとします。</p>



<pre class="wp-block-code"><code>=IF(AND(B2&gt;=80, C2&gt;=80), &quot;合格&quot;, &quot;不合格&quot;)</code></pre>



<p class="wp-block-paragraph">B2が85、C2が90なら「合格」です。B2が85、C2が70なら「不合格」です。どちらか一方でも条件を満たさなければ「不合格」になります。</p>



<p class="wp-block-paragraph">AND関数には条件を3つ以上指定することもできます。</p>



<pre class="wp-block-code"><code>=IF(AND(B2&gt;=80, C2&gt;=80, D2&gt;=80), &quot;合格&quot;, &quot;不合格&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc11">OR条件（〜または〜）の書き方</span></h3>



<p class="wp-block-paragraph">OR関数（読み方: オア関数）は、英語の「OR（または）」に由来しています。<strong>いずれか1つでも条件が成立すればTRUEを返す関数</strong>です。</p>



<p class="wp-block-paragraph">「国語が80点以上」<strong>または</strong>「数学が80点以上」の場合に「合格」と表示します。</p>



<pre class="wp-block-code"><code>=IF(OR(B2&gt;=80, C2&gt;=80), &quot;合格&quot;, &quot;不合格&quot;)</code></pre>



<p class="wp-block-paragraph">B2が70、C2が90なら「合格」です。どちらか一方が80点以上であれば「合格」になります。B2が70、C2が60なら「不合格」です。</p>



<h3 class="wp-block-heading"><span id="toc12">AND/ORどちらを使うか迷ったときの判断フロー</span></h3>



<p class="wp-block-paragraph">迷ったときは次の基準で判断してみてください。</p>



<ul class="wp-block-list"><li><strong>すべて満たす必要がある</strong> → AND関数を使う</li><li><strong>どれか1つ満たせばよい</strong> → OR関数を使う</li></ul>



<p class="wp-block-paragraph">日本語で考えるとわかりやすいです。「〜<strong>かつ</strong>〜」ならAND、「〜<strong>または</strong>〜」ならORです。</p>



<figure class="wp-block-table"><table><thead><tr><th>パターン</th><th>使う関数</th><th>例</th></tr></thead><tbody><tr><td>売上100万以上 <strong>かつ</strong> 利益率20%以上</td><td>AND</td><td>両方クリアで「A評価」</td></tr><tr><td>遅刻3回以上 <strong>または</strong> 欠席2回以上</td><td>OR</td><td>どちらかで「要面談」</td></tr><tr><td>在庫あり <strong>かつ</strong> 単価500円以下</td><td>AND</td><td>両方で「発注不要」</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>AND関数・OR関数はARRAYFORMULA（配列数式を展開する関数）と組み合わせられません。配列処理では *(AND相当) や +(OR相当) の演算子を使います。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc13">IF関数のネスト（入れ子）で3段階以上に分岐する</span></h2>



<p class="wp-block-paragraph">IF関数の中にIF関数を入れることを「ネスト」と呼びます。2択では足りないときに使います。</p>



<h3 class="wp-block-heading"><span id="toc14">ネストIFの書き方と実例</span></h3>



<p class="wp-block-paragraph">B列にテストの点数が入っているとします。90点以上を「A」、70点以上を「B」、それ未満を「C」と3段階で評価します。</p>



<pre class="wp-block-code"><code>=IF(B2&gt;=90, &quot;A&quot;, IF(B2&gt;=70, &quot;B&quot;, &quot;C&quot;))</code></pre>



<p class="wp-block-paragraph">処理の流れは次のとおりです。</p>



<ol class="wp-block-list"><li>B2が90以上か？ → YESなら「A」を返す</li><li>NOなら次のIF関数へ → B2が70以上か？ → YESなら「B」を返す</li><li>NOなら「C」を返す</li></ol>



<p class="wp-block-paragraph">B2が95なら「A」、80なら「B」、60なら「C」です。</p>



<p class="wp-block-paragraph">4段階にする場合はもう1段ネストします。</p>



<pre class="wp-block-code"><code>=IF(B2&gt;=90, &quot;A&quot;, IF(B2&gt;=70, &quot;B&quot;, IF(B2&gt;=50, &quot;C&quot;, &quot;D&quot;)))</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>ネストする際は、条件を<strong>大きい方から順に</strong>判定するのがコツです。小さい方から書くと条件が複雑になりやすいので注意してください。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc15">ネストが深くなったらIFS関数に切り替えよう</span></h3>



<p class="wp-block-paragraph">ネストが3段階以上になると数式が読みにくくなります。そんなときはIFS関数への切り替えがおすすめです。</p>



<p class="wp-block-paragraph">IFS関数（読み方: イフス関数）は、IFを複数（Plural）扱えることを示す「S」を付けた名称です。「条件と値のペアを並べるだけ」で複数分岐を書けます。</p>



<pre class="wp-block-code"><code>=IFS(B2&gt;=90, &quot;A&quot;, B2&gt;=70, &quot;B&quot;, B2&gt;=50, &quot;C&quot;, TRUE, &quot;D&quot;)</code></pre>



<p class="wp-block-paragraph">ネストIFと同じ結果が得られますが、構造がフラットで読みやすいですよね。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>ネストIF</th><th>IFS関数</th></tr></thead><tbody><tr><td>書き方</td><td>IFの中にIFを入れる</td><td>条件と値のペアを並べる</td></tr><tr><td>可読性</td><td>3段階以上で読みにくい</td><td>フラットで読みやすい</td></tr><tr><td>デフォルト値</td><td>最後のFALSE値で指定</td><td>末尾に TRUE, &#8220;値&#8221; で指定</td></tr><tr><td>全条件不一致</td><td>FALSE値が返る</td><td>#N/Aエラーになる</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">IFS関数ですべての条件に一致しない場合は#N/Aエラーが返ります。末尾に TRUE, &#8220;デフォルト値&#8221; を入れておけば回避できますよ。</p>



<h2 class="wp-block-heading"><span id="toc16">IF関数でよくあるエラーと対処チェックリスト</span></h2>



<p class="wp-block-paragraph">IF関数で思った結果にならないケースをまとめました。</p>



<h3 class="wp-block-heading"><span id="toc17">TRUE・FALSEが表示される</span></h3>



<p class="wp-block-paragraph">「達成」「未達」と表示したいのに、TRUEやFALSEが表示されるケースです。</p>



<p class="wp-block-paragraph">原因はTRUE値・FALSE値の指定忘れです。次のように論理式だけを書いた場合に起こります。</p>



<pre class="wp-block-code"><code>=IF(B2&gt;=100)</code></pre>



<p class="wp-block-paragraph">この数式ではTRUE値・FALSE値が未指定です。そのため条件の判定結果（TRUE/FALSE）がそのまま表示されます。</p>



<p class="wp-block-paragraph">正しくは次のように書きます。</p>



<pre class="wp-block-code"><code>=IF(B2&gt;=100, &quot;達成&quot;, &quot;未達&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc18">TRUE値とFALSE値の順番が逆になっている</span></h3>



<p class="wp-block-paragraph">条件が成立したときの値（TRUE値）と、成立しなかったときの値（FALSE値）を逆に書くと、意図しない結果になります。</p>



<pre class="wp-block-code"><code>× =IF(B2&gt;=100, &quot;未達&quot;, &quot;達成&quot;)
○ =IF(B2&gt;=100, &quot;達成&quot;, &quot;未達&quot;)</code></pre>



<p class="wp-block-paragraph">「達成のつもりが未達と表示される」という場合は、第2引数と第3引数の順番を確認してください。</p>



<h3 class="wp-block-heading"><span id="toc19">文字列を返すときのダブルクォート忘れ</span></h3>



<p class="wp-block-paragraph">文字列をダブルクォーテーションで囲み忘れるとエラーになります。</p>



<pre class="wp-block-code"><code>× =IF(B2&gt;=100, 達成, 未達)
○ =IF(B2&gt;=100, &quot;達成&quot;, &quot;未達&quot;)</code></pre>



<p class="wp-block-paragraph">文字列は必ず &#8221; で囲んでください。数値を返す場合は不要です。</p>



<pre class="wp-block-code"><code>=IF(B2&gt;=100, 1, 0)</code></pre>



<h3 class="wp-block-heading"><span id="toc20">括弧の数が合わない</span></h3>



<p class="wp-block-paragraph">ネストIFを書くとき、開き括弧と閉じ括弧の数が合わないとエラーになります。</p>



<pre class="wp-block-code"><code>× =IF(B2&gt;=90, &quot;A&quot;, IF(B2&gt;=70, &quot;B&quot;, &quot;C&quot;)
○ =IF(B2&gt;=90, &quot;A&quot;, IF(B2&gt;=70, &quot;B&quot;, &quot;C&quot;))</code></pre>



<p class="wp-block-paragraph">ネストが深くなるほど括弧を数え間違えやすくなります。3段階以上のネストはIFS関数への切り替えを検討してみてください。</p>



<h3 class="wp-block-heading"><span id="toc21">#VALUE!が表示される</span></h3>



<p class="wp-block-paragraph">数式の型や構文に誤りがあると#VALUE!エラーが発生します。セルの表示形式が「文字列」に設定されていると、数値として扱われず比較が正しく機能しないことがあります。</p>



<p class="wp-block-paragraph">セルの書式を「数値」または「自動」に変更してから数式を入力し直してみてください。</p>



<h3 class="wp-block-heading"><span id="toc22">IFERROR関数でエラー表示をきれいに消す</span></h3>



<p class="wp-block-paragraph">IF関数自体はエラーを出しにくい関数です。ただし他の関数と組み合わせると#N/Aや#VALUE!が出ることがあります。</p>



<p class="wp-block-paragraph">IFERROR関数は、<strong>数式がエラーを返した場合に代わりの値を表示する関数</strong>です。</p>



<pre class="wp-block-code"><code>=IFERROR(IF(B2/C2&gt;=1, &quot;達成&quot;, &quot;未達&quot;), &quot;データなし&quot;)</code></pre>



<p class="wp-block-paragraph">C2が0や空白の場合、B2/C2で#DIV/0!エラーが発生します。IFERROR関数で囲めば「データなし」と表示できます。</p>



<p class="wp-block-paragraph">エラーを放置すると見た目が悪く、集計にも影響します。ユーザーの目に触れるシートでは積極的に使ってみてください。</p>



<h2 class="wp-block-heading"><span id="toc23">まとめ｜IF関数をマスターして次のステップへ</span></h2>



<p class="wp-block-paragraph">IF関数のポイントをおさらいしましょう。</p>



<ul class="wp-block-list"><li>IF関数は「条件に応じて返す値を切り替える」関数</li><li>書き方: =IF(論理式, TRUE値, FALSE値)</li><li>文字列を返すにはダブルクォーテーションで囲む</li><li>複数条件はAND関数（かつ）・OR関数（または）で対応</li><li>3段階以上の分岐はネストIF、またはIFS関数で対応</li><li>TRUE/FALSEが表示されたらTRUE値・FALSE値の指定漏れを確認</li></ul>



<p class="wp-block-paragraph">まずは基本の =IF(B2>=100, &#8220;達成&#8221;, &#8220;未達&#8221;) から試してみてください。条件分岐ができると、データの自動判定がグッとラクになりますよ。</p>



<p class="wp-block-paragraph">IF関数に慣れたら、条件付きの集計関数にもチャレンジしてみましょう。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc24">この記事で紹介した関数・関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-countifs-function/">スプレッドシートのCOUNTIFS関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-sumifs-function/">スプレッドシートのSUMIFS関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-countif-function/">スプレッドシートのCOUNTIF関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-sumif-function/">スプレッドシートのSUMIF関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-if-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのIFS関数の使い方｜複数条件分岐をスッキリ書く方法</title>
		<link>https://mashukabu.com/spreadsheet-ifs-function/</link>
					<comments>https://mashukabu.com/spreadsheet-ifs-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 20 Mar 2026 13:57:02 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[AND関数]]></category>
		<category><![CDATA[IFS関数]]></category>
		<category><![CDATA[IF関数]]></category>
		<category><![CDATA[SWITCH関数]]></category>
		<category><![CDATA[条件分岐]]></category>
		<category><![CDATA[複数条件]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4697</guid>

					<description><![CDATA[スプレッドシートのIFS関数の使い方を基本から解説。複数条件の分岐をIF関数のネストなしで書ける便利な関数です。構文・基本例・IF関数との違い・SWITCH関数との使い分け・エラー対処法まで実務シナリオで丁寧に解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「スプレッドシートで条件が3つ以上あるとき、IF関数のネストがどんどん深くなって読めなくなる」。こんな悩み、ありませんか？</p>



<p class="wp-block-paragraph">括弧の数を数えながら修正するのは本当にストレスですよね。条件を1つ追加するだけなのに、数式全体を読み直す必要があります。</p>



<p class="wp-block-paragraph">そんなときに使えるのが、スプレッドシートのIFS関数です。この記事では構文と基本の使い方から、IF関数との違い、実務での応用パターン、エラー対処法まで丁寧に解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのIFS関数とは？複数条件分岐の基本</a></li><li><a href="#toc2" tabindex="0">IFS関数の書き方（構文・引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc5" tabindex="0">IFS関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">サンプルデータ</a></li><li><a href="#toc7" tabindex="0">数式の入力</a></li><li><a href="#toc8" tabindex="0">結果</a></li></ol></li><li><a href="#toc9" tabindex="0">IFS関数の実践的な使い方・応用例</a><ol><li><a href="#toc10" tabindex="0">応用1: 売上ランクの自動判定</a></li><li><a href="#toc11" tabindex="0">応用2: AND関数・OR関数との組み合わせ</a></li><li><a href="#toc12" tabindex="0">応用3: 文字列の判定</a></li></ol></li><li><a href="#toc13" tabindex="0">IFS関数でよくあるエラーと対処法</a><ol><li><a href="#toc14" tabindex="0">#N/Aエラーの対処法</a></li><li><a href="#toc15" tabindex="0">条件の順番による意図しない結果</a></li></ol></li><li><a href="#toc16" tabindex="0">IFS関数とIF関数・SWITCH関数の違い・使い分け</a><ol><li><a href="#toc17" tabindex="0">IFS関数とIF関数（ネスト）の比較</a></li><li><a href="#toc18" tabindex="0">IFS関数とSWITCH関数の比較</a></li></ol></li><li><a href="#toc19" tabindex="0">まとめ</a><ol><li><a href="#toc20" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのIFS関数とは？複数条件分岐の基本</span></h2>



<p class="wp-block-paragraph">IFS関数（読み方: イフス関数）は、<strong>複数の条件を順番に判定し、最初にTRUEになった条件の値を返す関数</strong>です。名前の由来はIF関数の複数形で、「IFs（もし〜ならを複数並べる）」という意味です。</p>



<p class="wp-block-paragraph">たとえば「テストの点数が80点以上ならA、60点以上ならB、それ以外はC」という3段階の評価を考えてみましょう。IF関数のネストだと括弧が入り組んでしまいますが、IFS関数なら条件と値のペアを並べるだけです。</p>



<p class="wp-block-paragraph">IFS関数でできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>3段階以上の条件分岐をフラットに書ける</li><li>IF関数のネスト（入れ子）を解消して読みやすくする</li><li>条件の追加や変更がカンタンにできる</li><li>最大127組の条件と値のペアを指定できる</li></ul>



<p class="wp-block-paragraph">「IF関数のネスト地獄から脱出する関数」と覚えておくとわかりやすいですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>IFS関数はGoogleスプレッドシートの全バージョンで使えます。Excelでは2019以降またはMicrosoft 365で対応しています。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc2">IFS関数の書き方（構文・引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc3">基本構文</span></h3>



<pre class="wp-block-code"><code>=IFS(条件1, 値1, 条件2, 値2, ..., 条件N, 値N)</code></pre>



<p class="wp-block-paragraph">条件と値を<strong>ペアで</strong>指定するのがポイントです。条件がTRUEなら対応する値を返し、FALSEなら次の条件に進みます。</p>



<h3 class="wp-block-heading"><span id="toc4">引数の説明</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>条件1</td><td>必須</td><td>最初に判定する条件式（例: B2>=80）</td></tr><tr><td>値1</td><td>必須</td><td>条件1がTRUEのときに返す値</td></tr><tr><td>条件2, 値2</td><td>省略可</td><td>2番目以降の条件と値のペア</td></tr><tr><td>&#8230;</td><td>省略可</td><td>最大127組まで追加可能</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>引数は必ず<strong>偶数個</strong>で指定します。条件だけ書いて値を省略すると、構文エラーになるので注意してください。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc5">IFS関数の基本的な使い方</span></h2>



<p class="wp-block-paragraph">ここでは、テストの点数をA・B・Cの3段階で評価する例を使って基本をマスターしましょう。</p>



<h3 class="wp-block-heading"><span id="toc6">サンプルデータ</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th></tr></thead><tbody><tr><td>1</td><td>名前</td><td>点数</td><td>評価</td></tr><tr><td>2</td><td>田中</td><td>85</td><td>（ここに数式を入力）</td></tr><tr><td>3</td><td>佐藤</td><td>72</td><td>&nbsp;</td></tr><tr><td>4</td><td>鈴木</td><td>55</td><td>&nbsp;</td></tr><tr><td>5</td><td>高橋</td><td>90</td><td>&nbsp;</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc7">数式の入力</span></h3>



<p class="wp-block-paragraph">セルC2に次の数式を入力します。</p>



<pre class="wp-block-code"><code>=IFS(B2&gt;=80, &quot;A&quot;, B2&gt;=60, &quot;B&quot;, TRUE, &quot;C&quot;)</code></pre>



<p class="wp-block-paragraph">この数式は次のように動作します。</p>



<ol class="wp-block-list"><li>B2が80以上なら「A」を返す</li><li>B2が60以上なら「B」を返す</li><li>どちらでもなければ「C」を返す（TRUEで受け取る）</li></ol>



<p class="wp-block-paragraph">田中さんの点数は85なので、最初の条件 <code>B2>=80</code> がTRUEになり、「A」が返ります。</p>



<h3 class="wp-block-heading"><span id="toc8">結果</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th></tr></thead><tbody><tr><td>1</td><td>名前</td><td>点数</td><td>評価</td></tr><tr><td>2</td><td>田中</td><td>85</td><td>A</td></tr><tr><td>3</td><td>佐藤</td><td>72</td><td>B</td></tr><tr><td>4</td><td>鈴木</td><td>55</td><td>C</td></tr><tr><td>5</td><td>高橋</td><td>90</td><td>A</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ポイントは<strong>最後の条件にTRUEを指定する</strong>ことです。これはIF関数のFALSE値（どの条件にも合致しない場合の値）に相当します。TRUEを省略すると、すべての条件がFALSEの場合に#N/Aエラーになってしまいますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>IFS関数は<strong>上から順番に条件を評価して、最初にTRUEになった時点で処理を終了</strong>します。条件の順番が結果に影響するので、判定したい順に並べてくださいね。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc9">IFS関数の実践的な使い方・応用例</span></h2>



<h3 class="wp-block-heading"><span id="toc10">応用1: 売上ランクの自動判定</span></h3>



<p class="wp-block-paragraph">営業成績を4段階で自動分類する例です。</p>



<p class="wp-block-paragraph"><strong>Before（手作業）</strong>: 売上データを見ながら1行ずつランクを手入力</p>



<p class="wp-block-paragraph"><strong>After（IFS関数で自動化）</strong>:</p>



<pre class="wp-block-code"><code>=IFS(B2&gt;=1000000, &quot;S&quot;, B2&gt;=500000, &quot;A&quot;, B2&gt;=200000, &quot;B&quot;, TRUE, &quot;C&quot;)</code></pre>



<p class="wp-block-paragraph">100万円以上はSランク、50万円以上はAランク、20万円以上はBランク、それ以外はCランクです。条件は<strong>大きい値から順番に</strong>並べるのがコツですよ。</p>



<p class="wp-block-paragraph">小さい値から並べると、たとえば100万円の売上でも <code>B2>=200000</code> が先にTRUEになってしまい、Bランクと判定されてしまいます。</p>



<h3 class="wp-block-heading"><span id="toc11">応用2: AND関数・OR関数との組み合わせ</span></h3>



<p class="wp-block-paragraph">IFS関数の条件にAND関数やOR関数を組み合わせることもできます。AND関数（読み方: アンド関数）は複数条件をすべて満たすか判定する関数です。OR関数（読み方: オア関数）は複数条件のいずれかを満たすか判定します。</p>



<p class="wp-block-paragraph">たとえば「部署が営業で、かつ売上50万円以上なら&#8221;MVP候補&#8221;」と判定する例です。</p>



<pre class="wp-block-code"><code>=IFS(AND(A2=&quot;営業&quot;, B2&gt;=500000), &quot;MVP候補&quot;, AND(A2=&quot;営業&quot;, B2&gt;=200000), &quot;優秀&quot;, TRUE, &quot;-&quot;)</code></pre>



<p class="wp-block-paragraph">この数式では、AND関数で2つの条件を同時に判定しています。「営業部で売上50万以上」ならMVP候補です。「営業部で売上20万以上」なら優秀、それ以外は「-」を返します。</p>



<h3 class="wp-block-heading"><span id="toc12">応用3: 文字列の判定</span></h3>



<p class="wp-block-paragraph">IFS関数は数値だけでなく、文字列の条件判定にも使えます。</p>



<pre class="wp-block-code"><code>=IFS(A2=&quot;完了&quot;, &quot;対応不要&quot;, A2=&quot;進行中&quot;, &quot;フォロー&quot;, A2=&quot;未着手&quot;, &quot;要アサイン&quot;, TRUE, &quot;確認必要&quot;)</code></pre>



<p class="wp-block-paragraph">ステータス列の値に応じて次のアクションを自動で表示する使い方です。タスク管理シートで活用してみてください。</p>



<h2 class="wp-block-heading"><span id="toc13">IFS関数でよくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">IFS関数を使うときによく遭遇するエラーをまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#N/A</td><td>すべての条件がFALSEになった</td><td>最後の条件に <code>TRUE, "デフォルト値"</code> を追加する</td></tr><tr><td>構文エラー（数式の解析エラー）</td><td>引数が奇数個（条件に対応する値がない）</td><td>条件と値がペアになっているか確認する</td></tr><tr><td>#VALUE!</td><td>条件式がTRUE/FALSEを返さない</td><td>条件式に比較演算子（=, >, <など）が含まれているか確認する</td></tr><tr><td>#REF!</td><td>参照先のセルが削除された</td><td>数式内のセル参照を修正する</td></tr><tr><td>#ERROR!</td><td>数式の書き方が正しくない</td><td>カンマの位置やダブルクォーテーションの閉じ忘れを確認する</td></tr><tr><td>意図しない結果</td><td>条件の順番が間違っている</td><td>条件を大きい値（優先度の高い方）から並べ直す</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc14">#N/Aエラーの対処法</span></h3>



<p class="wp-block-paragraph">最もよくあるエラーがこの#N/Aです。IFS関数は<strong>どの条件にもTRUEにならないと#N/Aを返す</strong>仕様です。</p>



<pre class="wp-block-code"><code>=IFS(B2&gt;=80, &quot;A&quot;, B2&gt;=60, &quot;B&quot;)</code></pre>



<p class="wp-block-paragraph">この数式だと、60点未満の場合に#N/Aエラーが出ます。最後に <code>TRUE, "C"</code> を追加して対処しましょう。</p>



<pre class="wp-block-code"><code>=IFS(B2&gt;=80, &quot;A&quot;, B2&gt;=60, &quot;B&quot;, TRUE, &quot;C&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc15">条件の順番による意図しない結果</span></h3>



<p class="wp-block-paragraph">IFS関数でもう1つ注意したいのが、条件の並び順です。</p>



<pre class="wp-block-code"><code>=IFS(B2&gt;=60, &quot;B&quot;, B2&gt;=80, &quot;A&quot;, TRUE, &quot;C&quot;)</code></pre>



<p class="wp-block-paragraph">この数式だと、85点でも <code>B2>=60</code> が先にTRUEになるため「B」と判定されてしまいます。大きい値の条件を先に書くのが鉄則ですよ。</p>



<h2 class="wp-block-heading"><span id="toc16">IFS関数とIF関数・SWITCH関数の違い・使い分け</span></h2>



<h3 class="wp-block-heading"><span id="toc17">IFS関数とIF関数（ネスト）の比較</span></h3>



<p class="wp-block-paragraph">同じ3段階評価をIF関数のネストとIFS関数で書き比べてみましょう。</p>



<p class="wp-block-paragraph"><strong>IF関数のネスト:</strong></p>



<pre class="wp-block-code"><code>=IF(B2&gt;=80, &quot;A&quot;, IF(B2&gt;=60, &quot;B&quot;, &quot;C&quot;))</code></pre>



<p class="wp-block-paragraph"><strong>IFS関数:</strong></p>



<pre class="wp-block-code"><code>=IFS(B2&gt;=80, &quot;A&quot;, B2&gt;=60, &quot;B&quot;, TRUE, &quot;C&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>IF関数（ネスト）</th><th>IFS関数</th></tr></thead><tbody><tr><td>書き方</td><td>IFの中にIFを入れる</td><td>条件と値のペアを並べる</td></tr><tr><td>可読性</td><td>ネストが深くなると低下</td><td>条件が増えてもフラット</td></tr><tr><td>条件追加</td><td>括弧の位置を慎重に調整</td><td>ペアを追加するだけ</td></tr><tr><td>デフォルト値</td><td>FALSE値で指定（必ず設定される）</td><td>TRUE+値で明示的に設定が必要</td></tr><tr><td>2択の分岐</td><td>シンプルで最適</td><td>冗長になりがち</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>使い分けの目安</strong>: 条件が2つまでならIF関数、3つ以上ならIFS関数がおすすめです。IF関数の詳しい使い方は「<a href="https://mashukabu.com/spreadsheet-if-function/">スプレッドシートのIF関数の使い方</a>」で解説しています。</p>



<h3 class="wp-block-heading"><span id="toc18">IFS関数とSWITCH関数の比較</span></h3>



<p class="wp-block-paragraph">SWITCH関数（読み方: スイッチ関数。特定の値と一致するかで分岐する関数）は「値の一致判定」に特化しています。</p>



<p class="wp-block-paragraph"><strong>SWITCH関数:</strong></p>



<pre class="wp-block-code"><code>=SWITCH(A2, &quot;東京&quot;, &quot;関東&quot;, &quot;大阪&quot;, &quot;関西&quot;, &quot;名古屋&quot;, &quot;中部&quot;, &quot;その他&quot;)</code></pre>



<p class="wp-block-paragraph"><strong>IFS関数:</strong></p>



<pre class="wp-block-code"><code>=IFS(A2=&quot;東京&quot;, &quot;関東&quot;, A2=&quot;大阪&quot;, &quot;関西&quot;, A2=&quot;名古屋&quot;, &quot;中部&quot;, TRUE, &quot;その他&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>IFS関数</th><th>SWITCH関数</th></tr></thead><tbody><tr><td>判定方法</td><td>条件式（比較演算子を使える）</td><td>値の完全一致</td></tr><tr><td>範囲条件</td><td>対応（>=80など）</td><td>非対応</td></tr><tr><td>等値判定</td><td>やや冗長</td><td>スッキリ書ける</td></tr><tr><td>デフォルト値</td><td>TRUE+値</td><td>最後の引数</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>使い分けの目安</strong>: 「80点以上」のような範囲条件ならIFS関数、「東京」「大阪」のような値の一致判定ならSWITCH関数を使いましょう。</p>



<h2 class="wp-block-heading"><span id="toc19">まとめ</span></h2>



<p class="wp-block-paragraph">この記事ではスプレッドシートのIFS関数について解説しました。ポイントをおさらいしておきましょう。</p>



<ul class="wp-block-list"><li>IFS関数は<strong>条件と値のペアを並べるだけ</strong>で複数条件の分岐ができる</li><li>最後の条件に<strong>TRUEを指定</strong>して、デフォルト値を必ず設定する</li><li>条件は<strong>大きい値（優先度の高い方）から順番に</strong>並べる</li><li>2択の分岐はIF関数、3つ以上の分岐はIFS関数が便利</li><li>値の完全一致ならSWITCH関数のほうがスッキリ書ける</li></ul>



<p class="wp-block-paragraph">IFS関数を使えば、IF関数のネストで複雑になっていた数式がぐっと読みやすくなります。ぜひ実務で試してみてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc20">この記事で紹介した関数・関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-if-function/">スプレッドシートのIF関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-countifs-function/">スプレッドシートのCOUNTIFS関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-ifs-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのCHOOSE関数の使い方｜IFネストをすっきり書き換える</title>
		<link>https://mashukabu.com/excel-function-howto-use-choose/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-choose/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 29 Oct 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[CHOOSE関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[IFS関数]]></category>
		<category><![CDATA[IF関数]]></category>
		<category><![CDATA[SWITCH関数]]></category>
		<category><![CDATA[条件分岐]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2914</guid>

					<description><![CDATA[ExcelのCHOOSE関数の使い方をわかりやすく解説。IFネスト多段分岐をすっきり書き換える方法から、WEEKDAY関数との曜日表示、MONTH関数を使った四半期算出まで実務パターンを網羅。IF・IFS・SWITCHとの使い分けも比較表で確認できます。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「1なら電車、2ならバス、3なら飛行機…」。こんなふうに番号で値を振り分けたいとき、IF関数のネストで対応していませんか？</p>



<p class="wp-block-paragraph">条件が増えるたびに括弧が深くなって、読むのも修正するのも大変ですよね。</p>



<p class="wp-block-paragraph">そんなときに便利なのが、ExcelのCHOOSE関数です。この記事では基本の構文から実務で役立つ応用パターン、IF・IFS・SWITCHとの使い分けまでわかりやすく解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-5" checked><label class="toc-title" for="toc-checkbox-5">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのCHOOSE関数とは？</a><ol><li><a href="#toc2" tabindex="0">CHOOSE関数でできること</a></li><li><a href="#toc3" tabindex="0">どんな場面で使う？</a></li></ol></li><li><a href="#toc4" tabindex="0">CHOOSE関数の構文と引数</a><ol><li><a href="#toc5" tabindex="0">構文の読み方</a></li><li><a href="#toc6" tabindex="0">引数の指定ルール（最大254値）</a></li></ol></li><li><a href="#toc7" tabindex="0">基本的な使い方</a><ol><li><a href="#toc8" tabindex="0">シンプルな番号→値の変換</a></li><li><a href="#toc9" tabindex="0">IFネスト3段とCHOOSEのビフォー・アフター</a></li></ol></li><li><a href="#toc10" tabindex="0">実践的な使い方（応用3パターン）</a><ol><li><a href="#toc11" tabindex="0">WEEKDAY関数と組み合わせて曜日名を表示する</a></li><li><a href="#toc12" tabindex="0">MONTH関数と組み合わせて四半期を求める</a></li><li><a href="#toc13" tabindex="0">集計方法を切り替える（SUM・AVERAGE・COUNTなど）</a></li></ol></li><li><a href="#toc14" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc15" tabindex="0">#VALUE! エラー：インデックスが0以下・上限超過</a></li><li><a href="#toc16" tabindex="0">IFERROR関数でエラーをやさしく処理する</a></li></ol></li><li><a href="#toc17" tabindex="0">IF・IFS・SWITCH関数との使い分け</a><ol><li><a href="#toc18" tabindex="0">4関数の特徴比較表</a></li><li><a href="#toc19" tabindex="0">シーン別おすすめ関数</a></li></ol></li><li><a href="#toc20" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのCHOOSE関数とは？</span></h2>



<h3 class="wp-block-heading"><span id="toc2">CHOOSE関数でできること</span></h3>



<p class="wp-block-paragraph">CHOOSE関数（読み方：チューズ関数）は、<strong>インデックス番号に対応する値を返す関数</strong>です。英語の「choose（選ぶ）」がそのまま名前の由来になっています。</p>



<p class="wp-block-paragraph">たとえば「1番なら営業部、2番なら総務部、3番なら経理部」のように、番号と値をセットで指定するだけでOKです。</p>



<p class="wp-block-paragraph">CHOOSE関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>番号に応じた値をかんたんに返せる</li><li><a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>のネストをすっきり書き換えられる</li><li>値には数値・文字列・数式・セル参照など何でも指定できる</li><li>最大254個の値を扱える</li></ul>



<p class="wp-block-paragraph">「番号で値を選ぶ関数」と覚えておくとわかりやすいですよ。</p>



<h3 class="wp-block-heading"><span id="toc3">どんな場面で使う？</span></h3>



<p class="wp-block-paragraph">CHOOSE関数が活躍するのは、次のような場面です。</p>



<ul class="wp-block-list"><li>番号に対応する項目名を表示したい</li><li><a href="https://mashukabu.com/excel-function-howto-use-weekday/">WEEKDAY関数</a>と組み合わせて曜日名を出したい</li><li>月ごとに四半期（Q1〜Q4）を振り分けたい</li><li>集計方法（合計・平均・件数など）を切り替えたい</li></ul>



<p class="wp-block-paragraph">いずれも「連番の整数がキーになる」パターンです。このパターンではIF関数のネストより圧倒的に読みやすくなります。</p>



<h2 class="wp-block-heading"><span id="toc4">CHOOSE関数の構文と引数</span></h2>



<h3 class="wp-block-heading"><span id="toc5">構文の読み方</span></h3>



<p class="wp-block-paragraph">まずはCHOOSE関数の構文を確認しましょう。</p>



<pre class="wp-block-code"><code>=CHOOSE(インデックス, 値1, [値2], ...)</code></pre>



<p class="wp-block-paragraph">第1引数に「何番目を選ぶか」を指定し、第2引数以降に「選択肢」を並べます。インデックスが1なら値1、2なら値2…というシンプルな仕組みです。</p>



<h3 class="wp-block-heading"><span id="toc6">引数の指定ルール（最大254値）</span></h3>



<p class="wp-block-paragraph">各引数のルールを表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>インデックス</td><td>必須</td><td>1〜254の整数、またはそれを返す数式・セル参照</td></tr><tr><td>値1</td><td>必須</td><td>インデックスが1のときに返す値</td></tr><tr><td>値2〜値254</td><td>省略可</td><td>インデックスが2〜254のときに返す値</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">押さえておきたいポイントは次の3つです。</p>



<ul class="wp-block-list"><li><strong>インデックスは整数のみ</strong>：小数を指定すると、小数部分は切り捨てて整数として処理されます（例：2.9 → 2）</li><li><strong>値引数は何でもOK</strong>：数値・文字列・セル参照・定義名・数式・関数・セル範囲を指定できます</li><li><strong>最大254個まで</strong>：値1〜値254の最大254個の選択肢を設定できます</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>CHOOSE関数はExcel 2016以降、Microsoft 365、Excel for the webで使えます。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc7">基本的な使い方</span></h2>



<h3 class="wp-block-heading"><span id="toc8">シンプルな番号→値の変換</span></h3>



<p class="wp-block-paragraph">もっとも基本的な使い方は、番号を項目名に変換するパターンです。</p>



<p class="wp-block-paragraph">たとえば交通手段を番号で管理しているとします。セルA2に「1〜3」の番号が入っている場合、次のように書きます。</p>



<pre class="wp-block-code"><code>=CHOOSE(A2, &quot;電車&quot;, &quot;バス&quot;, &quot;飛行機&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>値</th></tr></thead><tbody><tr><td>A2</td><td>2</td></tr><tr><td>B2（数式）</td><td>=CHOOSE(A2, &#8220;電車&#8221;, &#8220;バス&#8221;, &#8220;飛行機&#8221;)</td></tr><tr><td>B2（結果）</td><td>バス</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">A2が1なら「電車」、2なら「バス」、3なら「飛行機」を返します。番号と値の対応がひと目でわかりますよね。</p>



<h3 class="wp-block-heading"><span id="toc9">IFネスト3段とCHOOSEのビフォー・アフター</span></h3>



<p class="wp-block-paragraph">同じ処理をIF関数で書くとこうなります。</p>



<p class="wp-block-paragraph"><strong>Before：IFネスト</strong></p>



<pre class="wp-block-code"><code>=IF(A2=1,&quot;電車&quot;,IF(A2=2,&quot;バス&quot;,IF(A2=3,&quot;飛行機&quot;,&quot;&quot;)))</code></pre>



<p class="wp-block-paragraph"><strong>After：CHOOSE関数</strong></p>



<pre class="wp-block-code"><code>=CHOOSE(A2,&quot;電車&quot;,&quot;バス&quot;,&quot;飛行機&quot;)</code></pre>



<p class="wp-block-paragraph">IFネストは括弧の対応を追いかけるだけでも大変です。CHOOSE関数なら引数を順番に並べるだけなので、読みやすさが段違いですよね。</p>



<p class="wp-block-paragraph">選択肢が5個、10個と増えても、CHOOSE関数なら値を追加するだけで済みます。IFネストだと括弧が何重にもなって保守がむずかしくなりますが、CHOOSE関数ならそんな心配はありません。</p>



<h2 class="wp-block-heading"><span id="toc10">実践的な使い方（応用3パターン）</span></h2>



<h3 class="wp-block-heading"><span id="toc11">WEEKDAY関数と組み合わせて曜日名を表示する</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-weekday/">WEEKDAY関数</a>は日付から曜日番号（1〜7）を返します。この番号をCHOOSE関数に渡せば、曜日名を日本語で表示できます。</p>



<pre class="wp-block-code"><code>=CHOOSE(WEEKDAY(A2),&quot;日&quot;,&quot;月&quot;,&quot;火&quot;,&quot;水&quot;,&quot;木&quot;,&quot;金&quot;,&quot;土&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>値</th></tr></thead><tbody><tr><td>A2</td><td>2026/03/21（土曜日）</td></tr><tr><td>B2（数式）</td><td>=CHOOSE(WEEKDAY(A2),&#8221;日&#8221;,&#8221;月&#8221;,&#8221;火&#8221;,&#8221;水&#8221;,&#8221;木&#8221;,&#8221;金&#8221;,&#8221;土&#8221;)</td></tr><tr><td>B2（結果）</td><td>土</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">WEEKDAY関数はデフォルトで日曜=1、月曜=2…土曜=7を返します。CHOOSE関数の値1〜値7にそれぞれの曜日名を並べればOKです。</p>



<p class="wp-block-paragraph">月曜始まりにしたい場合は、WEEKDAYの第2引数に2を指定します。</p>



<pre class="wp-block-code"><code>=CHOOSE(WEEKDAY(A2,2),&quot;月&quot;,&quot;火&quot;,&quot;水&quot;,&quot;木&quot;,&quot;金&quot;,&quot;土&quot;,&quot;日&quot;)</code></pre>



<p class="wp-block-paragraph">この場合は月曜=1、火曜=2…日曜=7になるので、値の並び順を変えてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc12">MONTH関数と組み合わせて四半期を求める</span></h3>



<p class="wp-block-paragraph">MONTH関数は日付から月（1〜12）を返します。この番号をCHOOSE関数に渡すと、月ごとの四半期がかんたんに求められます。</p>



<pre class="wp-block-code"><code>=CHOOSE(MONTH(A2),&quot;Q1&quot;,&quot;Q1&quot;,&quot;Q1&quot;,&quot;Q2&quot;,&quot;Q2&quot;,&quot;Q2&quot;,&quot;Q3&quot;,&quot;Q3&quot;,&quot;Q3&quot;,&quot;Q4&quot;,&quot;Q4&quot;,&quot;Q4&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>値</th></tr></thead><tbody><tr><td>A2</td><td>2026/03/21</td></tr><tr><td>B2（数式）</td><td>=CHOOSE(MONTH(A2),&#8221;Q1&#8243;,&#8221;Q1&#8243;,&#8221;Q1&#8243;,&#8221;Q2&#8243;,&#8221;Q2&#8243;,&#8221;Q2&#8243;,&#8221;Q3&#8243;,&#8221;Q3&#8243;,&#8221;Q3&#8243;,&#8221;Q4&#8243;,&#8221;Q4&#8243;,&#8221;Q4&#8243;)</td></tr><tr><td>B2（結果）</td><td>Q1</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">1月〜3月がQ1、4月〜6月がQ2…というように、12か月分の値を並べるだけで四半期の振り分けが完成します。IFやIFS関数で条件を書くよりずっとシンプルですよね。</p>



<p class="wp-block-paragraph">日本の会計年度（4月始まり）に合わせる場合は、並び順を変えましょう。</p>



<pre class="wp-block-code"><code>=CHOOSE(MONTH(A2),&quot;Q4&quot;,&quot;Q4&quot;,&quot;Q4&quot;,&quot;Q1&quot;,&quot;Q1&quot;,&quot;Q1&quot;,&quot;Q2&quot;,&quot;Q2&quot;,&quot;Q2&quot;,&quot;Q3&quot;,&quot;Q3&quot;,&quot;Q3&quot;)</code></pre>



<p class="wp-block-paragraph">4月がQ1、1月〜3月がQ4になるように配置すればOKです。</p>



<h3 class="wp-block-heading"><span id="toc13">集計方法を切り替える（SUM・AVERAGE・COUNTなど）</span></h3>



<p class="wp-block-paragraph">CHOOSE関数の値引数には数式や関数も指定できます。これを利用すると、セルの値で集計方法を切り替える仕組みが作れます。</p>



<p class="wp-block-paragraph">たとえばセルE1に「1＝合計、2＝平均、3＝件数」と番号を入力して、集計結果を動的に切り替えてみましょう。</p>



<pre class="wp-block-code"><code>=CHOOSE(E1, SUM(B2:B10), AVERAGE(B2:B10), COUNT(B2:B10))</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>E1の値</th><th>返される結果</th></tr></thead><tbody><tr><td>1</td><td>SUM（合計）</td></tr><tr><td>2</td><td>AVERAGE（平均）</td></tr><tr><td>3</td><td>COUNT（件数）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ちょっとむずかしく見えますが、やっていることはシンプルです。E1の番号に応じて「どの関数を実行するか」を選んでいるだけですよ。</p>



<p class="wp-block-paragraph">ダッシュボードやレポートで集計方法を切り替えたいときに使えるテクニックです。</p>



<h2 class="wp-block-heading"><span id="toc14">よくあるエラーと対処法</span></h2>



<h3 class="wp-block-heading"><span id="toc15">#VALUE! エラー：インデックスが0以下・上限超過</span></h3>



<p class="wp-block-paragraph">CHOOSE関数で最も多いのが <code>#VALUE!</code> エラーです。次のケースで発生します。</p>



<ul class="wp-block-list"><li>インデックスが <strong>1より小さい</strong>（0や負の数）</li><li>インデックスが <strong>用意した値の数を超えている</strong></li></ul>



<pre class="wp-block-code"><code>=CHOOSE(0, &quot;電車&quot;, &quot;バス&quot;, &quot;飛行機&quot;)   → #VALUE!（0は範囲外）
=CHOOSE(4, &quot;電車&quot;, &quot;バス&quot;, &quot;飛行機&quot;)   → #VALUE!（値は3つしかない）</code></pre>



<p class="wp-block-paragraph">対処法はシンプルです。インデックスが必ず「1〜値の個数」の範囲に収まるようにデータを確認してください。</p>



<h3 class="wp-block-heading"><span id="toc16">IFERROR関数でエラーをやさしく処理する</span></h3>



<p class="wp-block-paragraph">データの入力ミスなどで範囲外の値が入る可能性がある場合は、<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>で囲んでおくと安心です。</p>



<pre class="wp-block-code"><code>=IFERROR(CHOOSE(A2,&quot;電車&quot;,&quot;バス&quot;,&quot;飛行機&quot;), &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">エラーが出たときに「該当なし」などのメッセージを表示できます。ユーザーが入力するシートでは、この書き方をしておくと親切ですよ。</p>



<h2 class="wp-block-heading"><span id="toc17">IF・IFS・SWITCH関数との使い分け</span></h2>



<h3 class="wp-block-heading"><span id="toc18">4関数の特徴比較表</span></h3>



<p class="wp-block-paragraph">条件分岐に使える4つの関数を比較表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th><a href="https://mashukabu.com/excel-function-howto-use-if/">IF</a></th><th><a href="https://mashukabu.com/excel-function-howto-use-ifs/">IFS</a></th><th><a href="https://mashukabu.com/excel-function-howto-use-switch/">SWITCH</a></th><th>CHOOSE</th></tr></thead><tbody><tr><td>条件の書き方</td><td>TRUE/FALSEの2択</td><td>複数条件を順番に評価</td><td>値の完全一致</td><td>連番インデックス</td></tr><tr><td>ネストの必要性</td><td>3分岐以上はネスト必要</td><td>不要</td><td>不要</td><td>不要</td></tr><tr><td>文字列キーの使用</td><td>可</td><td>可</td><td>可</td><td>不可（数値のみ）</td></tr><tr><td>デフォルト値</td><td>ELSEで指定</td><td>最終条件にTRUEで代用</td><td>最終引数で指定</td><td>なし（#VALUE!）</td></tr><tr><td>対応バージョン</td><td>全バージョン</td><td>2019以降/365</td><td>2019以降/365</td><td>2016以降</td></tr><tr><td>最大分岐数</td><td>ネスト64段</td><td>127条件</td><td>126ペア</td><td>254値</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc19">シーン別おすすめ関数</span></h3>



<p class="wp-block-paragraph">どの関数を選ぶか迷ったときは、次の基準で判断してみてください。</p>



<ul class="wp-block-list"><li><strong>2〜3択のシンプルな分岐</strong> → <a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>が手軽</li><li><strong>4つ以上の条件を順番に評価したい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-ifs/">IFS関数</a>がすっきり</li><li><strong>文字列キーや不連続な値で分岐＋デフォルト値が必要</strong> → <a href="https://mashukabu.com/excel-function-howto-use-switch/">SWITCH関数</a>が最適</li><li><strong>連番の整数（WEEKDAY・MONTHなど）で分岐</strong> → CHOOSE関数が一番シンプル</li></ul>



<p class="wp-block-paragraph">Excel 2016環境でも使える互換性の高さはCHOOSE関数の大きなメリットです。SWITCH関数はExcel 2019以降またはMicrosoft 365でしか使えません。共有ファイルの互換性を重視するなら、CHOOSE関数を選びましょう。</p>



<h2 class="wp-block-heading"><span id="toc20">まとめ</span></h2>



<p class="wp-block-paragraph">この記事では、ExcelのCHOOSE関数の使い方を基本から応用まで解説しました。</p>



<p class="wp-block-paragraph">ポイントをおさらいしましょう。</p>



<ul class="wp-block-list"><li>CHOOSE関数は「インデックス番号に対応する値を返す」関数</li><li>IFネストの書き換えに使うと数式がすっきりする</li><li>WEEKDAY関数と組み合わせれば曜日名の表示がかんたん</li><li>MONTH関数と組み合わせれば四半期の振り分けもワンステップ</li><li>インデックスが範囲外だと#VALUE!エラーになるので注意</li><li>Excel 2016以降で使えるので互換性も安心</li></ul>



<p class="wp-block-paragraph">CHOOSE関数はシンプルな仕組みですが、使いどころを知っていると数式がぐっと読みやすくなります。まずはIFネストの置き換えから試してみてください。</p>



<p class="wp-block-paragraph">条件分岐の関数をもっと知りたい方は、あわせてこちらの記事もチェックしてみてくださいね。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-if/">ExcelのIF関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-ifs/">ExcelのIFS関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-switch/">ExcelのSWITCH関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-choose-function/">スプレッドシートのCHOOSE関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-choose/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのSWITCH関数の使い方｜IFネスト不要で条件分岐をすっきり書く</title>
		<link>https://mashukabu.com/excel-function-howto-use-switch/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-switch/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 27 Jun 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[CHOOSE関数]]></category>
		<category><![CDATA[IFS関数]]></category>
		<category><![CDATA[IF関数]]></category>
		<category><![CDATA[SWITCH関数]]></category>
		<category><![CDATA[VLOOKUP関数]]></category>
		<category><![CDATA[条件分岐]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2109</guid>

					<description><![CDATA[ExcelのSWITCH関数の使い方を実例つきで解説。IFネストが複数段に増えたとき、値と結果をペアで並べるだけでスッキリ書けるSWITCH関数が役立ちます。IF・IFS・CHOOSEとの使い分け、バージョン制約、エラー対処法まで網羅しています。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「部署コードを部署名に変換したい」「ランクごとにコメントを振り分けたい」――こんなとき、<a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>をネストして書いていませんか？ 条件が3つ、5つと増えるたびにカッコが深くなり、どこが何の条件か追いかけるだけで疲れてしまいますよね。</p>



<p class="wp-block-paragraph">ExcelのSWITCH関数を使えば、IFのネストは不要です。値と結果のペアを並べるだけで、条件分岐がすっきり1行で書けます。この記事では、SWITCH関数の構文と基本の使い方から、IF・IFS・CHOOSEとの使い分けまでまとめて解説します。エラー対処法や応用テクニックも紹介しますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのSWITCH関数とは？（完全一致で値を振り分ける関数）</a><ol><li><a href="#toc2" tabindex="0">SWITCH関数が使えるExcelバージョン</a></li></ol></li><li><a href="#toc3" tabindex="0">SWITCH関数の構文と引数</a><ol><li><a href="#toc4" tabindex="0">基本構文</a></li><li><a href="#toc5" tabindex="0">引数の説明</a></li><li><a href="#toc6" tabindex="0">引数の数え方（ペア数の見分け方）</a></li></ol></li><li><a href="#toc7" tabindex="0">SWITCH関数の基本的な使い方（コード変換の例）</a><ol><li><a href="#toc8" tabindex="0">部署コードを部署名に変換する</a></li><li><a href="#toc9" tabindex="0">既定値（デフォルト）を設定する方法</a></li><li><a href="#toc10" tabindex="0">数値の一致で振り分ける</a></li></ol></li><li><a href="#toc11" tabindex="0">IFネストとSWITCH関数の書き換え比較</a><ol><li><a href="#toc12" tabindex="0">IF関数のネストが3段を超えたらSWITCHに切り替えるサイン</a></li><li><a href="#toc13" tabindex="0">書き換え例：5段IFネスト → SWITCH関数1行</a></li><li><a href="#toc14" tabindex="0">読み手の負担が減る3つの理由</a></li></ol></li><li><a href="#toc15" tabindex="0">SWITCH・IFS・IF・CHOOSEの使い分け</a><ol><li><a href="#toc16" tabindex="0">完全一致ならSWITCH、不等号条件ならIFS</a></li><li><a href="#toc17" tabindex="0">連番・インデックスで選ぶならCHOOSE</a></li><li><a href="#toc18" tabindex="0">使い分けフロー（判断チャート）</a></li><li><a href="#toc19" tabindex="0">ひと目でわかる4関数の比較表</a></li></ol></li><li><a href="#toc20" tabindex="0">SWITCH関数のエラーと対処法</a><ol><li><a href="#toc21" tabindex="0">#N/A：既定値を忘れると一致しない値でエラーに</a></li><li><a href="#toc22" tabindex="0">#NAME?：Excel 2016以前では使えない</a></li><li><a href="#toc23" tabindex="0">#VALUE!：引数の型が合っていない</a></li><li><a href="#toc24" tabindex="0">よくある誤解：「SWITCHで範囲比較」はできない</a></li></ol></li><li><a href="#toc25" tabindex="0">SWITCH関数の応用テクニック</a><ol><li><a href="#toc26" tabindex="0">WEEKDAY関数と組み合わせて曜日名を表示する</a></li><li><a href="#toc27" tabindex="0">MONTH関数で月別の区分を作る</a></li><li><a href="#toc28" tabindex="0">SWITCH(TRUE,&#8230;)で範囲条件を処理する裏ワザ</a></li><li><a href="#toc29" tabindex="0">SWITCHとVLOOKUPの使い分け基準</a></li><li><a href="#toc30" tabindex="0">データの入力規則とセットで使う</a></li></ol></li><li><a href="#toc31" tabindex="0">SWITCH関数の実務でよく使うパターン集</a><ol><li><a href="#toc32" tabindex="0">パターン1：ステータスコードの日本語化</a></li><li><a href="#toc33" tabindex="0">パターン2：優先度ランクのアイコン表示</a></li><li><a href="#toc34" tabindex="0">パターン3：エラー判定の分類</a></li><li><a href="#toc35" tabindex="0">パターン4：アンケート選択肢の集計用変換</a></li></ol></li><li><a href="#toc36" tabindex="0">よくある質問（FAQ）</a><ol><li><a href="#toc37" tabindex="0">SWITCH関数は大文字小文字を区別しますか？</a></li><li><a href="#toc38" tabindex="0">ワイルドカード（*や?）は使えますか？</a></li><li><a href="#toc39" tabindex="0">配列を返すことはできますか？</a></li><li><a href="#toc40" tabindex="0">最大何個のペアを書けますか？</a></li><li><a href="#toc41" tabindex="0">Googleスプレッドシートでも同じ構文で使えますか？</a></li></ol></li><li><a href="#toc42" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのSWITCH関数とは？（完全一致で値を振り分ける関数）</span></h2>



<p class="wp-block-paragraph">SWITCH関数は、1つの値を複数の候補と照合する関数です。一致した候補に対応する結果を返します。読み方は「スイッチ関数」で、英語の「switch（切り替える）」から来ています。プログラミング言語の switch 文と同じ発想ですね。</p>



<p class="wp-block-paragraph">たとえば「コードがS01なら営業部、A01なら総務部」のように、<strong>完全一致で値を振り分ける</strong>のが得意です。</p>



<p class="wp-block-paragraph">特徴をまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>1つの式（セル）を複数の値と比較できる</li><li>値と結果をペアで並べるので、IFネストより読みやすい</li><li>最大126ペアまで指定できる</li><li>既定値（デフォルト）を最後の引数で指定できる</li></ul>



<h3 class="wp-block-heading"><span id="toc2">SWITCH関数が使えるExcelバージョン</span></h3>



<p class="wp-block-paragraph">SWITCH関数は比較的新しい関数です。Microsoft公式ドキュメントによると、使えるバージョンは以下のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>バージョン</th><th>対応状況</th></tr></thead><tbody><tr><td>Microsoft 365</td><td>使える</td></tr><tr><td>Excel 2024</td><td>使える</td></tr><tr><td>Excel 2021</td><td>使える</td></tr><tr><td>Excel 2019</td><td>使える</td></tr><tr><td>Excel 2016以前</td><td>使えない</td></tr><tr><td>Excel for the web</td><td>使える</td></tr><tr><td>Excel for Mac（2019以降）</td><td>使える</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>Excel 2016以前をお使いの場合は、IFのネストや<a href="https://mashukabu.com/excel-function-howto-use-choose/">CHOOSE関数</a>で代替できます。この記事の「使い分け」セクションで詳しく紹介しています。</p></blockquote>



<p class="wp-block-paragraph">SWITCH関数はGoogleスプレッドシートでも使えます。スプレッドシートでは最大38ペアという違いはありますが、構文と動作はExcelと同じです。</p>



<h2 class="wp-block-heading"><span id="toc3">SWITCH関数の構文と引数</span></h2>



<h3 class="wp-block-heading"><span id="toc4">基本構文</span></h3>



<pre class="wp-block-code"><code>=SWITCH(式, 値1, 結果1, [値2, 結果2], …, [既定値])</code></pre>



<h3 class="wp-block-heading"><span id="toc5">引数の説明</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>式</td><td>必須</td><td>比較対象となるセルや数式</td></tr><tr><td>値1</td><td>必須</td><td>式と照合する最初の値</td></tr><tr><td>結果1</td><td>必須</td><td>値1と一致したときに返す値</td></tr><tr><td>値2〜値126</td><td>任意</td><td>追加の比較値（最大126ペアまで）</td></tr><tr><td>結果2〜結果126</td><td>任意</td><td>対応する結果</td></tr><tr><td>既定値</td><td>任意</td><td>どの値にも一致しなかったときの戻り値</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">値と結果は必ずセットで指定します。最大126ペアまで設定できますよ。</p>



<p class="wp-block-paragraph">既定値は「ペアにならず余った最後の引数」です。省略すると、一致しなかったときに<code>#N/A</code>エラーになります。「該当なし」などの既定値を入れておくのがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc6">引数の数え方（ペア数の見分け方）</span></h3>



<p class="wp-block-paragraph">「引数が奇数個か偶数個か」で既定値の有無がわかります。</p>



<ul class="wp-block-list"><li>奇数個（例: 式 + 3ペア = 7個）: 最後が既定値</li><li>偶数個（例: 式 + 3ペア = 6個 ではなく、式 + 3ペア × 2 = 7個）: 既定値なし</li></ul>



<p class="wp-block-paragraph">細かい話ですが、引数の数を数えると既定値の漏れをチェックできます。数式を見直すときに使ってみてください。</p>



<h2 class="wp-block-heading"><span id="toc7">SWITCH関数の基本的な使い方（コード変換の例）</span></h2>



<h3 class="wp-block-heading"><span id="toc8">部署コードを部署名に変換する</span></h3>



<p class="wp-block-paragraph">部署コードから部署名を表示する例で、基本の流れを見ていきましょう。</p>



<p class="wp-block-paragraph"><strong>サンプルデータ</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A列（部署コード）</th><th>B列（部署名）</th></tr></thead><tbody><tr><td>2行目</td><td>S01</td><td>←ここに数式を入れる</td></tr><tr><td>3行目</td><td>A01</td><td>&nbsp;</td></tr><tr><td>4行目</td><td>F01</td><td>&nbsp;</td></tr><tr><td>5行目</td><td>X99</td><td>&nbsp;</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">B2セルに次の数式を入力します。</p>



<pre class="wp-block-code"><code>=SWITCH(A2, &quot;S01&quot;,&quot;営業部&quot;, &quot;A01&quot;,&quot;総務部&quot;, &quot;F01&quot;,&quot;経理部&quot;, &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph"><strong>結果</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A列</th><th>B列（結果）</th></tr></thead><tbody><tr><td>2行目</td><td>S01</td><td>営業部</td></tr><tr><td>3行目</td><td>A01</td><td>総務部</td></tr><tr><td>4行目</td><td>F01</td><td>経理部</td></tr><tr><td>5行目</td><td>X99</td><td>該当なし</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">A2の値「S01」が最初のペア「S01→営業部」に一致するので、「営業部」が返ります。X99はどのペアにも一致しないので、既定値の「該当なし」が表示されますね。</p>



<p class="wp-block-paragraph">数式の組み立ては「式→値と結果のペア→既定値」の順番で書くだけです。</p>



<h3 class="wp-block-heading"><span id="toc9">既定値（デフォルト）を設定する方法</span></h3>



<p class="wp-block-paragraph">既定値の仕組みをもう少し詳しく見てみましょう。</p>



<p class="wp-block-paragraph">既定値なしの場合はこうなります。</p>



<pre class="wp-block-code"><code>=SWITCH(A2, &quot;S01&quot;,&quot;営業部&quot;, &quot;A01&quot;,&quot;総務部&quot;)</code></pre>



<p class="wp-block-paragraph">A2が「F01」なら、どのペアにも一致しません。既定値がないため<code>#N/A</code>エラーが出ます。</p>



<p class="wp-block-paragraph">既定値を追加すると、エラーを防げます。</p>



<pre class="wp-block-code"><code>=SWITCH(A2, &quot;S01&quot;,&quot;営業部&quot;, &quot;A01&quot;,&quot;総務部&quot;, &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">末尾の「該当なし」が既定値です。想定外の値が入ってもエラーにならないので、実務では必ず設定しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc10">数値の一致で振り分ける</span></h3>



<p class="wp-block-paragraph">SWITCH関数は文字列だけでなく、数値の完全一致にも使えます。たとえばステータスコードで処理状況を表示するパターンです。</p>



<pre class="wp-block-code"><code>=SWITCH(A2, 1,&quot;受付中&quot;, 2,&quot;処理中&quot;, 3,&quot;完了&quot;, 9,&quot;キャンセル&quot;, &quot;不明&quot;)</code></pre>



<p class="wp-block-paragraph">数値はダブルクォートで囲まずに書きます。1、2、3のような連番コードを扱うときによく使うパターンです。</p>



<h2 class="wp-block-heading"><span id="toc11">IFネストとSWITCH関数の書き換え比較</span></h2>



<h3 class="wp-block-heading"><span id="toc12">IF関数のネストが3段を超えたらSWITCHに切り替えるサイン</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>のネストが3段を超えると、カッコの対応がわかりにくくなります。完全一致の条件分岐なら、SWITCH関数への切り替えを検討してみてください。</p>



<p class="wp-block-paragraph">目安は次のとおりです。</p>



<ul class="wp-block-list"><li><strong>2〜3段のIFネスト</strong>: そのままでもOK</li><li><strong>4段以上のIFネスト</strong>: SWITCH関数にすると読みやすい</li><li><strong>5段以上</strong>: SWITCH関数に書き換えたほうが保守しやすい</li></ul>



<h3 class="wp-block-heading"><span id="toc13">書き換え例：5段IFネスト → SWITCH関数1行</span></h3>



<p class="wp-block-paragraph">5つの部署コードを判定する例で比べてみましょう。</p>



<p class="wp-block-paragraph"><strong>Before（IFネスト5段）：</strong></p>



<pre class="wp-block-code"><code>=IF(A2=&quot;S01&quot;,&quot;営業部&quot;,IF(A2=&quot;A01&quot;,&quot;総務部&quot;,IF(A2=&quot;F01&quot;,&quot;経理部&quot;,IF(A2=&quot;H01&quot;,&quot;人事部&quot;,IF(A2=&quot;M01&quot;,&quot;マーケ部&quot;,&quot;該当なし&quot;)))))</code></pre>



<p class="wp-block-paragraph"><strong>After（SWITCH関数）：</strong></p>



<pre class="wp-block-code"><code>=SWITCH(A2, &quot;S01&quot;,&quot;営業部&quot;, &quot;A01&quot;,&quot;総務部&quot;, &quot;F01&quot;,&quot;経理部&quot;, &quot;H01&quot;,&quot;人事部&quot;, &quot;M01&quot;,&quot;マーケ部&quot;, &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">IFネストでは「A2=」を5回書いて、閉じカッコも5つ必要です。SWITCH関数なら式は1回、カッコも1組で済みます。条件が増えるほど差が広がりますよ。</p>



<h3 class="wp-block-heading"><span id="toc14">読み手の負担が減る3つの理由</span></h3>



<p class="wp-block-paragraph">SWITCH関数に書き換えると、単にコードが短くなるだけではありません。読み手の負担も3つのポイントで減らせます。</p>



<ol class="wp-block-list"><li><strong>式を1回しか書かない</strong>: 「A2」の値を何と比べているかが一目でわかります</li><li><strong>カッコのネストがない</strong>: 閉じカッコの位置で迷うことがなくなります</li><li><strong>値と結果がペアで並ぶ</strong>: 「このコードならこの部署」が視覚的に追いやすいです</li></ol>



<p class="wp-block-paragraph">数式を修正する人が自分以外でも、SWITCH版のほうが引き継ぎやすいですね。</p>



<h2 class="wp-block-heading"><span id="toc15">SWITCH・IFS・IF・CHOOSEの使い分け</span></h2>



<h3 class="wp-block-heading"><span id="toc16">完全一致ならSWITCH、不等号条件ならIFS</span></h3>



<p class="wp-block-paragraph">SWITCH関数は<strong>完全一致（=）しか判定できません</strong>。「80点以上ならA」のような範囲条件には対応できないので、その場合は<a href="https://mashukabu.com/excel-function-howto-use-ifs/">IFS関数</a>を使いましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>SWITCH</th><th>IFS</th></tr></thead><tbody><tr><td>判定方式</td><td>完全一致のみ</td><td>条件式を自由に記述</td></tr><tr><td>範囲比較（>=など）</td><td>不可</td><td>可</td></tr><tr><td>既定値の指定</td><td>最後の引数</td><td>TRUE条件で代用</td></tr><tr><td>向いている場面</td><td>コード→名称の変換</td><td>範囲・大小の条件分岐</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc17">連番・インデックスで選ぶならCHOOSE</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-choose/">CHOOSE関数</a>は、整数インデックス（1, 2, 3&#8230;）で結果を選ぶ関数です。SWITCH関数との違いは次のとおりです。</p>



<ul class="wp-block-list"><li><strong>CHOOSE</strong>: インデックスは1から始まる連続整数のみ</li><li><strong>SWITCH</strong>: 任意の値（文字列・数値・日付など）で比較できる</li></ul>



<p class="wp-block-paragraph">連番で管理しているデータならCHOOSE、それ以外はSWITCHが便利です。</p>



<h3 class="wp-block-heading"><span id="toc18">使い分けフロー（判断チャート）</span></h3>



<p class="wp-block-paragraph">条件分岐の関数選びに迷ったら、次の順番で判断してみてください。</p>



<ol class="wp-block-list"><li><strong>完全一致か？</strong> → はい → <strong>SWITCH関数</strong></li><li><strong>範囲や大小を比較するか？</strong> → はい → <strong><a href="https://mashukabu.com/excel-function-howto-use-ifs/">IFS関数</a></strong></li><li><strong>連続整数のインデックスか？</strong> → はい → <strong><a href="https://mashukabu.com/excel-function-howto-use-choose/">CHOOSE関数</a></strong></li><li><strong>条件が2〜3個程度か？</strong> → はい → <strong><a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>のネスト</strong></li></ol>



<p class="wp-block-paragraph">条件分岐の関数選びについては、<a href="https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/">IF・IFS・IFERROR・IFNAの使い分け</a>の記事でさらに詳しくまとめています。</p>



<h3 class="wp-block-heading"><span id="toc19">ひと目でわかる4関数の比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>判定方式</th><th>主な用途</th><th>既定値</th></tr></thead><tbody><tr><td>SWITCH</td><td>完全一致</td><td>コード→名称変換</td><td>最後の引数</td></tr><tr><td>IFS</td><td>条件式</td><td>範囲・大小比較</td><td>TRUE条件で代用</td></tr><tr><td>IF</td><td>2分岐</td><td>シンプルな二択</td><td>FALSE側で指定</td></tr><tr><td>CHOOSE</td><td>連番</td><td>1〜Nのインデックス</td><td>なし（IFERRORで補う）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">このマトリクスを頭に入れておくと、数式を書く前に関数選びで迷わなくなりますよ。</p>



<h2 class="wp-block-heading"><span id="toc20">SWITCH関数のエラーと対処法</span></h2>



<h3 class="wp-block-heading"><span id="toc21">#N/A：既定値を忘れると一致しない値でエラーに</span></h3>



<p class="wp-block-paragraph"><strong>原因</strong>: どの値にも一致せず、既定値も未指定の場合に<code>#N/A</code>が出ます。</p>



<p class="wp-block-paragraph"><strong>対処法</strong>: 最後の引数に既定値を追加しましょう。</p>



<pre class="wp-block-code"><code>=SWITCH(A2, &quot;S01&quot;,&quot;営業部&quot;, &quot;A01&quot;,&quot;総務部&quot;, &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">末尾の「該当なし」が既定値です。ペアにならず余った引数が既定値として扱われます。</p>



<p class="wp-block-paragraph">SWITCH関数で最もよくあるエラーなので、既定値は必ず入れるようにしてみてください。</p>



<h3 class="wp-block-heading"><span id="toc22">#NAME?：Excel 2016以前では使えない</span></h3>



<p class="wp-block-paragraph"><strong>原因</strong>: SWITCH関数はExcel 2019以降の関数です。Excel 2016以前で入力すると<code>#NAME?</code>エラーになります。</p>



<p class="wp-block-paragraph"><strong>対処法</strong>: バージョンを確認するには「ファイル → アカウント」を開きます。Excel 2016以前の場合は、IFのネストで代替しましょう。</p>



<pre class="wp-block-code"><code>=IF(A2=&quot;S01&quot;,&quot;営業部&quot;,IF(A2=&quot;A01&quot;,&quot;総務部&quot;,IF(A2=&quot;F01&quot;,&quot;経理部&quot;,&quot;該当なし&quot;)))</code></pre>



<p class="wp-block-paragraph">エラーをまとめて防ぎたいときは、<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>で囲む方法もあります。</p>



<pre class="wp-block-code"><code>=IFERROR(SWITCH(A2, &quot;S01&quot;,&quot;営業部&quot;, &quot;A01&quot;,&quot;総務部&quot;), &quot;入力値を確認してください&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc23">#VALUE!：引数の型が合っていない</span></h3>



<p class="wp-block-paragraph"><strong>原因</strong>: 式の結果と値のデータ型が一致しないときに出る場合があります。たとえば式が数値を返すのに値を文字列で書いている、という不整合です。</p>



<p class="wp-block-paragraph"><strong>対処法</strong>: 式と値のデータ型を揃えましょう。数値どうしで比較するか、TEXT関数や<code>&""</code>で文字列化して揃える方法が確実です。</p>



<pre class="wp-block-code"><code>=SWITCH(TEXT(A2,&quot;0&quot;), &quot;1&quot;,&quot;受付中&quot;, &quot;2&quot;,&quot;処理中&quot;, &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">A2が数値でも文字列でもブレない書き方です。入力値の型が不安定なときの保険として覚えておくと便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc24">よくある誤解：「SWITCHで範囲比較」はできない</span></h3>



<p class="wp-block-paragraph">SWITCH関数を「80点以上ならA、70点以上ならB」のように使おうとして、うまくいかずハマるパターンがあります。SWITCH関数は完全一致しか判定できません。</p>



<p class="wp-block-paragraph">範囲条件は<a href="https://mashukabu.com/excel-function-howto-use-ifs/">IFS関数</a>の出番です。それでもSWITCHで書きたい場合は、後述の「TRUEトリック」を使います。</p>



<h2 class="wp-block-heading"><span id="toc25">SWITCH関数の応用テクニック</span></h2>



<h3 class="wp-block-heading"><span id="toc26">WEEKDAY関数と組み合わせて曜日名を表示する</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-weekday/">WEEKDAY関数</a>は曜日を1〜7の数字で返します。SWITCH関数と組み合わせれば、日本語の曜日名に変換できます。</p>



<pre class="wp-block-code"><code>=SWITCH(WEEKDAY(A2), 1,&quot;日&quot;, 2,&quot;月&quot;, 3,&quot;火&quot;, 4,&quot;水&quot;, 5,&quot;木&quot;, 6,&quot;金&quot;, 7,&quot;土&quot;)</code></pre>



<p class="wp-block-paragraph">WEEKDAY関数の戻り値（1=日曜〜7=土曜）をそのまま値として並べるだけです。曜日のように候補が決まっている場面にはピッタリですよ。</p>



<h3 class="wp-block-heading"><span id="toc27">MONTH関数で月別の区分を作る</span></h3>



<p class="wp-block-paragraph">同じ発想で、月を四半期に変換するパターンも書けます。</p>



<pre class="wp-block-code"><code>=SWITCH(MONTH(A2), 1,&quot;Q4&quot;, 2,&quot;Q4&quot;, 3,&quot;Q4&quot;, 4,&quot;Q1&quot;, 5,&quot;Q1&quot;, 6,&quot;Q1&quot;, 7,&quot;Q2&quot;, 8,&quot;Q2&quot;, 9,&quot;Q2&quot;, 10,&quot;Q3&quot;, 11,&quot;Q3&quot;, 12,&quot;Q3&quot;)</code></pre>



<p class="wp-block-paragraph">日本の会計年度（4月始まり）で四半期を割り当てる例です。数式は長めですが、条件の対応が明確で読みやすいですよね。</p>



<h3 class="wp-block-heading"><span id="toc28">SWITCH(TRUE,&#8230;)で範囲条件を処理する裏ワザ</span></h3>



<p class="wp-block-paragraph">SWITCH関数は完全一致が基本ですが、TRUEトリックを使うと範囲条件も処理できます。</p>



<pre class="wp-block-code"><code>=SWITCH(TRUE, A2&gt;=90,&quot;A評価&quot;, A2&gt;=70,&quot;B評価&quot;, A2&gt;=50,&quot;C評価&quot;, &quot;D評価&quot;)</code></pre>



<p class="wp-block-paragraph">式にTRUEを指定して、各値の位置に条件式を書きます。上から順に評価され、最初にTRUEになった結果が返ります。</p>



<p class="wp-block-paragraph">ちょっとむずかしく見えますが、やっていることはシンプルです。「どの条件がTRUEか？」を上から順にチェックしているだけですね。</p>



<p class="wp-block-paragraph">ただし、範囲条件の本来の用途は<a href="https://mashukabu.com/excel-function-howto-use-ifs/">IFS関数</a>です。TRUEトリックは「裏ワザ」として知っておく程度でOKですよ。</p>



<h3 class="wp-block-heading"><span id="toc29">SWITCHとVLOOKUPの使い分け基準</span></h3>



<p class="wp-block-paragraph">コード変換なら<a href="https://mashukabu.com/excel-function-howto-use-vlookup/">VLOOKUP関数</a>でもできます。どちらを使うか迷ったら、対応の件数で判断してみてください。</p>



<figure class="wp-block-table"><table><thead><tr><th>基準</th><th>SWITCH関数</th><th>VLOOKUP関数</th></tr></thead><tbody><tr><td>対応の件数</td><td>5〜10件程度に最適</td><td>大量データに最適</td></tr><tr><td>対応の管理方法</td><td>数式内に埋め込む</td><td>別テーブルで管理</td></tr><tr><td>メンテナンス性</td><td>件数が少なければ楽</td><td>テーブル更新で対応</td></tr><tr><td>向いている場面</td><td>固定の少数コード変換</td><td>マスタテーブルとの照合</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">対応が5〜10件で変更が少ないならSWITCH、それ以上ならVLOOKUPが向いています。</p>



<h3 class="wp-block-heading"><span id="toc30">データの入力規則とセットで使う</span></h3>



<p class="wp-block-paragraph">SWITCH関数は「想定した値しか入ってこない列」と相性がよい関数です。データの入力規則（リスト選択）とセットで使うと、未知の値が入ることを防げます。</p>



<ol class="wp-block-list"><li>入力規則で「S01, A01, F01, H01, M01」のリストを設定</li><li>SWITCHで各コードの部署名に変換</li><li>既定値「該当なし」は入力規則の例外対策として保険で残す</li></ol>



<p class="wp-block-paragraph">入力規則とSWITCHを組み合わせると、入力ミスと数式エラーをダブルで防げますね。</p>



<h2 class="wp-block-heading"><span id="toc31">SWITCH関数の実務でよく使うパターン集</span></h2>



<p class="wp-block-paragraph">よくある業務シーンでの使い方を4つ紹介します。テンプレートとしてコピペで使ってください。</p>



<h3 class="wp-block-heading"><span id="toc32">パターン1：ステータスコードの日本語化</span></h3>



<p class="wp-block-paragraph">業務システムから出力したCSVなどで、ステータスが英語コードのまま入っていることがあります。</p>



<pre class="wp-block-code"><code>=SWITCH(A2, &quot;OPEN&quot;,&quot;受付中&quot;, &quot;WIP&quot;,&quot;処理中&quot;, &quot;DONE&quot;,&quot;完了&quot;, &quot;CANCEL&quot;,&quot;キャンセル&quot;, A2)</code></pre>



<p class="wp-block-paragraph">最後の既定値をA2にすることで、未知のコードはそのまま表示されます。データの確認用に一時的に使うときに便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc33">パターン2：優先度ランクのアイコン表示</span></h3>



<p class="wp-block-paragraph">優先度を1〜3で管理しているとき、視覚的にわかりやすく変換できます。</p>



<pre class="wp-block-code"><code>=SWITCH(A2, 1,&quot;★★★（高）&quot;, 2,&quot;★★（中）&quot;, 3,&quot;★（低）&quot;, &quot;未設定&quot;)</code></pre>



<p class="wp-block-paragraph">ダッシュボードやレポートで、数字より一目で判別しやすくなります。</p>



<h3 class="wp-block-heading"><span id="toc34">パターン3：エラー判定の分類</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>と組み合わせて、エラーの種類別に対応することもできます。</p>



<pre class="wp-block-code"><code>=IFERROR(VLOOKUP(A2,テーブル,2,FALSE), SWITCH(TRUE, A2=&quot;&quot;,&quot;値未入力&quot;, LEN(A2)&lt;3,&quot;コード桁数不足&quot;, &quot;マスタ未登録&quot;))</code></pre>



<p class="wp-block-paragraph">VLOOKUPがエラーになったときだけ、原因を分類して表示するパターンです。チェック作業のフィードバックに使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc35">パターン4：アンケート選択肢の集計用変換</span></h3>



<p class="wp-block-paragraph">5段階評価を数値スコアに変換するパターンです。</p>



<pre class="wp-block-code"><code>=SWITCH(A2, &quot;非常に満足&quot;,5, &quot;満足&quot;,4, &quot;普通&quot;,3, &quot;不満&quot;,2, &quot;非常に不満&quot;,1, 0)</code></pre>



<p class="wp-block-paragraph">アンケートの文字列回答を数値化できるので、このあと平均や分布の集計に使えます。既定値0は未回答扱いです。</p>



<h2 class="wp-block-heading"><span id="toc36">よくある質問（FAQ）</span></h2>



<h3 class="wp-block-heading"><span id="toc37">SWITCH関数は大文字小文字を区別しますか？</span></h3>



<p class="wp-block-paragraph">SWITCH関数は<strong>大文字小文字を区別しません</strong>。「S01」と「s01」は同じ値として扱われます。大文字小文字を厳密に区別したい場合は、EXACT関数と組み合わせた別の書き方が必要です。</p>



<pre class="wp-block-code"><code>=SWITCH(TRUE, EXACT(A2,&quot;S01&quot;),&quot;営業部&quot;, EXACT(A2,&quot;s01&quot;),&quot;営業部（小文字）&quot;, &quot;該当なし&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc38">ワイルドカード（*や?）は使えますか？</span></h3>



<p class="wp-block-paragraph">SWITCH関数は<strong>ワイルドカードに対応していません</strong>。値はあくまで完全一致で比較されます。部分一致で振り分けたいときは、IF関数とSEARCH関数の組み合わせなどを検討してください。</p>



<h3 class="wp-block-heading"><span id="toc39">配列を返すことはできますか？</span></h3>



<p class="wp-block-paragraph">1つの値に対して1つの結果しか返せません。ただし、スピル対応のExcel（Microsoft 365・Excel 2021以降）なら話が変わります。式の部分に配列を入れれば、結果もスピルして並びます。</p>



<pre class="wp-block-code"><code>=SWITCH(A2:A5, &quot;S01&quot;,&quot;営業部&quot;, &quot;A01&quot;,&quot;総務部&quot;, &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">縦方向の範囲A2:A5をSWITCHで一括変換する書き方です。</p>



<h3 class="wp-block-heading"><span id="toc40">最大何個のペアを書けますか？</span></h3>



<p class="wp-block-paragraph"><strong>Excel版は最大126ペア</strong>まで指定できます。実務では20ペアを超えるなら、マスタテーブル＋<a href="https://mashukabu.com/excel-function-howto-use-vlookup/">VLOOKUP関数</a>への切り替えを検討するのがおすすめですよ。</p>



<h3 class="wp-block-heading"><span id="toc41">Googleスプレッドシートでも同じ構文で使えますか？</span></h3>



<p class="wp-block-paragraph">構文は同じですが、Googleスプレッドシート版のSWITCH関数は<strong>最大38ペア</strong>という違いがあります。また、スプレッドシートでは配列処理の挙動が少し異なるので、大量データで使うときはテストしてから本番投入してください。</p>



<h2 class="wp-block-heading"><span id="toc42">まとめ</span></h2>



<p class="wp-block-paragraph">ExcelのSWITCH関数の使い方を紹介しました。最後にポイントを整理しましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>内容</th></tr></thead><tbody><tr><td>機能</td><td>1つの値を複数の候補と照合して結果を返す</td></tr><tr><td>構文</td><td><code>=SWITCH(式, 値1, 結果1, …, [既定値])</code></td></tr><tr><td>最大ペア数</td><td>126ペア（Googleスプレッドシートは38ペア）</td></tr><tr><td>対応バージョン</td><td>Excel 2019 / 2021 / 2024 / Microsoft 365</td></tr><tr><td>得意な場面</td><td>コード→名称の変換（完全一致の分岐）</td></tr><tr><td>苦手な場面</td><td>範囲条件（>=など）→ <a href="https://mashukabu.com/excel-function-howto-use-ifs/">IFS関数</a>を使う</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">SWITCH関数は、IFのネストを置き換えるだけで数式がグッと読みやすくなります。完全一致の分岐が出てきたら、ぜひ試してみてください。既定値の設定と、他関数との使い分けを意識するのが使いこなしのコツですよ。</p>



<p class="wp-block-paragraph">条件分岐の関数をもっと深く知りたい方は、<a href="https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/">IF・IFS・IFERROR・IFNAの使い分け</a>もあわせてご覧ください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-switch/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのIFS関数の使い方｜IFネストを卒業して複数条件をスッキリ書く方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-ifs/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-ifs/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 27 Feb 2022 13:37:37 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[AND関数]]></category>
		<category><![CDATA[IFS関数]]></category>
		<category><![CDATA[IF関数 違い]]></category>
		<category><![CDATA[SWITCH関数]]></category>
		<category><![CDATA[条件分岐]]></category>
		<category><![CDATA[複数条件]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1264</guid>

					<description><![CDATA[IFS関数の基本構文から「それ以外」の書き方、AND/ORとの組み合わせ、評価・分類・期限判定など実務パターン6選、IF関数・SWITCH関数との使い分けまでをわかりやすく解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「IF関数のネストが3段になると、もう何がなんだか分からない……」</p>



<p class="wp-block-paragraph">Excelで複数の条件分岐を書くとき、こんな経験はありませんか？ カッコの対応を間違えてエラーになったり、あとから見返しても条件の意味が読み取れなかったり。 実はExcelには、こうした「IFのネスト地獄」から解放してくれる関数があります。</p>



<p class="wp-block-paragraph">それが <strong>IFS関数</strong> です。 複数の条件をフラットに並べるだけで、ネストなしの分岐処理を実現できます。 この記事では、IFS関数の基本から実務パターン、よくあるエラーの対処法まで丁寧に解説していきますね。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-7" checked><label class="toc-title" for="toc-checkbox-7">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">IFS関数とは？IF関数との違いをひとことで</a><ol><li><a href="#toc2" tabindex="0">基本構文と引数の意味</a></li><li><a href="#toc3" tabindex="0">使えるバージョン（Excel 2019以降 / Microsoft 365）</a></li></ol></li><li><a href="#toc4" tabindex="0">IFS関数の基本的な使い方</a><ol><li><a href="#toc5" tabindex="0">3段階判定の例（成績評価）</a></li><li><a href="#toc6" tabindex="0">「それ以外」はTRUEで受け取る</a></li><li><a href="#toc7" tabindex="0">引数の順番が結果を左右する理由</a></li></ol></li><li><a href="#toc8" tabindex="0">IFS × AND関数 / OR関数の組み合わせ</a><ol><li><a href="#toc9" tabindex="0">AND（〜かつ〜）で複数列を同時チェック</a></li><li><a href="#toc10" tabindex="0">OR（〜または〜）で広げる条件分岐</a></li></ol></li><li><a href="#toc11" tabindex="0">実務パターン6選</a><ol><li><a href="#toc12" tabindex="0">パターン1: 評価・査定ランク付け</a></li><li><a href="#toc13" tabindex="0">パターン2: 数値の区分分け</a></li><li><a href="#toc14" tabindex="0">パターン3: 文字列分類</a></li><li><a href="#toc15" tabindex="0">パターン4: 日付・期限判定</a></li><li><a href="#toc16" tabindex="0">パターン5: 複合条件で複数列参照</a></li><li><a href="#toc17" tabindex="0">パターン6: IFERRORと組み合わせてエラーを握りつぶさない方法</a></li></ol></li><li><a href="#toc18" tabindex="0">IF関数・SWITCH関数との使い分け</a><ol><li><a href="#toc19" tabindex="0">IFS関数を選ぶとき</a></li><li><a href="#toc20" tabindex="0">ネストIFを選ぶとき</a></li><li><a href="#toc21" tabindex="0">SWITCH関数を選ぶとき</a></li></ol></li><li><a href="#toc22" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc23" tabindex="0">#N/Aエラー</a></li><li><a href="#toc24" tabindex="0">条件の順番ミス</a></li><li><a href="#toc25" tabindex="0">そのほかのエラー</a></li></ol></li><li><a href="#toc26" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">IFS関数とは？IF関数との違いをひとことで</span></h2>



<p class="wp-block-paragraph">IFS関数（読み方: イフエス）は、<strong>複数の条件を上から順に判定して、最初にTRUEになった条件の値を返す関数</strong>です。 名前のとおり、IF関数の複数形にあたります。</p>



<p class="wp-block-paragraph">IF関数との一番の違いは「ネストが不要」なこと。 IF関数で3段階の判定をしようとすると、こうなりますよね。</p>



<pre class="wp-block-code"><code>=IF(A1&gt;=90, &quot;優&quot;, IF(A1&gt;=70, &quot;良&quot;, IF(A1&gt;=50, &quot;可&quot;, &quot;不可&quot;)))</code></pre>



<p class="wp-block-paragraph">これをIFS関数で書くと、こうなります。</p>



<pre class="wp-block-code"><code>=IFS(A1&gt;=90, &quot;優&quot;, A1&gt;=70, &quot;良&quot;, A1&gt;=50, &quot;可&quot;, TRUE, &quot;不可&quot;)</code></pre>



<p class="wp-block-paragraph">カッコのネストがなくなり、条件と結果が一対一で並ぶのでとても読みやすくなります。 「条件が3つ以上になったらIFS関数を検討する」と覚えておくと便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc2">基本構文と引数の意味</span></h3>



<p class="wp-block-paragraph">IFS関数の構文は次のとおりです。</p>



<pre class="wp-block-code"><code>=IFS(論理式1, 値1, [論理式2, 値2], ...)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>論理式1</td><td>必須</td><td>1つ目の条件（TRUE/FALSEを返す式）</td></tr><tr><td>値1</td><td>必須</td><td>論理式1がTRUEのときに返す値</td></tr><tr><td>論理式2, 値2 &#8230;</td><td>省略可</td><td>2つ目以降の条件と値のペア（最大127組）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ポイントは、<strong>論理式と値が必ずペア</strong>になっていること。 IF関数にある「偽の場合（value_if_false）」という引数はありません。 そのため、すべての条件に当てはまらなかったときの処理は、別の書き方で対応します（後ほど解説しますね）。</p>



<h3 class="wp-block-heading"><span id="toc3">使えるバージョン（Excel 2019以降 / Microsoft 365）</span></h3>



<p class="wp-block-paragraph">IFS関数が使えるのは、<strong>Excel 2019以降</strong> または <strong>Microsoft 365</strong> です。 Excel 2016以前のバージョンでは #NAME? エラーになります。</p>



<p class="wp-block-paragraph">もし社内でExcelのバージョンが統一されていない場合は、従来のIFネストを使ったほうが安全です。 共有ファイルを作るときは、相手の環境も確認しておくと安心ですよ。</p>



<h2 class="wp-block-heading"><span id="toc4">IFS関数の基本的な使い方</span></h2>



<p class="wp-block-paragraph">ここからは、実際にIFS関数を使った具体例を見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc5">3段階判定の例（成績評価）</span></h3>



<p class="wp-block-paragraph">テストの点数に応じて「優」「良」「可」「不可」を判定する例です。 セルA2に点数が入っているとします。</p>



<pre class="wp-block-code"><code>=IFS(A2&gt;=90, &quot;優&quot;, A2&gt;=70, &quot;良&quot;, A2&gt;=50, &quot;可&quot;, TRUE, &quot;不可&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>A列（点数）</th><th>結果</th></tr></thead><tbody><tr><td>95</td><td>優</td></tr><tr><td>75</td><td>良</td></tr><tr><td>50</td><td>可</td></tr><tr><td>30</td><td>不可</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">IFS関数は条件を<strong>上から順番に評価</strong>します。 95点なら最初の A2>=90 がTRUEになるので「優」が返ります。 75点なら A2>=90 はFALSE、次の A2>=70 がTRUEなので「良」になります。</p>



<h3 class="wp-block-heading"><span id="toc6">「それ以外」はTRUEで受け取る</span></h3>



<p class="wp-block-paragraph">IFS関数にはIF関数のような「偽の場合」がありません。 すべての条件がFALSEだと、#N/A エラーが返ってしまいます。</p>



<p class="wp-block-paragraph">これを防ぐために、<strong>最後の条件を TRUE にする</strong>のが定番テクニックです。</p>



<pre class="wp-block-code"><code>=IFS(A2&gt;=90, &quot;優&quot;, A2&gt;=70, &quot;良&quot;, A2&gt;=50, &quot;可&quot;, TRUE, &quot;不可&quot;)</code></pre>



<p class="wp-block-paragraph">最後の TRUE は「上のどの条件にも当てはまらなければ」という意味になります。 IF関数でいう「偽の場合」の代わりですね。 IFS関数を使うときは、<strong>最後にTRUEを入れる</strong>のをクセにしておくとエラーを防げますよ。</p>



<h3 class="wp-block-heading"><span id="toc7">引数の順番が結果を左右する理由</span></h3>



<p class="wp-block-paragraph">IFS関数は<strong>最初にTRUEになった条件で確定</strong>します。 つまり、条件の並び順がそのまま優先順位になります。</p>



<p class="wp-block-paragraph">たとえば、次の数式を見てください。</p>



<pre class="wp-block-code"><code>=IFS(A2&gt;=50, &quot;可&quot;, A2&gt;=70, &quot;良&quot;, A2&gt;=90, &quot;優&quot;, TRUE, &quot;不可&quot;)</code></pre>



<p class="wp-block-paragraph">この書き方だと、90点でも最初の A2>=50 がTRUEになるので「可」になってしまいます。 正しくは<strong>厳しい条件（大きい値）を先に書く</strong>必要があります。</p>



<pre class="wp-block-code"><code>=IFS(A2&gt;=90, &quot;優&quot;, A2&gt;=70, &quot;良&quot;, A2&gt;=50, &quot;可&quot;, TRUE, &quot;不可&quot;)</code></pre>



<p class="wp-block-paragraph">「条件は上から優先」という仕組みを意識しておくと、思わぬミスを防げますよ。</p>



<h2 class="wp-block-heading"><span id="toc8">IFS × AND関数 / OR関数の組み合わせ</span></h2>



<p class="wp-block-paragraph">IFS関数の条件部分には、<a href="https://mashukabu.com/excel-function-howto-use-and/">AND関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-or/">OR関数</a>を組み込むことができます。 「〜かつ〜」「〜または〜」の複合条件を表現できるので、実務での活用の幅がぐっと広がります。</p>



<h3 class="wp-block-heading"><span id="toc9">AND（〜かつ〜）で複数列を同時チェック</span></h3>



<p class="wp-block-paragraph">点数（A列）と提出状況（B列）の両方を見て評価を出す例です。</p>



<pre class="wp-block-code"><code>=IFS(
  AND(A2&gt;=90, B2=&quot;提出済&quot;), &quot;S評価&quot;,
  AND(A2&gt;=70, B2=&quot;提出済&quot;), &quot;A評価&quot;,
  AND(A2&gt;=50, B2=&quot;提出済&quot;), &quot;B評価&quot;,
  TRUE, &quot;要フォロー&quot;
)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>A列（点数）</th><th>B列（提出状況）</th><th>結果</th></tr></thead><tbody><tr><td>95</td><td>提出済</td><td>S評価</td></tr><tr><td>80</td><td>提出済</td><td>A評価</td></tr><tr><td>80</td><td>未提出</td><td>要フォロー</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">AND関数を使うことで、「点数が90以上 <strong>かつ</strong> 提出済」のような複合条件を1つの論理式にまとめられます。 提出していなければ点数に関係なく「要フォロー」になる、というロジックも自然に書けますよね。</p>



<h3 class="wp-block-heading"><span id="toc10">OR（〜または〜）で広げる条件分岐</span></h3>



<p class="wp-block-paragraph">勤怠ステータスに応じて区分を振り分ける例です。</p>



<pre class="wp-block-code"><code>=IFS(
  OR(A2=&quot;欠勤&quot;, A2=&quot;遅刻&quot;), &quot;要確認&quot;,
  OR(A2=&quot;出勤&quot;, A2=&quot;テレワーク&quot;), &quot;正常&quot;,
  TRUE, &quot;未記入&quot;
)</code></pre>



<p class="wp-block-paragraph">OR関数を使えば、「欠勤 <strong>または</strong> 遅刻なら要確認」のように、複数の値をまとめて1つの条件として扱えます。 条件ごとに別々の行を書かなくてよいので、数式がコンパクトになりますよ。</p>



<h2 class="wp-block-heading"><span id="toc11">実務パターン6選</span></h2>



<p class="wp-block-paragraph">ここからは、IFS関数が活躍する実務シーンを6パターン紹介します。 そのまま使えるテンプレートとして活用してみてください。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン1: 評価・査定ランク付け</span></h3>



<p class="wp-block-paragraph">売上金額に応じてランクを付ける定番パターンです。</p>



<pre class="wp-block-code"><code>=IFS(C2&gt;=1000000, &quot;Sランク&quot;, C2&gt;=500000, &quot;Aランク&quot;, C2&gt;=200000, &quot;Bランク&quot;, TRUE, &quot;Cランク&quot;)</code></pre>



<p class="wp-block-paragraph">100万以上ならSランク、50万以上ならAランクという具合です。 人事評価やKPI管理にも応用できますよ。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン2: 数値の区分分け</span></h3>



<p class="wp-block-paragraph">残業時間を区分ごとに分類する例です。</p>



<pre class="wp-block-code"><code>=IFS(D2&gt;=80, &quot;要注意&quot;, D2&gt;=60, &quot;特別手当&quot;, D2&gt;=20, &quot;通常手当&quot;, TRUE, &quot;手当なし&quot;)</code></pre>



<p class="wp-block-paragraph">数値の範囲でラベルを振り分ける処理は、IFS関数の得意分野です。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン3: 文字列分類</span></h3>



<p class="wp-block-paragraph">部署名に応じてメッセージを切り替える例です。</p>



<pre class="wp-block-code"><code>=IFS(
  F2=&quot;営業部&quot;, &quot;顧客対応優先&quot;,
  F2=&quot;経理部&quot;, &quot;月末処理注意&quot;,
  F2=&quot;総務部&quot;, &quot;備品管理確認&quot;,
  TRUE, &quot;共通事項確認&quot;
)</code></pre>



<p class="wp-block-paragraph">文字列の完全一致で分岐する場合は、SWITCH関数も候補になります。 ただし「それ以外」をTRUEで拾いたいときは、IFS関数のほうが柔軟に対応できますよ。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン4: 日付・期限判定</span></h3>



<p class="wp-block-paragraph">日付をもとに年度区分を判定する例です。</p>



<pre class="wp-block-code"><code>=IFS(A2&lt;DATE(2025,4,1), &quot;旧年度&quot;, A2&lt;DATE(2026,4,1), &quot;当年度&quot;, TRUE, &quot;翌年度以降&quot;)</code></pre>



<p class="wp-block-paragraph">DATE関数と組み合わせれば、期限管理やキャンペーン期間の判定にも使えます。</p>



<h3 class="wp-block-heading"><span id="toc16">パターン5: 複合条件で複数列参照</span></h3>



<p class="wp-block-paragraph">3科目の点数を同時にチェックして合否を判定する例です。</p>



<pre class="wp-block-code"><code>=IFS(
  AND(B2&gt;=60, C2&gt;=60, D2&gt;=60), &quot;合格&quot;,
  OR(B2&lt;30, C2&lt;30, D2&lt;30), &quot;不合格（要補講）&quot;,
  TRUE, &quot;再試験&quot;
)</code></pre>



<p class="wp-block-paragraph">AND関数とOR関数を混在させることもできます。「全科目60点以上なら合格、1科目でも30点未満なら不合格」というルールも、IFS関数なら1つの数式に収められますよ。</p>



<h3 class="wp-block-heading"><span id="toc17">パターン6: IFERRORと組み合わせてエラーを握りつぶさない方法</span></h3>



<p class="wp-block-paragraph">IFS関数の結果が #N/A になる可能性がある場合、<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>で一律「エラー」としてしまうのは危険です。 本当のデータ不備を見逃すことにつながります。</p>



<p class="wp-block-paragraph">おすすめは、<a href="https://mashukabu.com/excel-function-howto-use-ifna/">IFNA関数</a>でN/Aエラーだけをキャッチする方法です。</p>



<pre class="wp-block-code"><code>=IFNA(IFS(A2&gt;=90, &quot;優&quot;, A2&gt;=70, &quot;良&quot;, A2&gt;=50, &quot;可&quot;), &quot;判定不能&quot;)</code></pre>



<p class="wp-block-paragraph">IFNA関数なら #N/A だけを処理して、#VALUE! などの想定外エラーはそのまま表示してくれます。 「エラーを握りつぶさず、N/Aだけ拾う」のが安全な使い方ですよ。</p>



<h2 class="wp-block-heading"><span id="toc18">IF関数・SWITCH関数との使い分け</span></h2>



<p class="wp-block-paragraph">条件分岐に使える関数は、IFS以外にも<a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>と<a href="https://mashukabu.com/excel-function-howto-use-switch/">SWITCH関数</a>があります。 それぞれ得意なシーンが違うので、使い分けの基準を整理しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc19">IFS関数を選ぶとき</span></h3>



<ul class="wp-block-list"><li>条件が3つ以上ある</li><li>「以上」「未満」のような範囲比較で分岐したい</li><li>条件にAND/ORを組み込みたい</li></ul>



<p class="wp-block-paragraph">IFS関数は範囲比較に強く、条件が増えても可読性が落ちにくいのが特徴です。</p>



<h3 class="wp-block-heading"><span id="toc20">ネストIFを選ぶとき</span></h3>



<ul class="wp-block-list"><li>条件が2つまでのシンプルな分岐</li><li>Excel 2016以前との互換性が必要</li><li>「TRUE/FALSEの2択」で十分なケース</li></ul>



<p class="wp-block-paragraph">条件が1〜2つなら、IF関数のほうがシンプルに書けます。 バージョン互換性を重視する場合もIF関数が安全です。</p>



<h3 class="wp-block-heading"><span id="toc21">SWITCH関数を選ぶとき</span></h3>



<ul class="wp-block-list"><li>特定の値との<strong>完全一致</strong>で分岐する</li><li>「1なら月、2なら火、3なら水……」のようなマッピング</li></ul>



<p class="wp-block-paragraph">SWITCH関数は値の完全一致に特化しています。 「>=」や「<」のような範囲比較には対応していないので注意してください。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>IFS関数</th><th>IF関数（ネスト）</th><th>SWITCH関数</th></tr></thead><tbody><tr><td>条件の数</td><td>3つ以上に最適</td><td>1〜2つに最適</td><td>値の一覧向き</td></tr><tr><td>範囲比較</td><td>対応</td><td>対応</td><td>非対応</td></tr><tr><td>完全一致</td><td>対応</td><td>対応</td><td>得意</td></tr><tr><td>可読性（条件多数時）</td><td>高い</td><td>低い（ネスト深い）</td><td>高い</td></tr><tr><td>対応バージョン</td><td>2019以降</td><td>全バージョン</td><td>2019以降</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">迷ったときは「範囲比較ならIFS、完全一致ならSWITCH、2択ならIF」と覚えておくと選びやすいですよ。</p>



<p class="wp-block-paragraph">もっと詳しく知りたい方は「<a href="https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/">IF・IFS・IFERROR・IFNAの使い分け</a>」の記事もチェックしてみてください。</p>



<h2 class="wp-block-heading"><span id="toc22">よくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">IFS関数で発生しやすいエラーと、その原因・対処法をまとめました。</p>



<h3 class="wp-block-heading"><span id="toc23">#N/Aエラー</span></h3>



<p class="wp-block-paragraph"><strong>原因</strong>: すべての条件がFALSEで、TRUEになる条件が1つもなかった場合に発生します。</p>



<p class="wp-block-paragraph"><strong>対処法</strong>: 最後の条件に TRUE を追加して「それ以外」を必ず受け止めるようにしましょう。</p>



<pre class="wp-block-code"><code>× =IFS(A2&gt;=90, &quot;優&quot;, A2&gt;=70, &quot;良&quot;, A2&gt;=50, &quot;可&quot;)
○ =IFS(A2&gt;=90, &quot;優&quot;, A2&gt;=70, &quot;良&quot;, A2&gt;=50, &quot;可&quot;, TRUE, &quot;不可&quot;)</code></pre>



<p class="wp-block-paragraph">IFS関数を書いたら「TRUEで締めているか」を確認するクセをつけておくと安心です。 エラー値の詳細は「<a href="https://mashukabu.com/excel-error-value-list/">Excelエラー値一覧</a>」も参考にしてみてください。</p>



<h3 class="wp-block-heading"><span id="toc24">条件の順番ミス</span></h3>



<p class="wp-block-paragraph"><strong>原因</strong>: 緩い条件を先に書いてしまい、厳しい条件が評価されないケースです。</p>



<pre class="wp-block-code"><code>× =IFS(A2&gt;=50, &quot;可&quot;, A2&gt;=70, &quot;良&quot;, A2&gt;=90, &quot;優&quot;)</code></pre>



<p class="wp-block-paragraph">この書き方だと、90点でも A2>=50 が先にTRUEになるので「可」になってしまいます。</p>



<p class="wp-block-paragraph"><strong>対処法</strong>: 厳しい条件（大きい値）を先に書きましょう。</p>



<pre class="wp-block-code"><code>○ =IFS(A2&gt;=90, &quot;優&quot;, A2&gt;=70, &quot;良&quot;, A2&gt;=50, &quot;可&quot;, TRUE, &quot;不可&quot;)</code></pre>



<p class="wp-block-paragraph">「上から優先」を意識するだけで、このミスは防げますよ。</p>



<h3 class="wp-block-heading"><span id="toc25">そのほかのエラー</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE!</td><td>条件がTRUE/FALSEを返さない式になっている</td><td>論理式を見直す</td></tr><tr><td>「引数が少なすぎます」</td><td>条件と値がペアになっていない</td><td>引数の数が偶数か確認する</td></tr><tr><td>#NAME?</td><td>Excel 2016以前で使用している</td><td>バージョンを確認し、IFネストに書き換える</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc26">まとめ</span></h2>



<p class="wp-block-paragraph">IFS関数は、IF関数のネストをフラットに書き直せる便利な関数です。 この記事のポイントを振り返っておきましょう。</p>



<ul class="wp-block-list"><li>IFS関数は<strong>条件と値のペア</strong>を並べるだけで複数条件の分岐ができる</li><li>「それ以外」を表現するには、<strong>最後の条件をTRUE</strong>にする</li><li>条件は<strong>上から順に評価</strong>されるので、厳しい条件を先に書く</li><li>AND関数やOR関数と組み合わせれば、複合条件も対応できる</li><li>Excel 2019以降 / Microsoft 365で利用可能</li></ul>



<p class="wp-block-paragraph">IF関数のネストで消耗していた方は、ぜひIFS関数を試してみてください。 数式がスッキリ読みやすくなるのを実感できるはずですよ。</p>



<p class="wp-block-paragraph">Excel関数の基礎をもっと固めたい方は「<a href="https://mashukabu.com/excel-function/">Excel関数の基本</a>」、関数を探したい方は「<a href="https://mashukabu.com/excel-function-list-by-function/">Excel関数一覧</a>」もあわせてどうぞ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-ifs/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
