GoogleスプレッドシートのTEXT関数を使って、日付から曜日の文字列を取得する方法についてです。
- TEXT関数の第2引数で「"ddd"」を指定すれば、日付から1文字の曜日(日,月,火…)を取得できます。
- 同じく「"dddd"」を指定すれば3文字の曜日(日曜日,月曜日,火曜日…)を取得できます。
- 英語の曜日名は取得できませんので、別の方法を考える必要があります。
手順
ExcelだとTEXT関数の第2引数として「"aaa"」や「"aaaa"」を指定したときにそれぞれ日本語1文字、日本語3文字の曜日名を取得できますが、Googleスプレッドシートの場合はうまくいきません。
「"ddd"」を指定したときに日本語1字、「"dddd"」を指定したときに日本語3字の曜日名を取得できます。
C5,C6セル(それぞれ日本語1文字、日本語3文字の曜日名を取得する例)
=TEXT(B4,"ddd") =TEXT(B5,"dddd")
英語の曜日名を取得することはできません。日付の和暦対応はしていないのに、曜日は日本語しか取得できないというのが残念です。
TEXT関数を使ってムリヤリ英語名を取得するならGoogleスプレッドシートの対応言語を変更するという方法もありますが、さらにムリヤリな方法としてGOOGLETRANSLATE関数で翻訳する方法が考えられます。
C3,C4セル
=LEFT(GOOGLETRANSLATE(TEXT(B3,"dddd"),"ja","en"),3) =GOOGLETRANSLATE(TEXT(B4,"dddd"),"ja","en")
ただし再計算が遅すぎることもあってお勧めしません。
そこで本題からは外れますが、英語名を取得するオーソドックスな方法を2例紹介します。
C3,C4セル
=CHOOSE(WEEKDAY(B3),"Sun","Mon","Tue","Wed","Thu","Fri","Sat") =INDEX({"Sun","Mon","Tues","Wednes","Thurs","Fri","Satur"}&"day",WEEKDAY(B4))
やり方はいろいろ考えられますが、ここではWEEKEND関数の戻り値(1=日曜,2=月曜……)を利用しています。