365・LibreOfficeなどに関するメモ2022-12-17(Gスプレッドシート)TEXT関数で日付から曜日を取得するGoogleスプレッドシート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=月曜......)を利用しています。365はデスクトップ版、LibreOfficeは記事作成時の安定バージョンを用いた結果を示しています。サイトポリシー等についてはこちらをご覧ください。(1)検索スポンサーリンク引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。