Excel

曜日を数値に変換する方法【#Excel #日付 #中級者】

あなたは、
文字列で
入力された
曜日の
扱いに
困ったことは
ありませんか。

日付形式の
セルから
曜日を
取り出すには
WEEKDAY関数という
便利な
関数が
ありますが、
文字列で
あらわされた
曜日を
数値に
直すには、
VLOOKUP関数を
使うなど
しないと
あまり
うまくいきません。

ここでは、
文字列で
あらわされた
曜日を
一発で
簡単に
数値に
変換する
方法を
紹介します。

結論:FIND関数

FIND関数は、
指定された
文字列の
どこに
特定の
文字列が
存在しているかを
探す
関数です。

このようにして
使うと、
曜日を
数値に
変換することが
できます。

=FIND(A2,”日月火水木金土”)

A2の
部分は
曜日の
入力された
セルです。

この関数を
使うと、
以下のように、
曜日が
値に
変換されます。

日=1、月=2、火=3、水=4、木=5、金=6、土=7

これは、
日月火水木金土の
文字列の
何番目に、
指定された
文字列である
曜日が
存在しているかを
探すことで、
曜日を
数値に
変換しています。

また、
月曜日を
1に、
日曜日を
7に
対応させる
場合は

=FIND(A2,”月火水木金土日”)


すれば
よいでしょう。

さらに、
月曜日は
0の
方が
都合が
よければ、

=FIND(A2,”月火水木金土日”)-1


OKです。

次に
メリットと
デメリットを
紹介していきますが、
ここまでで
すでに
大体の
ことは
お判り
いただいていると
思います。

興味の
ある方は
ぜひ
読んでみて
ください。

最後には
応用編も
紹介します。

メリット

別テーブルを 用意する 必要が ない

普通に
曜日を
数値に
置き換えようと
する
場合、
例えば
別の
曜日変換テーブルを
作り、
それを
使って
VLOOKUP等で
置き換える
必要が
あります。
しかし
FINDで
変換すれば、
そのセル
だけで
完結します。

デメリット

メンテナンス性が 低い

オートコンプリートなどで
複数の
セルに
この関数を
展開したとき、
複数の
セルの
数式を
修正する
必要が
あります。

曜日の
変換で
使用している
分には
まず
変わることが
ないので
問題ありませんが、
下記の
応用編を
使用する
場合には
修正し忘れないよう
注意が
必要です。

応用編:曜日 以外の 置き換え

例えば、
こんな
変換方法も
あります。

=(FIND(A5,”通年前期後期”)+1)/2

大学で
おなじみ
授業の
学期を
変換する
ことも
できます。

この例では、
以下の
通り
変換されます。

通年=1、前期=2、後期=3

(+1)/2を
しているのは、
そのまま
変換すると

通年=1、前期=3、後期=5


なって
しまうのを
1おきに
なるよう
整えるためです。

このほか3文字以上の変換や、長さが違う文字列での変換も行えます。

=(FIND(A8,”海  花火 夏祭り”)+2)/3

文字列の
長さが
異なる
場合は、
最も
長い
文字列の
長さに
合わせるよう、
スペース等で
足りない
分を
埋めます。

勘の
いい方は
お判りかも
しれませんが、
埋める
文字は
スペースで
なくても
OKです。

=(FIND(A8,”海**花火*夏祭り”)+2)/3

まとめ

曜日が
文字列で
入力されて
困ったことの
ない
あなたは、
きっと
これから先も
曜日が
文字列で
入力されて
困ることは
ないでしょう。

できれば、
この記事の
ことを
思い出すことが
ないように
進めていける
ことを
祈っています。

曜日が
文字列で
入力されて
困っていた
あなたには
きっとこの記事で書いたことが役に立つことと思います。

この記事の
ことを
思い出して、
いつの日か
応用編も
活用してくれる
ことを
祈っています。