1729455307
2024-10-20 20:00:00
Excel の SWITCH は、主にデータ操作に使用される論理関数です。値のリストに対して式を評価し、最初に一致した値に対応する結果を返します。
この人気の理由は、同様のタスクを実行する他の Excel 関数と比べて比較的シンプルであるためです。つまり、数式を読んで問題をデバッグするのが簡単です。
このガイドでは、実際の例を使用してこの関数の使用方法を説明し、他の関数と比べてその利点を評価し、その制限事項のいくつかについて説明します。
Microsoft は 2016 年に Excel に SWITCH 関数を追加したため、以前のバージョンでは使用できません。互換性のないバージョンで SWITCH を使用しようとすると、Excel は #NAME? を返します。エラー 。
SWITCH の構文
実際の SWITCH の動作例を示す前に、構文を見てみましょう。
=SWITCH(e,v1,r1,v2,r2,d)
どこ
- e は式 (評価される値)、
- v1 式に対して比較される最初の値です。
- r1 の場合に返される結果です v1 マッチ e、
- v2 式に対して比較される 2 番目の値です。
- r2 の場合に返される結果です v2 マッチ e、 そして
- d (オプション) がデフォルト値である場合、 e いずれにも一致しません v 価値観。
2つしかないのに v–r ここの構文で示されているペアリング (v1–r1 そして v2–r2)、全体で最大 126 個のペアリングを作成できます。 SWITCH が以下に対応する結果を返すとすると、 初め 値を一致させるには、順序を慎重に検討することが重要です。 v–r ペアリング。
オプションを含めない場合は、
d
、どの値もありません (
v#
) は式 (
e
)、Excel は #N/A エラーを返します。
スイッチの動作
実際のシナリオでの SWITCH 関数を紹介します。この表には生徒とその成績のリストがあり、それらの成績に基づいて生徒の次のステップを考える必要があります。
3 つの異なるグレード (A、B、C) の可能性があるため、これらすべてを SWITCH 式に組み込む必要があります。そこで、セル C2 に次のように入力します。
=SWITCH([@Grade],"A","Automatically advance to next level","B","Continue at this level","C","Move down to previous level","GRADE REQUIRED")
SWITCH 式の値または結果が数値でない場合は、それらを引用符で囲む必要があります。
これは一見複雑に見えますが、分解してみると、実際には非常に論理的です。
- まず、Excel で書式設定されたテーブルの Grade 列の式を評価したいので、次のように入力しました。 [@Grade] 価値として e。
- それから、私は3つ持っています v–r ペアリング: 「A」は「自動的に次のレベルに進みます」を返し、「B」は「このレベルで続行」を返し、「C」は「前のレベルに移動します」を返します。
- 最後に、最終的なペアリングの後、値として「GRADE REQUIRED」を指定しました。 d。これは、どの値も当てはまらない場合の結果です (v#) 式 (e)。
Enter キーを押すと、データはフォーマットされた Excel テーブル内にあるため、C 列の残りの部分が自動的に入力されます。
セル C8 に「GRADE REQUIRED」が含まれていることに注目してください。これは、セル B8 の式が SWITCH 式のどの値とも一致しなかったためです。
列 C の出力を変更したい場合は、セル C2 に戻り、数式バーの数式を修正して Enter キーを押します。この変更は、列 C の他のセルに自動的に適用されます。
IF、IFS、XLOOKUP の代わりに SWITCH を使用する理由
IF、IFS、XLOOKUP など、同様のアクションを実行する Excel の他の関数の一部ではなく、なぜ SWITCH を使用するのか疑問に思われるかもしれません。理由は次のとおりです。
式の繰り返しを避ける
IF または IFS を使用して上記の表と同じ結果を作成するには、毎回次の式を繰り返す必要があります。
=IFS([@Grade]="A","Automatically advance to next level",[@Grade]="B","Continue at this level",[@Grade]="C","Move down to previous level")
ただし、SWITCH 関数を使用すると、式の先頭に 1 回式を記述するだけで済みます。
=SWITCH([@Grade],"A","Automatically advance to next level","B","Continue at this level","C","Move down to previous level","GRADE REQUIRED")
その結果、SWITCH 関数は読みやすくなり、入力ミスが少なくなり、問題があった場合の確認が容易になります。
すべてを 1 か所に保管
SWITCH と同様に、XLOOKUP 関数は式を値のリストと比較し、対応する値を返します。ただし、XLOOKUP では値のリストが別のテーブルにありますが、SWITCH では値のリストがすべて 1 つの式に組み込まれます。これは、浮動データがないことを意味し、Excel スプレッドシートは整然としたままになります。
かっこ 1 セット
上の表と同じ結果を得るために入れ子になった IF 関数を使用することを選択した場合は、IF 引数ごとに新しい括弧のセットを使用する必要がありました。
=IF([@Grade]="A","Automatically advance to next level",IF([@Grade]="B","Continue at this level",IF([@Grade]="C","Move down to previous level","GRADE REQUIRED")))
その結果、数式は 3 つの閉じ括弧でわかりにくくなり、構文の問題をデバッグするのがより困難になります。一方、他の追加機能を使用せずに最も基本的なレベルで使用する場合、SWITCH は 1 組のかっこのみを必要とします。
スイッチの欠点
SWITCH には多くの利点がありますが、Excel スプレッドシートで作業を始める前に留意すべき制限がいくつかあります。
- 標準の SWITCH 構文では、演算子 ( など) や近似一致を使用することはできません。代わりに、SWITCH は完全一致のみに制限されます。
- 潜在的な値と結果が多数ある場合、最初に SWITCH 式を構築するのに時間がかかります。個人的には、SWITCH 式で使用する値と結果の組み合わせは 7 つまたは 8 つまでにすることをお勧めします。
- SWITCH は比較的柔軟性に欠ける関数です。たとえば、XLOOKUP は、単一の値だけでなく、データの行と列全体を返すことができます。
- SWITCH では多くのカンマ (数値以外の値を含める場合は引用符) が必要なため、数式を手動で入力すると間違いが起こりやすくなります。
SWITCH は、Excel テーブル内のデータを使用するさまざまな方法の 1 つにすぎません。また、INDEX を使用して値を検索したり、MATCH を使用して値の位置を検索したり、INDEX と MATCH を組み合わせて双方向検索を作成したりすることも検討できます。
#ExcelでSWITCH関数を使用する方法
