Microsoft ExcelでSWITCH関数を使用してもうまく動作しない、計算式は間違っていないはずなのに「#NAME?」エラーが表示されてしまうのはなぜでしょう?
当記事では、SWITCH関数を使用した時にエラーが発生する原因や、その対処法、解決方法について説明しています。
SWITCH関数が使えない原因とは?
SWITCH関数が使えない原因は
- 計算式が間違っている
- 関数名が間違っている
- 関数が対応していないバージョンのExcelである
以上のことが考えられます。
特に「#NAME?」エラーが表示される場合は、関数名が間違っているか、SWITCH関数が使えないバージョンのExcelである可能性が高いです。
一部の関数は古いバージョンのExcelでは使用することができず、SWITCH関数の使えるバージョンを簡単にまとめると、次の表のようになります。
2010 | 2013 | 2016 | 2019以降 | |
---|---|---|---|---|
買い切り | ||||
Microsoft 365 |
もし、SWITC関数が使えないという場合は、一度お使いのExcelのバージョンを確認してみてください。
「#NAME?」以外のその他のエラー、例えば「#DIV/0!」や「#VALUE!」と表示される場合、計算式や参照先のセルを間違えているか、参照先のセルに対象外となる情報が含まれている可能性がありますので、一度計算式そのものを見直してみてください。
では、SWITCH関数を2016以前のExcelでも使用するには、どのようにすればいいでしょう?
次は、SWITHC関数の修正方法について説明していきます。
SWITCH関数をIF関数に置き換える
SWITCH関数は、条件に一致した場合に特定の結果を表示するという関数ですので、IF関数に置き換えることが可能です。
IF関数への置き換え方は、ざっと説明するとこの通りです。
- 文頭の =SWITCH を =IF に変更
- 1つ目のカンマを = に置き換える
- 置き換えた = の部分から、文頭の IF までコピーする
- 数えて偶数個のカンマごとに、コピーした式をペーストする(最後を除く)
- 追加した IF の数だけ文末に ) を追加
では例として、
こちらのSWITCH関数の修正を、一つずつ区切って説明していきます。
1文頭の =SWITCH を =IF に変更
=SWITCH(WEEKDAY(A2),1,”月曜日”,2,”火曜日”,3,”水曜日”,”一致なし”)
【修正後】
=IF(WEEKDAY(A2),1,”月曜日”,2,”火曜日”,3,”水曜日”,”一致なし”)
21つ目のカンマを = に置き換える
=IF(WEEKDAY(A2),1,”月曜日”,2,”火曜日”,3,”水曜日”,”一致なし”)
【修正後】
=IF(WEEKDAY(A2)=1,”月曜日”,2,”火曜日”,3,”水曜日”,”一致なし”)
※1つ目のカンマ=1つ目の条件を区切るカンマのことです。
3置き換えた = の部分から、文頭の IF までコピーする
=IF(WEEKDAY(A2)=1,”月曜日”,2,”火曜日”,3,”水曜日”,”一致なし”)
4数えて偶数個のカンマごとに、コピーした式をペーストする
=IF(WEEKDAY(A2)=1,”月曜日”,2,”火曜日”,3,”水曜日”,”一致なし”)
【修正後】
=IF(WEEKDAY(A2)=1,”月曜日”,IF(WEEKDAY(A2)=2,”火曜日”,3,”水曜日”,”一致なし”)
最後の”一致なし”の部分を除き、同様にペーストしていきます。
=IF(WEEKDAY(A2)=1,”月曜日”,2,”火曜日”,3,”水曜日”,”一致なし”)
【修正後】
=IF(WEEKDAY(A2)=1,”月曜日”,IF(WEEKDAY(A2)=2,”火曜日”,IF(WEEKDAY(A2)=3,”水曜日”,”一致なし”)
5追加した IF の数だけ文末に ) を追加
=IF(WEEKDAY(A2)=1,”月曜日”,IF(WEEKDAY(A2)=2,”火曜日”,IF(WEEKDAY(A2)=3,”水曜日”,”一致なし”)
【修正後】
=IF(WEEKDAY(A2)=1,”月曜日”,IF(WEEKDAY(A2)=2,”火曜日”,IF(WEEKDAY(A2)=3,”水曜日”,”一致なし”)))
これで修正完了です。
IF関数でSWITCH関数と同じ動作をすることが確認できます。
=SWITCH(WEEKDAY(A2),1,”月曜日”,2,”火曜日”,3,”水曜日”,”一致なし”)
【修正後】
=IF(WEEKDAY(A2)=1,”月曜日”,IF(WEEKDAY(A2)=2,”火曜日”,IF(WEEKDAY(A2)=3,”水曜日”,”一致なし”)))
おわりに
SWITCH関数はIFS関数などと同様に、2016年以降に追加された関数です。
基本的に「#NAME?」エラーはExcelで使用できない関数や、関数の名前を間違って入力したときに表示されるエラーです。
SWITCH関数以外でも「#NAME?」エラーが表示された場合は、関数名の確認のほか、お使いのExcelのバージョンに対応している関数なのかも調べてみましょう。