<?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>CHOOSE関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/choose%E9%96%A2%E6%95%B0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 04 Jun 2026 14:49:21 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>CHOOSE関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのSIGN関数で正負判定｜損益分類・矢印表示・ABS関数との組み合わせまで</title>
		<link>https://mashukabu.com/spreadsheet-sign-function/</link>
					<comments>https://mashukabu.com/spreadsheet-sign-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:30:32 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ABS関数]]></category>
		<category><![CDATA[ARRAYFORMULA]]></category>
		<category><![CDATA[CHOOSE関数]]></category>
		<category><![CDATA[IF関数]]></category>
		<category><![CDATA[SIGN関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[損益分析]]></category>
		<category><![CDATA[数学関数]]></category>
		<category><![CDATA[正負判定]]></category>
		<category><![CDATA[符号判定]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4763</guid>

					<description><![CDATA[スプレッドシートのSIGN関数で数値の符号（正・負・ゼロ）を判定する方法を徹底解説。基本構文から損益の自動分類・前月比の矢印表示・ABS関数を組み合わせた符号保持の丸め処理・ARRAYFORMULAによる一括判定まで、実務でそのまま使える6パターンを早見表とサンプル付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">売上の増減や在庫の過不足を一覧表で管理していると、「この数値はプラスなのかマイナスなのか」をパッと見分けたい場面ってありますよね。たとえば月次の損益表で黒字・赤字を自動分類したいときや、前月比に「▲」「▼」の矢印を付けたいときです。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>で条件分岐を書く方法もありますが、正・負・ゼロの3パターンを判定するにはIFのネストが必要です。式が長くなって、後から見たときに読みづらいですよね。</p>



<p class="wp-block-paragraph">そんなときに便利なのが <strong>SIGN関数</strong> です。数値を1つ渡すだけで、正なら「1」、負なら「-1」、ゼロなら「0」を返してくれます。1, -1, 0 という数値が返るのがポイントで、<a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE関数</a>や<a href="https://mashukabu.com/spreadsheet-abs-function/">ABS関数</a>と組み合わせると、IF関数では書きにくい処理がスッキリ書けます。</p>



<p class="wp-block-paragraph">この記事ではSIGN関数の基本構文から、損益の自動分類・前月比の矢印表示・ABS関数を組み合わせた符号保持の丸め処理・<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA</a>による一括判定まで、実務でそのまま使える6パターンを早見表付きで紹介します。エラー対処やExcelとの違いも整理しますよ。</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">スプレッドシートのSIGN関数とは？符号判定の基本</a><ol><li><a href="#toc2" tabindex="0">SIGN関数で何ができる？</a></li></ol></li><li><a href="#toc3" tabindex="0">SIGN関数の構文と引数</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">SIGN関数の基本的な使い方</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">実務でのSIGN関数活用パターン6選</a><ol><li><a href="#toc13" tabindex="0">パターン1: 損益を「黒字／赤字／収支ゼロ」に自動分類する</a></li><li><a href="#toc14" tabindex="0">パターン2: 前月比の増減方向を矢印で表示する（CHOOSEとの組み合わせ）</a></li><li><a href="#toc15" tabindex="0">パターン3: 前月比に増減ラベルを付ける（CHOOSEとの組み合わせ・文字版）</a></li><li><a href="#toc16" tabindex="0">パターン4: 符号別に件数や合計を集計する（SUMPRODUCTとの組み合わせ）</a></li><li><a href="#toc17" tabindex="0">パターン5: 符号を保持したまま端数を丸める（ABSとの組み合わせ）</a></li><li><a href="#toc18" tabindex="0">パターン6: ARRAYFORMULAで列全体を一括判定する</a></li></ol></li><li><a href="#toc19" tabindex="0">SIGN関数とABS関数は「方向」と「大きさ」のペア</a><ol><li><a href="#toc20" tabindex="0">符号を保持したまま上限を設定する</a></li><li><a href="#toc21" tabindex="0">符号を反転させる（マイナス符号を付ける）</a></li></ol></li><li><a href="#toc22" tabindex="0">SIGN関数のよくあるエラーと対処法</a><ol><li><a href="#toc23" tabindex="0">文字列が混在しているとき（#VALUE!対策）</a></li><li><a href="#toc24" tabindex="0">空白セルと「本当の0」を区別したいとき</a></li></ol></li><li><a href="#toc25" tabindex="0">SIGN関数と似た関数の使い分け</a><ol><li><a href="#toc26" tabindex="0">SIGN関数とIF関数の使い分け</a></li><li><a href="#toc27" tabindex="0">SIGN関数とABS関数の使い分け</a></li></ol></li><li><a href="#toc28" tabindex="0">SIGN関数のよくある質問（FAQ）</a></li><li><a href="#toc29" tabindex="0">ExcelのSIGN関数との違い</a></li><li><a href="#toc30" tabindex="0">まとめ：SIGN関数で符号判定をスッキリ書こう</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのSIGN関数とは？符号判定の基本</span></h2>



<p class="wp-block-paragraph">SIGN関数（読み方: サイン関数）は、<strong>数値の符号（正・負・ゼロ）を判定する関数</strong>です。名前は英語の「sign（符号・記号）」がそのまま由来になっています。</p>



<p class="wp-block-paragraph">引数に数値を1つ渡すと、次の3つのいずれかが返ります。</p>



<ul class="wp-block-list"><li>正の数 → <strong>1</strong></li><li>負の数 → <strong>-1</strong></li><li>ゼロ → <strong>0</strong></li></ul>



<p class="wp-block-paragraph">数値の「大きさ」ではなく「方向」だけを取り出す関数、と覚えるとイメージしやすいです。たとえば <code>=SIGN(1000)</code> も <code>=SIGN(0.001)</code> もどちらも結果は「1」で、値の大小は関係ありません。</p>



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



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



<ul class="wp-block-list"><li>月次の損益を「黒字」「赤字」「収支ゼロ」に自動分類したいとき</li><li>前月比に「▲」「▼」の矢印記号を付けて視覚化したいとき</li><li>売上の増減方向だけを集計（プラスの件数・マイナスの件数）したいとき</li><li><a href="https://mashukabu.com/spreadsheet-abs-function/">ABS関数</a>と組み合わせて「大きさだけ丸めて、符号は元のまま」という処理をしたいとき</li><li><a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>のネストを書きたくないとき</li></ul>



<p class="wp-block-paragraph">NOTE: SIGN関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りで結果がずれる心配はありません。Excel版の詳しい解説は <a href="https://mashukabu.com/excel-function-howto-use-sign/">ExcelのSIGN関数の使い方</a> もあわせてご覧ください。</p>



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



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



<pre class="wp-block-code"><code>=SIGN(値)</code></pre>



<p class="wp-block-paragraph">カッコの中に「符号を判定したい数値」を1つ入れるだけです。引数は1つだけなのでとてもシンプルですね。</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></tbody></table></figure>



<p class="wp-block-paragraph">結果は必ず「1」「-1」「0」のいずれかになります。それ以外の値は返りません。</p>



<h3 class="wp-block-heading"><span id="toc6">戻り値の早見表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>戻り値</th><th>意味</th></tr></thead><tbody><tr><td>正の整数（例: 100）</td><td>1</td><td>正の数</td></tr><tr><td>正の小数（例: 0.001）</td><td>1</td><td>正の数</td></tr><tr><td>負の整数（例: -50）</td><td>-1</td><td>負の数</td></tr><tr><td>負の小数（例: -0.5）</td><td>-1</td><td>負の数</td></tr><tr><td>ゼロ（0）</td><td>0</td><td>ゼロ</td></tr><tr><td>空白セル</td><td>0</td><td>空白は数値の0として扱われる</td></tr><tr><td>文字列（例: &#8220;abc&#8221;）</td><td>#VALUE!</td><td>エラー</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「正の数はすべて1、負の数はすべて-1」というのが基本ルールです。値の大小は結果に影響しません。</p>



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



<h3 class="wp-block-heading"><span id="toc8">数値を直接渡す</span></h3>



<p class="wp-block-paragraph">リテラル（数値そのもの）を渡すパターンです。動作確認や入門用に使います。</p>



<pre class="wp-block-code"><code>=SIGN(10)      → 1
=SIGN(-10)     → -1
=SIGN(0)       → 0
=SIGN(3.14)    → 1
=SIGN(-0.001)  → -1</code></pre>



<p class="wp-block-paragraph">正の数はすべて「1」、負の数はすべて「-1」、ゼロは「0」が返るのがわかりますね。</p>



<h3 class="wp-block-heading"><span id="toc9">セル参照を使う</span></h3>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



<p class="wp-block-paragraph">実務ではセル参照を使うケースがほとんどです。A2セルに数値が入っているとします。</p>



<pre class="wp-block-code"><code>=SIGN(A2)</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/02_formula_sign-basic.png" alt="02 formula sign basic" /></figure>



<p class="wp-block-paragraph">セル参照にしておけば、A2の値が変わっても自動で判定結果が更新されます。一覧表でフィルダウン（下方向にコピー）すれば、列全体に対して符号判定ができますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">数式の結果に対して使う</span></h3>



<p class="wp-block-paragraph">引数には数式を直接書くこともできます。たとえば「B2とC2の差の符号」を判定するパターンです。</p>



<pre class="wp-block-code"><code>=SIGN(B2-C2)</code></pre>



<p class="wp-block-paragraph">B2が「80」、C2が「100」なら、B2-C2は「-20」になります。SIGN関数で「-1」が返ります。前月比や差分の方向判定でよく使うパターンです。</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>=SIGN(100)</code></td><td>1</td><td>正の数</td></tr><tr><td><code>=SIGN(-50)</code></td><td>-1</td><td>負の数</td></tr><tr><td><code>=SIGN(0)</code></td><td>0</td><td>ゼロ</td></tr><tr><td><code>=SIGN(A2)</code></td><td>1, -1, 0 のいずれか</td><td>セル参照</td></tr><tr><td><code>=SIGN(B2-C2)</code></td><td>1, -1, 0 のいずれか</td><td>差分の符号</td></tr><tr><td><code>=SIGN(SUM(A2:A10))</code></td><td>1, -1, 0 のいずれか</td><td>合計の符号</td></tr></tbody></table></figure>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_sign-basic.png" alt="03 result sign basic" /></figure>



<h2 class="wp-block-heading"><span id="toc12">実務でのSIGN関数活用パターン6選</span></h2>



<p class="wp-block-paragraph">ここからは、実務でよく使うSIGN関数の活用パターンを紹介します。「ラベル表示」「矢印表示」「条件付き集計」「符号保持の数値加工」など、IF関数だけでは書きにくい処理がSIGN関数を使うとスッキリ書けますよ。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン1: 損益を「黒字／赤字／収支ゼロ」に自動分類する</span></h3>



<p class="wp-block-paragraph">月ごとの損益額を3パターンのラベルに自動分類するパターンです。B2セルに損益額が入っているとします。</p>



<pre class="wp-block-code"><code>=IF(SIGN(B2)=1, &quot;黒字&quot;, IF(SIGN(B2)=-1, &quot;赤字&quot;, &quot;収支ゼロ&quot;))</code></pre>



<p class="wp-block-paragraph">SIGN関数の結果（1, -1, 0）を<a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>で判定して、ラベルを付けています。</p>



<p class="wp-block-paragraph">TIP: IF関数だけで書くと <code>=IF(B2>0, "黒字", IF(B2<0, "赤字", "収支ゼロ"))</code> です。この場合はIF関数のほうがシンプルですね。SIGN関数の真価は、次に紹介するCHOOSE関数やABS関数との組み合わせ、数値計算に符号を活用する場面で発揮されます。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン2: 前月比の増減方向を矢印で表示する（CHOOSEとの組み合わせ）</span></h3>



<p class="wp-block-paragraph">売上の前月比をもとに「▲（増加）」「−（変動なし）」「▼（減少）」の矢印を表示するパターンです。ダッシュボードや報告資料でよく使います。</p>



<pre class="wp-block-code"><code>=CHOOSE(SIGN(C2-B2)+2, &quot;▼&quot;, &quot;−&quot;, &quot;▲&quot;)</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/04_result_sign-choose-arrow.png" alt="04 result sign choose arrow" /></figure>



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



<ol class="wp-block-list"><li><code>C2-B2</code> で前月比を計算</li><li><code>SIGN(...)</code> で -1, 0, 1 のいずれかに変換</li><li><code>+2</code> を足して 1, 2, 3 に変換</li><li><a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE関数</a>で1番目="▼"、2番目="−"、3番目="▲"を取り出す</li></ol>



<p class="wp-block-paragraph">CHOOSE関数は引数の番号（1から始まる整数）に対応する値を返す関数です。SIGN関数で必ず -1, 0, 1 が返ることを利用して、3パターンの分岐を1行でスッキリ書けます。IF関数のネストよりも読みやすいのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン3: 前月比に増減ラベルを付ける（CHOOSEとの組み合わせ・文字版）</span></h3>



<p class="wp-block-paragraph">矢印ではなく、文字でラベルを付けたい場合も同じパターンが使えます。</p>



<pre class="wp-block-code"><code>=CHOOSE(SIGN(C2-B2)+2, &quot;減少&quot;, &quot;変動なし&quot;, &quot;増加&quot;)</code></pre>



<p class="wp-block-paragraph">CHOOSE関数の引数を文字ラベルに差し替えるだけです。社内資料では文字ラベル、ダッシュボードでは矢印、と使い分けると見やすくなります。</p>



<h3 class="wp-block-heading"><span id="toc16">パターン4: 符号別に件数や合計を集計する（SUMPRODUCTとの組み合わせ）</span></h3>



<p class="wp-block-paragraph">データの中から「プラスの値だけ」「マイナスの値だけ」を集計したいケースです。B2:B10に金額が入っているとします。</p>



<p class="wp-block-paragraph">正の値だけ合計するパターン:</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((SIGN(B2:B10)=1)*B2:B10)</code></pre>



<p class="wp-block-paragraph">負の値だけ合計するパターン:</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((SIGN(B2:B10)=-1)*B2:B10)</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-sumproduct-function/">SUMPRODUCT関数</a>で「SIGNの結果が1（または-1）の行だけ」を条件にして掛け合わせ、合計しています。SUMIFよりも柔軟に条件を書けるので、複合条件の集計でも使えるパターンです。</p>



<p class="wp-block-paragraph">件数だけ知りたい場合は、掛け算する値を1にします。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((SIGN(B2:B10)=1)*1)   → プラスの件数
=SUMPRODUCT((SIGN(B2:B10)=-1)*1)  → マイナスの件数</code></pre>



<h3 class="wp-block-heading"><span id="toc17">パターン5: 符号を保持したまま端数を丸める（ABSとの組み合わせ）</span></h3>



<p class="wp-block-paragraph">金額の端数を丸めつつ、プラス・マイナスの符号はそのまま残したいパターンです。A2に金額が入っているとします。</p>



<pre class="wp-block-code"><code>=SIGN(A2) * ROUNDDOWN(ABS(A2), -2)</code></pre>



<p class="wp-block-paragraph">A2が「-1,234」の場合の動きを追ってみましょう。</p>



<ol class="wp-block-list"><li><code>ABS(A2)</code> で絶対値「1,234」に変換</li><li><a href="https://mashukabu.com/spreadsheet-rounddown-function/">ROUNDDOWN関数</a>で百の位で切り捨てて「1,200」</li><li><code>SIGN(A2)</code> の「-1」を掛けて「-1,200」</li></ol>



<p class="wp-block-paragraph">A2が「1,234」の場合も同じ式で「1,200」になります。符号に関係なく同じ丸め処理が適用されるのがポイントです。普通に <code>=ROUNDDOWN(A2, -2)</code> と書くと、負の数の場合に「ゼロ方向」と「マイナス方向」のどちらに丸めるかで結果がずれることがあります。SIGN×ABSの組み合わせなら、必ず「絶対値が小さくなる方向」に丸まります。</p>



<h3 class="wp-block-heading"><span id="toc18">パターン6: ARRAYFORMULAで列全体を一括判定する</span></h3>



<p class="wp-block-paragraph">スプレッドシート特有の機能、<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA</a>と組み合わせると、1つの数式で列全体を一括判定できます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(SIGN(B2:B100))</code></pre>



<p class="wp-block-paragraph">この1行で、B2からB100までの符号判定を一気に行えます。フィルダウンする必要がなく、データ行が増減しても自動追従するのがメリットです。</p>



<p class="wp-block-paragraph">矢印表示と組み合わせるなら次のように書きます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(B2:B100=&quot;&quot;, &quot;&quot;, CHOOSE(SIGN(B2:B100)+2, &quot;▼&quot;, &quot;−&quot;, &quot;▲&quot;)))</code></pre>



<p class="wp-block-paragraph"><code>IF(B2:B100="", "", ...)</code> で空白行は空白のまま残し、データがある行だけ矢印を表示しています。これでフォーム回答や追加データにも自動対応するダッシュボードが作れますよ。</p>



<h2 class="wp-block-heading"><span id="toc19">SIGN関数とABS関数は「方向」と「大きさ」のペア</span></h2>



<p class="wp-block-paragraph">SIGN関数とABS関数は、数値を扱う上で対になる関数です。役割を整理しておくと、組み合わせ技が理解しやすくなります。</p>



<ul class="wp-block-list"><li><strong>SIGN関数</strong>: 数値の「方向」（符号）を取り出す → 1, -1, 0</li><li><strong><a href="https://mashukabu.com/spreadsheet-abs-function/">ABS関数</a></strong>: 数値の「大きさ」（絶対値）を取り出す → 常に0以上</li></ul>



<p class="wp-block-paragraph">この2つを掛け合わせると、元の数値を復元できます。</p>



<pre class="wp-block-code"><code>=ABS(-15) * SIGN(-15)   → 15 × (-1) = -15
=ABS(15)  * SIGN(15)    → 15 × 1    = 15
=ABS(0)   * SIGN(0)     → 0  × 0    = 0</code></pre>



<p class="wp-block-paragraph">つまり <code>ABS(x) × SIGN(x) = x</code> という関係が常に成り立ちます。この性質を使うと「大きさだけを加工して、符号は元のまま」という処理がきれいに書けます。</p>



<h3 class="wp-block-heading"><span id="toc20">符号を保持したまま上限を設定する</span></h3>



<p class="wp-block-paragraph">値の絶対値に上限を設けつつ、符号はそのまま残したいパターンです。</p>



<pre class="wp-block-code"><code>=SIGN(A2) * MIN(ABS(A2), 1000)</code></pre>



<p class="wp-block-paragraph">A2が「-1,500」なら、動きはこうです。</p>



<ol class="wp-block-list"><li><code>ABS(A2)</code> で絶対値「1,500」</li><li><a href="https://mashukabu.com/spreadsheet-min-function/">MIN関数</a>で上限1,000に制限して「1,000」</li><li><code>SIGN(A2)</code> の「-1」を掛けて「-1,000」</li></ol>



<p class="wp-block-paragraph">A2が「1,500」なら「1,000」、A2が「-500」なら「-500」（上限を超えていないのでそのまま）になります。ポイント還元の上限処理や、損益のキャップ計算で使えるパターンです。</p>



<h3 class="wp-block-heading"><span id="toc21">符号を反転させる（マイナス符号を付ける）</span></h3>



<p class="wp-block-paragraph">たとえば「常に負の値として扱いたい」場合は、SIGN関数を使わずに <code>-ABS(A2)</code> と書くのが簡単です。逆に「常に正の値として扱いたい」なら <code>ABS(A2)</code> だけでOKです。SIGN関数を使うのは、あくまで「元の符号を保持したい」場合ですね。</p>



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



<p class="wp-block-paragraph">SIGN関数は引数1つのシンプルな関数ですが、エラーが出ることもあります。原因と対処法を整理しておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー・現象</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE!</td><td>引数に文字列が入っている</td><td>セル参照先が数値かどうか確認する。<a href="https://mashukabu.com/spreadsheet-isnumber-function/">ISNUMBER関数</a>で事前チェック</td></tr><tr><td>#ERROR!</td><td>構文ミス（カッコ忘れ、引数なし等）</td><td>数式の入力内容を見直す</td></tr><tr><td>#N/A</td><td>引数がエラー値（VLOOKUP等のエラー結果）</td><td>元のエラーを先に解決する</td></tr><tr><td>常に0が返る</td><td>空白セルを参照している</td><td>空白セルは0として扱われるため正常動作。未入力と区別したい場合は下記参照</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc23">文字列が混在しているとき（#VALUE!対策）</span></h3>



<p class="wp-block-paragraph">SIGN関数に文字列を渡すと#VALUE!エラーになります。</p>



<pre class="wp-block-code"><code>=SIGN(&quot;abc&quot;)   → #VALUE!
=SIGN(&quot;100&quot;)   → 1（文字列でも数値に変換できれば動く）</code></pre>



<p class="wp-block-paragraph">「100」のように数値として解釈できる文字列はエラーになりません。一方で「abc」のような純粋な文字列はエラーです。セル参照先に文字列が混じる可能性があるときは、<a href="https://mashukabu.com/spreadsheet-isnumber-function/">ISNUMBER関数</a>で事前にチェックすると安全です。</p>



<pre class="wp-block-code"><code>=IF(ISNUMBER(A1), SIGN(A1), &quot;数値を入力してください&quot;)</code></pre>



<p class="wp-block-paragraph">IFERROR関数で囲んでエラーを隠す方法もありますが、原因の特定が遅れるのでおすすめしません。事前チェックのほうが安全ですよ。</p>



<h3 class="wp-block-heading"><span id="toc24">空白セルと「本当の0」を区別したいとき</span></h3>



<p class="wp-block-paragraph">SIGN関数に空白セルを渡すと「0」が返ります。これは空白セルが数値の「0」として扱われるためで、エラーではありません。</p>



<p class="wp-block-paragraph">ただし「データが未入力なのか、本当にゼロなのか」を区別したいケースもあります。その場合はIF関数で事前に空白判定を入れます。</p>



<pre class="wp-block-code"><code>=IF(A1=&quot;&quot;, &quot;未入力&quot;, SIGN(A1))</code></pre>



<p class="wp-block-paragraph">これで未入力のセルには「未入力」、数値が入っているセルには SIGN関数の結果（1, -1, 0）が返ります。</p>



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



<p class="wp-block-paragraph">符号判定や条件分岐に使える関数は他にもあります。SIGN関数とどう使い分けるか整理しておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>動作</th><th>引数</th><th>戻り値</th><th>SIGN関数との違い</th></tr></thead><tbody><tr><td><strong>SIGN</strong></td><td><strong>符号を判定する</strong></td><td><strong>1つ</strong></td><td><strong>1, 0, -1 のいずれか</strong></td><td><strong>本記事の主役</strong></td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-abs-function/">ABS</a></td><td>絶対値を返す</td><td>1つ</td><td>常に0以上の数値</td><td>「大きさ」を取り出す。SIGNの対になる関数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-if-function/">IF</a></td><td>条件で分岐する</td><td>3つ</td><td>条件に応じた値</td><td>ラベル表示はIFが読みやすい</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE</a></td><td>番号で値を選ぶ</td><td>2つ以上</td><td>選ばれた値</td><td>SIGN+2と組み合わせて3パターン分岐</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-isnumber-function/">ISNUMBER</a></td><td>数値かを判定</td><td>1つ</td><td>TRUE/FALSE</td><td>符号ではなく型をチェック</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc26">SIGN関数とIF関数の使い分け</span></h3>



<p class="wp-block-paragraph">SIGN関数の結果は、IF関数で書くと次のようになります。</p>



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



<p class="wp-block-paragraph">この式は <code>=SIGN(A1)</code> と完全に同じ結果です。</p>



<p class="wp-block-paragraph">ラベル（「黒字」「赤字」等）を表示したい場合は <strong>IF関数</strong> が読みやすいです。符号の数値（1, -1, 0）をそのまま計算に使いたい、または <strong>CHOOSE関数</strong> と組み合わせて3パターン分岐したい場合は <strong>SIGN関数</strong> がシンプルですよ。</p>



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



<p class="wp-block-paragraph">ABS関数は「大きさ」、SIGN関数は「方向」を取り出します。</p>



<pre class="wp-block-code"><code>=ABS(-5)   → 5（大きさ）
=SIGN(-5)  → -1（方向）</code></pre>



<p class="wp-block-paragraph">「大きさだけ知りたい」ならABS関数、「方向だけ知りたい」ならSIGN関数です。両方組み合わせれば元の値を復元できる、というのが2つの関数の関係です。</p>



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



<p class="wp-block-paragraph"><strong>Q1. SIGN関数とIF関数、どちらを使えばいい？</strong></p>



<p class="wp-block-paragraph">A. ラベル（「黒字」「赤字」など）を表示したい場合は<a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>が読みやすいです。符号の数値（1, -1, 0）を計算に使いたい、または<a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE関数</a>で3パターン分岐したい場合はSIGN関数が向いています。</p>



<p class="wp-block-paragraph"><strong>Q2. SIGN関数で空白セルを渡すと何が返る？</strong></p>



<p class="wp-block-paragraph">A. 「0」が返ります。空白セルは数値の0として扱われるためです。未入力と0を区別したい場合は <code>=IF(A1="", "未入力", SIGN(A1))</code> のように事前確認を入れます。</p>



<p class="wp-block-paragraph"><strong>Q3. ABS関数とSIGN関数をかけると元の値に戻る？</strong></p>



<p class="wp-block-paragraph">A. はい、<code>=ABS(A1) * SIGN(A1)</code> は元の値と同じになります。<code>ABS(x) × SIGN(x) = x</code> という関係が常に成り立ちます。この性質を利用して「大きさだけ加工して符号はそのまま」という処理が書けます。</p>



<p class="wp-block-paragraph"><strong>Q4. SIGN関数の結果を矢印（▲▼）に変換するベストな書き方は？</strong></p>



<p class="wp-block-paragraph">A. <code>=CHOOSE(SIGN(A1)+2, "▼", "−", "▲")</code> が一番スッキリ書けます。SIGN関数の結果(-1, 0, 1)に2を足すと(1, 2, 3)になるので、<a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE関数</a>の引数番号にちょうど対応します。</p>



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



<p class="wp-block-paragraph">A. <a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA</a>を使います。<code>=ARRAYFORMULA(SIGN(B2:B100))</code> と書けば、フィルダウン不要で範囲全体を一括判定できます。</p>



<p class="wp-block-paragraph"><strong>Q6. 文字列が混じった列でもSIGN関数を使いたい</strong></p>



<p class="wp-block-paragraph">A. <a href="https://mashukabu.com/spreadsheet-isnumber-function/">ISNUMBER関数</a>で事前チェックします。<code>=IF(ISNUMBER(A1), SIGN(A1), "")</code> のように書けば、文字列のセルではエラーを返さず空白を表示できます。</p>



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



<p class="wp-block-paragraph">SIGN関数はExcelとGoogleスプレッドシートで<strong>完全に同じ動作</strong>です。引数名の表記が若干違うだけで、機能差はありません。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>Excel</th><th>Googleスプレッドシート</th></tr></thead><tbody><tr><td>構文</td><td><code>=SIGN(数値)</code></td><td><code>=SIGN(値)</code></td></tr><tr><td>動作</td><td>符号を判定する</td><td>符号を判定する</td></tr><tr><td>正の数</td><td>1</td><td>1</td></tr><tr><td>負の数</td><td>-1</td><td>-1</td></tr><tr><td>ゼロ</td><td>0</td><td>0</td></tr><tr><td>空白セル</td><td>0</td><td>0</td></tr><tr><td>文字列</td><td>#VALUE!</td><td>#VALUE!</td></tr><tr><td>ARRAYFORMULA対応</td><td>不要（スピル対応）</td><td>必要（ARRAYFORMULA）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ファイルを共有しても判定結果がずれることはありません。ARRAYFORMULAの扱いだけ違うので、Excelから移行した場合は「列全体への適用は ARRAYFORMULA で囲む」というポイントを押さえておくと安心です。</p>



<p class="wp-block-paragraph">Excel版の詳しい解説は <a href="https://mashukabu.com/excel-function-howto-use-sign/">ExcelのSIGN関数の使い方</a> をご覧ください。</p>



<h2 class="wp-block-heading"><span id="toc30">まとめ：SIGN関数で符号判定をスッキリ書こう</span></h2>



<p class="wp-block-paragraph">SIGN関数は、数値の符号（正・負・ゼロ）を判定する1引数のシンプルな関数です。ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=SIGN(値)</code>。正なら<strong>1</strong>、負なら<strong>-1</strong>、ゼロなら<strong>0</strong>を返す</li><li>ラベル表示は<a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>、3パターン分岐は <strong>SIGN+<a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE</a></strong> がスッキリ</li><li>前月比の矢印表示は <code>=CHOOSE(SIGN(C2-B2)+2, "▼", "−", "▲")</code> が定番</li><li>符号別の集計は <strong>SIGN+<a href="https://mashukabu.com/spreadsheet-sumproduct-function/">SUMPRODUCT</a></strong> で柔軟に書ける</li><li><a href="https://mashukabu.com/spreadsheet-abs-function/">ABS関数</a>とは「方向と大きさ」のペア。<code>ABS(x) × SIGN(x) = x</code> で元の値を復元できる</li><li>「符号を保持したまま丸める／上限を設ける」処理は <strong>SIGN×ABS</strong> の組み合わせが定石</li><li>列全体への適用は<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA</a>で1行化できる</li></ul>



<p class="wp-block-paragraph">まずは <code>=SIGN(A2)</code> でセルの符号を判定するところから試して、慣れてきたらCHOOSE関数やABS関数との組み合わせに挑戦してみてください。IF関数のネストを書く前に「SIGNで書けないか？」と発想を切り替えるだけで、数式の見通しがグッと良くなりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-sign-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<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-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">スプレッドシートの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>スプレッドシートのCHOOSE関数の使い方｜インデックスで値選択</title>
		<link>https://mashukabu.com/spreadsheet-choose-function/</link>
					<comments>https://mashukabu.com/spreadsheet-choose-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 15:13:34 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[CHOOSE関数]]></category>
		<category><![CDATA[IF関数]]></category>
		<category><![CDATA[SWITCH関数]]></category>
		<category><![CDATA[WEEKDAY関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[条件分岐]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4668</guid>

					<description><![CDATA[スプレッドシートのCHOOSE関数の使い方を基本から解説。構文・引数の意味、WEEKDAY関数と組み合わせた曜日変換、IF・SWITCH関数との使い分け、よくあるエラーの対処法まで実務サンプルつきで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「評価ランクの1〜5に応じてラベルを出し分けたい」。こんなとき、IF関数のネストを何段も重ねていませんか。</p>



<p class="wp-block-paragraph">条件が増えるたびに数式が長くなって、修正するのも一苦労ですよね。</p>



<p class="wp-block-paragraph">そんな場面で活躍するのがCHOOSE関数です。番号を指定するだけで対応する値を返してくれます。</p>



<p class="wp-block-paragraph">この記事では、CHOOSE関数の基本から実務で使える応用パターンまで解説します。</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">スプレッドシートのCHOOSE関数とは？</a></li><li><a href="#toc2" tabindex="0">CHOOSE関数の書き方（構文と引数）</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">CHOOSE関数の基本的な使い方</a></li><li><a href="#toc6" tabindex="0">CHOOSE関数の実践的な使い方・応用例</a><ol><li><a href="#toc7" tabindex="0">WEEKDAY関数と組み合わせて曜日を表示する</a></li><li><a href="#toc8" tabindex="0">MONTH関数と組み合わせて四半期を判定する</a></li><li><a href="#toc9" tabindex="0">セル参照や数式を値に指定する</a></li></ol></li><li><a href="#toc10" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc11" tabindex="0">IF・SWITCH関数との違い・使い分け</a><ol><li><a href="#toc12" tabindex="0">使い分けの判断基準</a></li></ol></li><li><a href="#toc13" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのCHOOSE関数とは？</span></h2>



<p class="wp-block-paragraph">CHOOSE関数（読み方: チューズ関数）は、インデックス番号に対応する値を返す関数です。</p>



<p class="wp-block-paragraph">英語の「Choose（選ぶ）」が名前の由来です。</p>



<p class="wp-block-paragraph">「番号札で値を引き当てる」イメージで覚えてみてください。</p>



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



<ul class="wp-block-list"><li>インデックス番号（1, 2, 3&#8230;）に対応する値を返す</li><li>値には文字列・数値・セル参照・数式を指定できる</li><li>WEEKDAY関数（曜日番号を返す関数）と組み合わせて曜日名を表示する</li><li>MONTH関数（月番号を返す関数）と組み合わせて四半期ラベルを判定する</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>CHOOSE関数はインデックスが1から始まる連番のときに力を発揮します。条件が「〇〇以上」「〇〇を含む」のような判定の場合は、IF関数やSWITCH関数のほうが向いています。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc3">基本構文</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">引数は最低3つ必要です。値は最大30個まで指定できます。</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><th>指定例</th></tr></thead><tbody><tr><td>インデックス</td><td>必須</td><td>何番目の値を返すかを指定する番号（1〜30）</td><td>2</td></tr><tr><td>値1</td><td>必須</td><td>インデックスが1のときに返す値</td><td>&#8220;りんご&#8221;</td></tr><tr><td>値2, 値3&#8230;</td><td>省略可</td><td>インデックスが2, 3&#8230;のときに返す値</td><td>&#8220;みかん&#8221;, &#8220;ぶどう&#8221;</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">インデックスに小数を指定した場合、小数部分は切り捨てられます。たとえば <code>2.9</code> なら <code>2</code> として扱われます。</p>



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



<p class="wp-block-paragraph">ここではシンプルな例でCHOOSE関数の動きを確認してみましょう。</p>



<p class="wp-block-paragraph">セルA2に評価ランク（1〜3の数値）が入っているとします。このランクに応じてラベルを表示する数式はこちらです。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



<pre class="wp-block-code"><code>=CHOOSE(A2, &quot;優&quot;, &quot;良&quot;, &quot;可&quot;)</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/02_formula_choose-basic.png" alt="02 formula choose basic" /></figure>



<p class="wp-block-paragraph">A2が <code>1</code> なら「優」、<code>2</code> なら「良」、<code>3</code> なら「可」が返ります。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_choose-basic.png" alt="03 result choose basic" /></figure>



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



<pre class="wp-block-code"><code>=IF(A2=1, &quot;優&quot;, IF(A2=2, &quot;良&quot;, &quot;可&quot;))</code></pre>



<p class="wp-block-paragraph">CHOOSE関数のほうが、どの番号にどの値が対応しているか一目でわかりますよね。</p>



<p class="wp-block-paragraph">もうひとつ例を見てみましょう。部署コード（1〜5）から部署名を返すケースです。</p>



<pre class="wp-block-code"><code>=CHOOSE(B2, &quot;営業部&quot;, &quot;経理部&quot;, &quot;総務部&quot;, &quot;人事部&quot;, &quot;開発部&quot;)</code></pre>



<p class="wp-block-paragraph">選択肢が多いほど、CHOOSE関数の読みやすさが際立ちます。IF関数だと4段ネストが必要ですが、1行で書けますよ。</p>



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



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



<p class="wp-block-paragraph">WEEKDAY関数は日付から曜日番号（1〜7）を返す関数です。この番号をCHOOSE関数に渡せば、曜日名を表示できます。</p>



<p class="wp-block-paragraph">セルA2に日付が入っているとき、次の数式で曜日を取得できます。</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>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-choose-function/04_result_choose-weekday.png/">_images/spreadsheet-choose-function/04_result_choose-weekday.png</a></p>



<p class="wp-block-paragraph">WEEKDAY関数はデフォルトで日曜=1〜土曜=7を返します。値1〜値7に曜日名を並べるだけなので、直感的に書けますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>TEXT関数で <code>=TEXT(A2, "ddd")</code> と書いても曜日を取得できます。ただし「月」「火」のような1文字表記にしたい場合は、CHOOSE+WEEKDAYのほうが柔軟に対応できます。</p></blockquote>



<p class="wp-block-paragraph">スプレッドシートのWEEKDAY関数について詳しく知りたい方は、「<a href="https://mashukabu.com/spreadsheet-weekday-function/">スプレッドシートのWEEKDAY関数の使い方</a>」もあわせてご覧ください。</p>



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



<p class="wp-block-paragraph">MONTH関数は日付から月番号（1〜12）を返す関数です。CHOOSE関数と組み合わせれば、四半期ラベルを振れます。</p>



<pre class="wp-block-code"><code>=CHOOSE(MONTH(A2), &quot;Q3&quot;,&quot;Q3&quot;,&quot;Q3&quot;, &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;)</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/05_result_choose-month.png" alt="05 result choose month" /></figure>



<p class="wp-block-paragraph">日本の会計年度（4月始まり）に合わせた対応表はこちらです。</p>



<figure class="wp-block-table"><table><thead><tr><th>月</th><th>1〜3月</th><th>4〜6月</th><th>7〜9月</th><th>10〜12月</th></tr></thead><tbody><tr><td>四半期</td><td>Q3</td><td>Q4</td><td>Q1</td><td>Q2</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">IF関数で同じ処理を書くと条件式が複雑になります。CHOOSE関数なら月番号と値を1対1で並べるだけです。</p>



<p class="wp-block-paragraph">値の順番を変えれば、1月始まりにも対応できますよ。</p>



<h3 class="wp-block-heading"><span id="toc9">セル参照や数式を値に指定する</span></h3>



<p class="wp-block-paragraph">CHOOSE関数の値には、文字列や数値だけでなくセル参照や数式も指定できます。</p>



<p class="wp-block-paragraph">たとえば、集計モード（1=合計、2=平均、3=最大値）に応じて計算方法を切り替えるケースです。</p>



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



<p class="wp-block-paragraph">D2が <code>1</code> ならSUM、<code>2</code> ならAVERAGE、<code>3</code> ならMAXの結果です。切り替えが簡単にできて便利ですよ。</p>



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



<p class="wp-block-paragraph">CHOOSE関数で発生しやすいエラーをまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#VALUE!</code></td><td>インデックスに文字列や空白を指定した</td><td>インデックスが数値になっているか確認する</td></tr><tr><td><code>#VALUE!</code></td><td>インデックスが0以下、または値の個数を超えている</td><td>値の個数（1〜30）の範囲内か確認する</td></tr><tr><td><code>#REF!</code></td><td>値に指定したセル参照が無効になった</td><td>参照先のセルが削除されていないか確認する</td></tr><tr><td>意図しない結果</td><td>インデックスに小数が入っている</td><td>INT関数で整数に変換してから渡す</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">インデックスが範囲外のときにエラーを回避したい場合は、IFERROR関数で囲むのがおすすめです。</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">A2が1〜3以外の値でも「対象外」と表示されるので、エラー表示を防げます。</p>



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



<p class="wp-block-paragraph">CHOOSE関数と似た働きをするIF関数・SWITCH関数との違いを比較表で整理しました。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>CHOOSE関数</th><th>IF関数</th><th>SWITCH関数</th></tr></thead><tbody><tr><td>判定方法</td><td>インデックス番号（1, 2, 3&#8230;）</td><td>条件式（TRUE/FALSE）</td><td>値の一致判定</td></tr><tr><td>得意な場面</td><td>連番に対応する値を返す</td><td>「〇〇以上」「〇〇かつ〇〇」の判定</td><td>不連続な値（&#8221;A&#8221;, &#8220;B&#8221;, &#8220;C&#8221;）の振り分け</td></tr><tr><td>数式の読みやすさ</td><td>値を並べるだけでシンプル</td><td>ネストが深いと読みにくい</td><td>条件と結果がペアで読みやすい</td></tr><tr><td>最大分岐数</td><td>30パターン</td><td>ネスト制限あり</td><td>最大126ペア</td></tr><tr><td>条件の柔軟性</td><td>低い（1始まりの連番のみ）</td><td>高い（自由な条件式）</td><td>中程度（値の一致のみ）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc12">使い分けの判断基準</span></h3>



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



<ul class="wp-block-list"><li><strong>CHOOSE関数</strong>: WEEKDAY・MONTHなど「1から始まる連番」を返す関数と組み合わせるとき</li><li><strong>IF関数</strong>: 「売上が10万円以上なら」のように、数値の大小や複合条件で分岐するとき</li><li><strong>SWITCH関数</strong>: 「商品コードがA001なら〜、B002なら〜」のように、不連続な値で分岐するとき</li></ul>



<p class="wp-block-paragraph">IF関数やSWITCH関数の詳しい使い方は、以下の記事で解説しています。</p>



<ul class="wp-block-list"><li>INDEX関数で行列を指定して値を取得する方法は「<a href="https://mashukabu.com/spreadsheet-index-function/">スプレッドシートのINDEX関数の使い方</a>」をご覧ください</li><li>VLOOKUPで検索キーから値を引く方法は「<a href="https://mashukabu.com/spreadsheet-vlookup-function/">スプレッドシートのVLOOKUP関数の使い方</a>」をご覧ください</li></ul>



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



<p class="wp-block-paragraph">この記事では、スプレッドシートのCHOOSE関数の使い方を解説しました。</p>



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



<ul class="wp-block-list"><li>CHOOSE関数は、インデックス番号に対応する値を返す関数</li><li>WEEKDAY関数やMONTH関数と組み合わせると、曜日名や四半期ラベルを簡単に表示できる</li><li>値にはセル参照や数式も指定できるので、集計方法の切り替えにも使える</li><li>インデックスが範囲外のときはIFERROR関数でエラーを回避する</li><li>連番以外の条件分岐にはIF関数やSWITCH関数を使い分ける</li></ul>



<p class="wp-block-paragraph">IF関数のネストが深くなってきたら、CHOOSE関数を試してみてください。数式がすっきり読みやすくなりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-choose-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのWEEKDAY関数｜type引数と曜日変換・土日色分け</title>
		<link>https://mashukabu.com/spreadsheet-weekday-function/</link>
					<comments>https://mashukabu.com/spreadsheet-weekday-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 15:12:49 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[CHOOSE関数]]></category>
		<category><![CDATA[TEXT関数]]></category>
		<category><![CDATA[type引数]]></category>
		<category><![CDATA[WEEKDAY関数]]></category>
		<category><![CDATA[土日色分け]]></category>
		<category><![CDATA[曜日番号]]></category>
		<category><![CDATA[条件付き書式]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4648</guid>

					<description><![CDATA[スプレッドシートのWEEKDAY関数の使い方をわかりやすく解説。type引数の選び方、CHOOSE/IFで曜日名に変換する方法、条件付き書式で土日を自動色分けする手順まで一記事で完結。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「この日付って何曜日だっけ？」とカレンダーをいちいち確認していませんか？</p>



<p class="wp-block-paragraph">シフト表や勤怠管理のスプレッドシートで曜日を手入力していると、入力ミスや更新忘れが起きがちですよね。</p>



<p class="wp-block-paragraph">Googleスプレッドシートの<strong>WEEKDAY関数</strong>を使えば、日付から曜日番号を自動で取得できます。条件分岐や色分けにも活用できますよ。</p>



<p class="wp-block-paragraph">この記事では、WEEKDAY関数の基本から、曜日の日本語変換・条件付き書式での土日色分けまで解説します。</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">スプレッドシートのWEEKDAY関数とは？</a></li><li><a href="#toc2" tabindex="0">WEEKDAY関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li><li><a href="#toc5" tabindex="0">type引数一覧と日本の業務での選び方</a></li></ol></li><li><a href="#toc6" tabindex="0">基本的な使い方</a></li><li><a href="#toc7" tabindex="0">曜日番号を日本語に変換する方法</a><ol><li><a href="#toc8" tabindex="0">CHOOSE関数で「月火水…」に変換する</a></li><li><a href="#toc9" tabindex="0">TEXT関数で曜日表示する方法との比較</a></li><li><a href="#toc10" tabindex="0">IF関数で「平日/休日」の2値判定</a></li></ol></li><li><a href="#toc11" tabindex="0">条件付き書式で土日を自動色分けする手順</a><ol><li><a href="#toc12" tabindex="0">土曜・日曜それぞれのルール設定</a></li><li><a href="#toc13" tabindex="0">カスタム数式の書き方（$A2の絶対参照のポイント）</a></li></ol></li><li><a href="#toc14" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc15" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのWEEKDAY関数とは？</span></h2>



<p class="wp-block-paragraph">WEEKDAY関数は、<strong>日付から曜日を数値（番号）で返す関数</strong>です。読み方は「ウィークデイ関数」。week（週）とday（日）を組み合わせた英語がそのまま名前になっています。</p>



<p class="wp-block-paragraph">「weekday＝平日」というイメージがあるかもしれません。ただし、関数としては土日を含む全曜日が対象です。月曜から日曜まで、すべての曜日に番号を割り当ててくれます。</p>



<p class="wp-block-paragraph">返ってくるのは「月」「火」といった文字ではなく、1〜7の数値です。数値なので、IF関数での条件分岐や条件付き書式での判定にそのまま使えるのがポイントです。</p>



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



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



<pre class="wp-block-code"><code>=WEEKDAY(日付, [種類])</code></pre>



<p class="wp-block-paragraph">カッコの中に日付を指定するだけで使えます。第2引数の「種類」は省略可能です。</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>日付</td><td>必須</td><td>曜日を調べたい日付。セル参照や<a href="https://mashukabu.com/spreadsheet-date-function/">DATE関数</a>で指定</td></tr><tr><td>種類（type）</td><td>任意</td><td>曜日番号の割り当て方式。省略すると1（日曜始まり）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">type引数一覧と日本の業務での選び方</span></h3>



<p class="wp-block-paragraph">type引数には1〜3と11〜17の計10パターンがあります。主要なものを表で整理しました。</p>



<figure class="wp-block-table"><table><thead><tr><th>type値</th><th>週の始まり</th><th>番号の範囲</th><th>特徴</th></tr></thead><tbody><tr><td>1（デフォルト）</td><td>日曜</td><td>日曜=1〜土曜=7</td><td>アメリカ式。省略時はこれ</td></tr><tr><td><strong>2（推奨）</strong></td><td><strong>月曜</strong></td><td><strong>月曜=1〜日曜=7</strong></td><td><strong>日本の業務に最適</strong></td></tr><tr><td>3</td><td>月曜</td><td>月曜=0〜日曜=6</td><td>0始まり。配列操作向き</td></tr><tr><td>11〜17</td><td>各曜日</td><td>1〜7</td><td>ISO 8601対応。起点の曜日を自由に選べる</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>日本の業務ではtype=2がおすすめです。</strong> 月曜=1、火曜=2…と「週の始まりが月曜」になるので直感的ですよね。</p>



<p class="wp-block-paragraph">デフォルト（type=1）は日曜始まりです。日本のビジネスでは月曜始まりのほうが扱いやすいので、type=2を明示的に指定しましょう。</p>



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



<p class="wp-block-paragraph">実際にWEEKDAY関数を使ってみましょう。A2セルに <code>2026-03-19</code>（木曜日）が入っている場合の例です。</p>



<pre class="wp-block-code"><code>=WEEKDAY(A2, 2)</code></pre>



<p class="wp-block-paragraph">この数式は <strong>4</strong> を返します。type=2では月曜=1なので、木曜日は4番目です。</p>



<p class="wp-block-paragraph">type=1（デフォルト）の場合はどうなるか、比較してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>理由</th></tr></thead><tbody><tr><td><code>=WEEKDAY(A2, 2)</code></td><td>4</td><td>月曜=1始まりで木曜は4番目</td></tr><tr><td><code>=WEEKDAY(A2, 1)</code></td><td>5</td><td>日曜=1始まりで木曜は5番目</td></tr><tr><td><code>=WEEKDAY(A2, 3)</code></td><td>3</td><td>月曜=0始まりで木曜は3</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">同じ日付でもtype引数で結果が変わります。チームでファイルを共有するなら、typeを統一しておくのが大切です。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-today-function/">TODAY関数</a>と組み合わせれば、今日の曜日番号も取得できます。</p>



<pre class="wp-block-code"><code>=WEEKDAY(TODAY(), 2)</code></pre>



<h2 class="wp-block-heading"><span id="toc7">曜日番号を日本語に変換する方法</span></h2>



<p class="wp-block-paragraph">WEEKDAY関数が返すのは数値です。「月」「火」といった日本語で表示したい場面も多いですよね。3つの方法を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc8">CHOOSE関数で「月火水…」に変換する</span></h3>



<p class="wp-block-paragraph">CHOOSE関数（指定した番号に対応する値を返す関数）を使う方法が最も柔軟です。</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">WEEKDAY関数が返す番号をCHOOSEの第1引数に渡しています。番号が1なら「月」、2なら「火」…という仕組みです。</p>



<p class="wp-block-paragraph">A2が <code>2026-03-19</code>（木曜日）なら、WEEKDAY関数が4を返すので、結果は <strong>「木」</strong> になります。</p>



<p class="wp-block-paragraph">この方法のメリットは、表記を自由にカスタマイズできる点です。「月曜」「火曜」のように変えたり、「Mon」「Tue」のように英語にしたりもできます。</p>



<h3 class="wp-block-heading"><span id="toc9">TEXT関数で曜日表示する方法との比較</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-text-function/">TEXT関数</a>を使う方法もあります。</p>



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



<p class="wp-block-paragraph">この数式は「木」を返します。<code>"dddd"</code> にすると「木曜日」になります。</p>



<p class="wp-block-paragraph">TEXT関数のほうがシンプルですよね。ただし、大事な違いがあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>WEEKDAY + CHOOSE</th><th>TEXT関数</th></tr></thead><tbody><tr><td>戻り値の型</td><td>文字列</td><td>文字列</td></tr><tr><td>計算に使えるか</td><td>WEEKDAYの数値を分岐に使える</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"><strong>表示だけならTEXT関数、計算や条件分岐にも使うならWEEKDAY関数</strong>と覚えておくのがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc10">IF関数で「平日/休日」の2値判定</span></h3>



<p class="wp-block-paragraph">シフト表や勤怠管理では「平日か休日か」だけ知りたい場面もありますよね。WEEKDAY関数とIF関数を組み合わせましょう。</p>



<pre class="wp-block-code"><code>=IF(WEEKDAY(A2,2)&lt;=5,&quot;平日&quot;,&quot;休日&quot;)</code></pre>



<p class="wp-block-paragraph">type=2では月曜=1〜金曜=5、土曜=6、日曜=7です。5以下なら平日、6以上なら休日と判定できます。</p>



<p class="wp-block-paragraph">祝日は含まれないので注意してください。祝日も考慮したい場合は、祝日リストを別シートに用意してCOUNTIF関数で突き合わせる方法があります。営業日の計算なら<a href="https://mashukabu.com/spreadsheet-workday-function/">WORKDAY関数</a>や<a href="https://mashukabu.com/spreadsheet-networkdays-function/">NETWORKDAYS関数</a>も便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc11">条件付き書式で土日を自動色分けする手順</span></h2>



<p class="wp-block-paragraph">スケジュール表やカレンダーで、土曜を青・日曜を赤に色分けできると見やすくなりますよね。WEEKDAY関数と条件付き書式を組み合わせる方法を解説します。</p>



<h3 class="wp-block-heading"><span id="toc12">土曜・日曜それぞれのルール設定</span></h3>



<p class="wp-block-paragraph">設定手順は次のとおりです。土曜の色分けを例に説明します。</p>



<p class="wp-block-paragraph"><strong>ステップ1</strong>: 色分けしたい範囲を選択する（例: A2:G100）</p>



<p class="wp-block-paragraph"><strong>ステップ2</strong>: メニューから「表示形式」→「条件付き書式」を選ぶ</p>



<p class="wp-block-paragraph"><strong>ステップ3</strong>: 「書式ルール」で「カスタム数式」を選ぶ</p>



<p class="wp-block-paragraph"><strong>ステップ4</strong>: 数式欄に土曜判定の数式を入力する</p>



<pre class="wp-block-code"><code>=WEEKDAY($A2,1)=7</code></pre>



<p class="wp-block-paragraph"><strong>ステップ5</strong>: 書式スタイルで背景色を青系に設定して「完了」を押す</p>



<p class="wp-block-paragraph">日曜も同様にルールを追加します。数式はこちらです。</p>



<pre class="wp-block-code"><code>=WEEKDAY($A2,1)=1</code></pre>



<p class="wp-block-paragraph">日曜の背景色は赤系に設定してください。これで土曜は青、日曜は赤に自動で色が付きます。</p>



<h3 class="wp-block-heading"><span id="toc13">カスタム数式の書き方（$A2の絶対参照のポイント）</span></h3>



<p class="wp-block-paragraph">数式の <code>$A2</code> がポイントです。ここを間違えるとうまく色が付きません。</p>



<ul class="wp-block-list"><li><strong><code>$A</code>（列を固定）</strong>: どの列のセルでも、A列の日付を基準に判定する</li><li><strong><code>2</code>（行は相対）</strong>: 行ごとに参照先がずれて、各行の日付を判定する</li></ul>



<p class="wp-block-paragraph">つまり <code>$A2</code> は「列はA列に固定、行は各行に合わせる」という意味です。この書き方によって、B列やC列のセルにもA列の曜日に応じた色が付きます。行全体を色分けできるわけですね。</p>



<p class="wp-block-paragraph">もし <code>A2</code>（$なし）にすると、列もずれてしまい正しく判定できません。また <code>$A$2</code>（行も固定）にすると、すべての行が同じ日付で判定されてしまいます。</p>



<p class="wp-block-paragraph">ここではtype=1（日曜=1、土曜=7）を使っています。type=2の場合は土曜=6、日曜=7になるので、数式の数値も変えてくださいね。</p>



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



<p class="wp-block-paragraph">WEEKDAY関数を使っていて困りやすいポイントを3つ紹介します。</p>



<p class="wp-block-paragraph"><strong><code>#VALUE!</code> エラー</strong></p>



<p class="wp-block-paragraph">日付引数に不正な値が入っています。文字列の「3月19日」や空白セルを渡すとこのエラーが出ます。</p>



<p class="wp-block-paragraph">対処法は、日付セルがきちんと日付として認識されているか確認することです。セルを選択して表示形式が「日付」になっているかチェックしてください。文字列として入力された日付は、DATEVALUE関数（文字列を日付値に変換する関数）で変換できます。</p>



<p class="wp-block-paragraph"><strong><code>#NUM!</code> エラー</strong></p>



<p class="wp-block-paragraph">type引数に無効な値を指定しています。指定できるのは1、2、3、11〜17のみです。</p>



<p class="wp-block-paragraph">たとえばtype=4やtype=10はエラーになります。type引数の一覧表を見直してみてください。</p>



<p class="wp-block-paragraph"><strong>曜日番号がずれる</strong></p>



<p class="wp-block-paragraph">「月曜なのに1じゃなくて2が返ってくる」というケースです。これはtype引数の違いが原因です。</p>



<p class="wp-block-paragraph">type=1（デフォルト）では日曜=1始まりなので、月曜は2になります。月曜=1にしたい場合はtype=2を指定してください。チーム内でtypeを統一していないと、集計結果がずれる原因にもなります。</p>



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



<p class="wp-block-paragraph">WEEKDAY関数は、日付から曜日番号を取得するシンプルな関数です。</p>



<p class="wp-block-paragraph">この記事で紹介した使い方をおさらいします。</p>



<ul class="wp-block-list"><li><strong>基本</strong>: <code>=WEEKDAY(A2, 2)</code> で曜日番号を取得（type=2が日本の業務向き）</li><li><strong>日本語変換</strong>: <code>=CHOOSE(WEEKDAY(A2,2),"月","火","水","木","金","土","日")</code></li><li><strong>表示だけならTEXT関数</strong>: <code>=TEXT(A2,"ddd")</code> で「月」「火」と表示</li><li><strong>平日/休日判定</strong>: <code>=IF(WEEKDAY(A2,2)<=5,"平日","休日")</code></li><li><strong>条件付き書式</strong>: <code>=WEEKDAY($A2,1)=7</code> で土曜の行を青く色分け</li></ul>



<p class="wp-block-paragraph">type引数は省略するとデフォルト（日曜始まり）になります。日本のビジネスではtype=2を明示的に指定するのを忘れないでください。</p>



<p class="wp-block-paragraph">まずはスケジュール表の日付列にWEEKDAY関数を入れて、曜日番号を出すところから試してみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-weekday-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のWEEKDAY関数の使い方｜曜日番号の取得と土日色分けを解説</title>
		<link>https://mashukabu.com/excel-function-howto-use-weekday/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-weekday/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 29 Sep 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[CHOOSE関数]]></category>
		<category><![CDATA[SWITCH関数]]></category>
		<category><![CDATA[TEXT関数]]></category>
		<category><![CDATA[WEEKDAY関数]]></category>
		<category><![CDATA[日付関数]]></category>
		<category><![CDATA[曜日取得]]></category>
		<category><![CDATA[条件付き書式]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2335</guid>

					<description><![CDATA[ExcelのWEEKDAY関数で日付から曜日番号を取得する方法を解説。種類引数の使い分け（日曜始まり/月曜始まり）、TEXT・CHOOSE・SWITCH関数との組み合わせ、条件付き書式での土日色分け、SUMPRODUCTでの平日集計まで実務テンプレ付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「日付から曜日を自動で出したい」「スケジュール表で土日だけ色を変えたい」――こんな場面、仕事でよくありますよね。</p>



<p class="wp-block-paragraph">日付を見ながら手作業で「月・火・水&#8230;」と入力するのは手間ですし、ミスのもとです。ExcelのWEEKDAY関数を使えば、日付から曜日の番号を一発で取り出せます。</p>



<p class="wp-block-paragraph">この記事では、WEEKDAY関数の基本構文と種類引数の使い分けを最初に整理します。あわせて、TEXT・CHOOSE・SWITCH関数との組み合わせ、土日色分け、平日合計のテンプレートまで実務で使える形で紹介します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>この記事は次のような人におすすめ</strong></p><p>&#8211; 日付から曜日を自動表示したい<br>&#8211; スケジュール表で土日を色分けしたい<br>&#8211; WEEKDAY関数の種類引数の違いをはっきり理解したい<br>&#8211; 平日だけの売上を一発で集計したい</p></blockquote>




  <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のWEEKDAY関数とは？（日付から曜日番号を返す関数）</a></li><li><a href="#toc2" tabindex="0">WEEKDAY関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li><li><a href="#toc5" tabindex="0">種類（第2引数）の一覧表</a></li></ol></li><li><a href="#toc6" tabindex="0">WEEKDAY関数の基本的な使い方</a><ol><li><a href="#toc7" tabindex="0">日曜始まり（種類1 / 省略時）で曜日番号を取得する</a></li><li><a href="#toc8" tabindex="0">月曜始まり（種類2）で曜日番号を取得する</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">WEEKDAY関数の実務活用パターン</a><ol><li><a href="#toc12" tabindex="0">パターン1: TEXT関数で曜日名を表示する</a></li><li><a href="#toc13" tabindex="0">パターン2: CHOOSE関数で曜日名を自由にカスタマイズする</a></li><li><a href="#toc14" tabindex="0">パターン3: SWITCH関数で曜日名を表示する（Excel 2019以降）</a></li><li><a href="#toc15" tabindex="0">パターン4: 条件付き書式で土日を色分けする</a></li><li><a href="#toc16" tabindex="0">パターン5: 平日だけ集計する（SUMPRODUCT連携）</a></li><li><a href="#toc17" tabindex="0">パターン6: IF関数で「土日休み」フラグを付ける</a></li><li><a href="#toc18" tabindex="0">パターン7: Microsoft 365の動的配列でまとめて変換する</a></li></ol></li><li><a href="#toc19" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc20" tabindex="0">よくある質問（FAQ）</a><ol><li><a href="#toc21" tabindex="0">Q1. WEEKDAY関数で「月曜日」のように文字で表示できる？</a></li><li><a href="#toc22" tabindex="0">Q2. 種類2と種類11はどちらを使うべき？</a></li><li><a href="#toc23" tabindex="0">Q3. 土日に行全体の色を付けたい</a></li><li><a href="#toc24" tabindex="0">Q4. 祝日も自動で色分けしたい</a></li><li><a href="#toc25" tabindex="0">Q5. WEEKDAY関数とWORKDAY関数の違いは？</a></li><li><a href="#toc26" tabindex="0">Q6. セルの表示形式で曜日を出すのとWEEKDAY関数は何が違う？</a></li></ol></li><li><a href="#toc27" tabindex="0">似た関数との違い・使い分け</a></li><li><a href="#toc28" tabindex="0">まとめ</a><ol><li><a href="#toc29" tabindex="0">この記事で紹介した関数</a></li><li><a href="#toc30" tabindex="0">Excel関数リファレンス</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのWEEKDAY関数とは？（日付から曜日番号を返す関数）</span></h2>



<p class="wp-block-paragraph">WEEKDAY関数（読み方：ウィークデイ）は、指定した日付が何曜日かを<strong>整数で返す</strong>関数です。関数名は英語の weekday（平日・曜日）に由来します。</p>



<p class="wp-block-paragraph">たとえば、2026年3月20日（金曜日）をWEEKDAY関数に渡すと <code>6</code> が返ります。これは「日曜=1」始まりの番号体系で、金曜が6番目だからです。</p>



<p class="wp-block-paragraph">返ってくるのは曜日の「番号」であって、「月曜日」のような文字列ではありません。曜日名を表示したい場合は、<a href="https://mashukabu.com/excel-function-howto-use-text/">TEXT関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-switch/">SWITCH関数</a>と組み合わせます。</p>



<p class="wp-block-paragraph">対応バージョンはExcel 2003以降すべてです。Microsoft 365、Excel for Mac、Excel for the Webでも使えますよ。</p>



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



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



<pre class="wp-block-code"><code>=WEEKDAY(シリアル値, [種類])</code></pre>



<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>シリアル値</td><td>必須</td><td>曜日を調べたい日付。セル参照や日付文字列を指定</td></tr><tr><td>種類</td><td>省略可</td><td>曜日番号の割り当て方を指定する数値（省略時は1）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>シリアル値</strong>には、日付が入ったセル（A2など）を指定するのが一般的です。<code>"2026/3/20"</code> のように日付文字列を直接書くこともできます。<a href="https://mashukabu.com/excel-function-howto-use-date/">DATE関数</a>で日付を組み立てて渡すことも可能です。</p>



<h3 class="wp-block-heading"><span id="toc5">種類（第2引数）の一覧表</span></h3>



<p class="wp-block-paragraph">種類引数によって「何曜日を1にするか」が変わります。実務でよく使うのは <strong>1（日曜始まり）</strong> と <strong>2（月曜始まり）</strong> の2つです。</p>



<figure class="wp-block-table"><table><thead><tr><th>種類</th><th>戻り値の範囲</th><th>週の始まり</th><th>補足</th></tr></thead><tbody><tr><td>1（省略時）</td><td>1（日）〜 7（土）</td><td>日曜始まり</td><td>米国式・既定値</td></tr><tr><td>2</td><td>1（月）〜 7（日）</td><td>月曜始まり</td><td>日本のビジネス向き</td></tr><tr><td>3</td><td>0（月）〜 6（日）</td><td>月曜始まり（0始まり）</td><td>プログラミング寄り</td></tr><tr><td>11</td><td>1（月）〜 7（日）</td><td>月曜始まり</td><td>種類2と同じ結果</td></tr><tr><td>12</td><td>1（火）〜 7（月）</td><td>火曜始まり</td><td>Excel 2010で追加</td></tr><tr><td>13</td><td>1（水）〜 7（火）</td><td>水曜始まり</td><td>Excel 2010で追加</td></tr><tr><td>14</td><td>1（木）〜 7（水）</td><td>木曜始まり</td><td>Excel 2010で追加</td></tr><tr><td>15</td><td>1（金）〜 7（木）</td><td>金曜始まり</td><td>Excel 2010で追加</td></tr><tr><td>16</td><td>1（土）〜 7（金）</td><td>土曜始まり</td><td>Excel 2010で追加</td></tr><tr><td>17</td><td>1（日）〜 7（土）</td><td>日曜始まり</td><td>種類1と同じ結果</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>種類2と種類11は同じ結果</strong></p><p>どちらも「月曜=1〜日曜=7」を返します。種類11はExcel 2010で追加された新しい書き方です。どちらを使っても問題ありません。</p></blockquote>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>実務での選び方</strong></p><p>日本のビジネスでは<strong>種類2（月曜始まり）</strong>が使いやすいです。カレンダーや勤怠表は月曜始まりが多いですよね。「土日判定」だけなら種類1（省略）でも十分です。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc7">日曜始まり（種類1 / 省略時）で曜日番号を取得する</span></h3>



<p class="wp-block-paragraph">セルA2に <code>2026/3/20</code>（金曜日）が入っているとします。</p>



<pre class="wp-block-code"><code>=WEEKDAY(A2)</code></pre>



<p class="wp-block-paragraph">結果は <code>6</code> です。日曜=1で数えると金曜は6番目になります。</p>



<h3 class="wp-block-heading"><span id="toc8">月曜始まり（種類2）で曜日番号を取得する</span></h3>



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



<pre class="wp-block-code"><code>=WEEKDAY(A2, 2)</code></pre>



<p class="wp-block-paragraph">結果は <code>5</code> です。月曜=1で数えると金曜は5番目になります。</p>



<h3 class="wp-block-heading"><span id="toc9">日付文字列を直接指定する</span></h3>



<p class="wp-block-paragraph">セル参照を使わず、日付を直接書くこともできます。</p>



<pre class="wp-block-code"><code>=WEEKDAY(&quot;2026/3/20&quot;)</code></pre>



<p class="wp-block-paragraph">結果は <code>6</code> です。ただし実務ではセル参照のほうが使い回しがきくので、セル参照をおすすめしますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">今日の曜日番号を取得する</span></h3>



<p class="wp-block-paragraph">TODAY関数やNOW関数と組み合わせれば、当日の曜日番号を取得できます。</p>



<pre class="wp-block-code"><code>=WEEKDAY(TODAY(), 2)</code></pre>



<p class="wp-block-paragraph">時刻付きの日付でも、WEEKDAY関数は時刻部分を無視するので、<code>NOW()</code>を渡しても正しく動作します。</p>



<h2 class="wp-block-heading"><span id="toc11">WEEKDAY関数の実務活用パターン</span></h2>



<h3 class="wp-block-heading"><span id="toc12">パターン1: TEXT関数で曜日名を表示する</span></h3>



<p class="wp-block-paragraph">WEEKDAY関数は番号を返すだけなので、「月曜日」のような文字列にはなりません。曜日名を表示したいときは<a href="https://mashukabu.com/excel-function-howto-use-text/">TEXT関数</a>を使うのが最もシンプルです。</p>



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



<p class="wp-block-paragraph"><code>"aaa"</code> を指定すると「金」のように短縮表記になります。<code>"aaaa"</code> なら「金曜日」とフル表記です。</p>



<figure class="wp-block-table"><table><thead><tr><th>書式コード</th><th>表示例</th><th>用途</th></tr></thead><tbody><tr><td><code>"aaa"</code></td><td>金</td><td>短縮表示（日本語専用）</td></tr><tr><td><code>"aaaa"</code></td><td>金曜日</td><td>フル表示（日本語専用）</td></tr><tr><td><code>"ddd"</code></td><td>Fri</td><td>短縮表示（英語）</td></tr><tr><td><code>"dddd"</code></td><td>Friday</td><td>フル表示（英語）</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>aaaとdddの違い</strong></p><p>日本語環境では <code>"aaa"</code> と <code>"ddd"</code> はどちらも「金」を返す場合があります。ただし <code>"aaa"</code> は日本語専用のコードです。英語表記が必要なら <code>"ddd"</code> を使ってください。表示言語はExcelのシステムロケールによって変わります。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc13">パターン2: CHOOSE関数で曜日名を自由にカスタマイズする</span></h3>



<p class="wp-block-paragraph">「月」「火」ではなく「Mon」「Tue」のように表示したい場合は、<a href="https://mashukabu.com/excel-function-howto-use-choose/">CHOOSE関数</a>が便利です。</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>



<p class="wp-block-paragraph">WEEKDAY関数が返す番号（1〜7）に対応する文字列をCHOOSE関数で選択します。好きな表記に変えられるのがメリットです。</p>



<p class="wp-block-paragraph">英語表記にしたい場合は次のようにします。</p>



<pre class="wp-block-code"><code>=CHOOSE(WEEKDAY(A2), &quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;)</code></pre>



<p class="wp-block-paragraph">第1引数のWEEKDAY関数が「種類1（日曜始まり）」なので、CHOOSE関数の選択肢も日曜から並べる点に注意してください。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン3: SWITCH関数で曜日名を表示する（Excel 2019以降）</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-switch/">SWITCH関数</a>を使えば、値と結果のペアを並べて書けます。</p>



<pre class="wp-block-code"><code>=SWITCH(WEEKDAY(A2,2), 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">CHOOSE関数との違いは、番号の順番に縛られない点です。種類2（月曜始まり）の番号にも対応しやすくなります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>SWITCH関数の対応バージョン</strong></p><p>SWITCH関数はExcel 2019以降またはMicrosoft 365で使用できます。お使いのバージョンが対応しているか、確認しておきましょう。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc15">パターン4: 条件付き書式で土日を色分けする</span></h3>



<p class="wp-block-paragraph">スケジュール表で土日の行だけ背景色を変えたい場合は、条件付き書式とWEEKDAY関数を組み合わせます。</p>



<p class="wp-block-paragraph"><strong>設定手順</strong>:</p>



<ol class="wp-block-list"><li>色を付けたいセル範囲を選択する</li><li>「ホーム」タブ →「条件付き書式」→「新しいルール」を選択</li><li>「数式を使用して、書式設定するセルを決定」を選択</li><li>以下の数式を入力する</li><li>「書式」ボタンから背景色を指定して完了</li></ol>



<p class="wp-block-paragraph"><strong>土曜日を青くする数式</strong>:</p>



<pre class="wp-block-code"><code>=WEEKDAY($A2)=7</code></pre>



<p class="wp-block-paragraph"><strong>日曜日を赤くする数式</strong>:</p>



<pre class="wp-block-code"><code>=WEEKDAY($A2)=1</code></pre>



<p class="wp-block-paragraph">ポイントは列を <code>$A</code> で固定し、行は固定しないことです。これで各行の日付に応じて色が変わりますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>土日をまとめて判定するテクニック</strong></p><p><code>=OR(WEEKDAY($A2)=1, WEEKDAY($A2)=7)</code> と書けば、1つのルールで土曜と日曜の両方に同じ書式を適用できます。</p></blockquote>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>絶対参照を忘れると色がずれる</strong></p><p><code>=WEEKDAY(A2)=1</code> のように <code>$</code> を付け忘れると、Excelが自動で参照をずらしてしまい、思った行に色が付きません。<strong>列だけ固定</strong> が鉄則です。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc16">パターン5: 平日だけ集計する（SUMPRODUCT連携）</span></h3>



<p class="wp-block-paragraph">売上データから平日分だけを合計したい場合は、<a href="https://mashukabu.com/excel-function-howto-use-sumproduct/">SUMPRODUCT関数</a>と組み合わせます。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((WEEKDAY(A2:A31,2)&lt;=5)*(B2:B31))</code></pre>



<p class="wp-block-paragraph"><code>WEEKDAY(日付, 2)<=5</code> で月曜〜金曜が <code>TRUE</code> になります。これを売上列と掛け合わせて、平日分だけ合計できます。</p>



<p class="wp-block-paragraph">土日だけの売上を合計したいときは、不等号を反転して <code>>=6</code> にします。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((WEEKDAY(A2:A31,2)&gt;=6)*(B2:B31))</code></pre>



<p class="wp-block-paragraph">祝日も除外したい場合は、<a href="https://mashukabu.com/excel-function-howto-use-networkdays/">NETWORKDAYS関数</a>のほうが簡単です。祝日リストを引数に渡せるので、手動で除外する手間が省けますよ。</p>



<h3 class="wp-block-heading"><span id="toc17">パターン6: IF関数で「土日休み」フラグを付ける</span></h3>



<p class="wp-block-paragraph">シフト表や勤怠表で「土日は休み」と自動表示したい場合は、IF関数とOR関数を組み合わせます。</p>



<pre class="wp-block-code"><code>=IF(OR(WEEKDAY(A2)=1, WEEKDAY(A2)=7), &quot;休&quot;, &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">A2の日付が土日なら「休」、平日なら空欄になります。<code>""</code>の部分を <code>"出勤"</code> に変えれば、平日に文字を表示することもできます。</p>



<h3 class="wp-block-heading"><span id="toc18">パターン7: Microsoft 365の動的配列でまとめて変換する</span></h3>



<p class="wp-block-paragraph">Microsoft 365 または Excel 2021以降では、WEEKDAY関数にセル範囲を渡すと、結果が配列でスピルします。</p>



<pre class="wp-block-code"><code>=WEEKDAY(A2:A31, 2)</code></pre>



<p class="wp-block-paragraph">A2からA31までの曜日番号が、1つの数式で一気に出力されます。1行ずつ数式をコピーする手間が省けて便利ですよ。</p>



<p class="wp-block-paragraph">Excel 2019以前では Ctrl+Shift+Enter で配列数式として確定する必要があります。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#VALUE!</code></td><td>シリアル値に日付以外の文字列を指定した</td><td>日付が正しい形式か確認する</td></tr><tr><td><code>#NUM!</code></td><td>種類引数に無効な値（4〜10、18以上など）を指定した</td><td>1, 2, 3, 11〜17 のいずれかを使う</td></tr><tr><td><code>#NUM!</code></td><td>シリアル値が負の数</td><td>1900/1/1以降の日付を指定する</td></tr><tr><td>期待と違う番号</td><td>種類引数の指定ミス</td><td>上記の種類一覧表で番号体系を確認する</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>文字列の日付に注意</strong></p><p>セルに「3月20日」と入力しても、表示形式が文字列になっていると日付として認識されません。<code>#VALUE!</code> エラーが出たら、セルの書式が「日付」になっているか確認してみてください。文字列の場合は<a href="https://mashukabu.com/excel-function-howto-use-datevalue/">DATEVALUE関数</a>でシリアル値に変換できます。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc21">Q1. WEEKDAY関数で「月曜日」のように文字で表示できる？</span></h3>



<p class="wp-block-paragraph">A. WEEKDAY関数自体は数字を返すだけです。「月曜日」のように文字で表示したい場合は、TEXT関数 <code>=TEXT(A2,"aaaa")</code> を使うのが最も簡単です。CHOOSE関数やSWITCH関数を組み合わせる方法もあります。</p>



<h3 class="wp-block-heading"><span id="toc22">Q2. 種類2と種類11はどちらを使うべき？</span></h3>



<p class="wp-block-paragraph">A. どちらを使っても結果は同じです。種類11はExcel 2010で追加された新しい記法で、種類2は古くから使われています。実務では昔から馴染みのある <strong>種類2</strong> を使うケースが多いですよ。</p>



<h3 class="wp-block-heading"><span id="toc23">Q3. 土日に行全体の色を付けたい</span></h3>



<p class="wp-block-paragraph">A. 条件付き書式で行全体（例: A2:E2）を選択し、数式を <code>=WEEKDAY($A2)=7</code> のように列だけ <code>$</code> で固定します。これで日付列を基準に行全体が色付けされます。</p>



<h3 class="wp-block-heading"><span id="toc24">Q4. 祝日も自動で色分けしたい</span></h3>



<p class="wp-block-paragraph">A. WEEKDAY関数だけでは祝日を判定できません。別シートに祝日リストを作成し、COUNTIF関数で「祝日リストに含まれるかどうか」を判定して条件付き書式に組み込みます。例: <code>=COUNTIF(祝日リスト!$A:$A, $A2)>0</code></p>



<h3 class="wp-block-heading"><span id="toc25">Q5. WEEKDAY関数とWORKDAY関数の違いは？</span></h3>



<p class="wp-block-paragraph">A. 名前は似ていますが機能はまったく別です。<strong>WEEKDAY</strong> は「日付 → 曜日番号」を返す関数、<strong>WORKDAY</strong> は「開始日 + 日数 → N日後の営業日」を返す関数です。曜日を知りたいときはWEEKDAY、納期や支払期日を計算したいときはWORKDAYと覚えておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc26">Q6. セルの表示形式で曜日を出すのとWEEKDAY関数は何が違う？</span></h3>



<p class="wp-block-paragraph">A. 表示形式（<code>aaa</code> などのユーザー定義書式）は「見た目だけ」を変えるため、IF関数や条件付き書式の判定には使えません。WEEKDAY関数やTEXT関数なら、結果を他の数式で参照できるのが大きな違いです。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>機能</th><th>使い分けのポイント</th></tr></thead><tbody><tr><td>WEEKDAY</td><td>日付 → 曜日番号</td><td>曜日の判定・条件分岐に使う</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-text/">TEXT</a></td><td>日付 → 曜日名（文字列）</td><td>「月曜日」と直接表示したいとき</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-workday/">WORKDAY</a></td><td>営業日後の日付を計算</td><td>納期計算・支払期日の算出に使う</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-networkdays/">NETWORKDAYS</a></td><td>2つの日付間の営業日数</td><td>稼働日数のカウントに使う</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-year/">YEAR</a> / <a href="https://mashukabu.com/excel-function-howto-use-month/">MONTH</a> / <a href="https://mashukabu.com/excel-function-howto-use-day/">DAY</a></td><td>日付 → 年/月/日</td><td>日付の各パーツを取り出すとき</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>WEEKDAY関数とWORKDAY関数の混同に注意</strong>してください。名前が似ていますが機能はまったく別です。WEEKDAYは「曜日の番号を返す」関数、WORKDAYは「営業日後の日付を返す」関数です。</p>



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



<p class="wp-block-paragraph">ExcelのWEEKDAY関数は日付から曜日番号を取り出す関数です。この記事で紹介したポイントをおさらいしましょう。</p>



<ul class="wp-block-list"><li><strong>基本構文</strong>: <code>=WEEKDAY(シリアル値, [種類])</code></li><li><strong>種類引数</strong>: 1（日曜始まり）と2（月曜始まり）をまず覚えればOK</li><li><strong>曜日名の表示</strong>: <a href="https://mashukabu.com/excel-function-howto-use-text/">TEXT関数</a> <code>=TEXT(A2,"aaa")</code> が最もシンプル</li><li><strong>自由な表記</strong>: <a href="https://mashukabu.com/excel-function-howto-use-choose/">CHOOSE関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-switch/">SWITCH関数</a>で好きな文字列に変換</li><li><strong>土日の色分け</strong>: 条件付き書式で <code>=WEEKDAY($A2)=1</code> のように設定（列だけ固定）</li><li><strong>平日の集計</strong>: <code>=SUMPRODUCT((WEEKDAY(A2:A31,2)<=5)*(B2:B31))</code> で一発</li></ul>



<p class="wp-block-paragraph">「番号を返すだけ」のシンプルな関数ですが、他の関数や条件付き書式と組み合わせると活用の幅が大きく広がります。ぜひ日常の業務で試してみてください。</p>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-text/">TEXT関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-switch/">SWITCH関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-choose/">CHOOSE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-date/">DATE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-workday/">WORKDAY関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-networkdays/">NETWORKDAYS関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-sumproduct/">SUMPRODUCT関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-datevalue/">DATEVALUE関数の使い方</a></li></ul>



<h3 class="wp-block-heading"><span id="toc30">Excel関数リファレンス</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-alphabetical-order/">Excel関数 アルファベット順</a></li><li><a href="https://mashukabu.com/excel-function-list-by-function/">Excel関数 機能別一覧</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-weekday/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-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">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>
	</channel>
</rss>
