- Home » 
 - エクセル関数の技 » 
 - 曜日を表示する(曜日を計算する) 
 
更新:2025/4/5;作成:2012/5/10
シリアル値から曜日を表示する   topへ
  - 注意事項
  
  細かいことで申し訳ありませんが、以下に書いている方法は1900/3/1以降で求めることができます。
  Excelでは「1900/2/29」が存在しているため(実際は1900年は閏年ではありません)、1900/1/1〜2/29はズレを生じています。
  1900/3/1より前の日付を扱う時は注意してください。
  
   - 日付データから曜日を表示するにはいくつかの方法が考えられます。
 
    - TEXT関数で表示形式を使って曜日の文字列を返すことができます
    
  
  
 - B1に =TEXT(A2,"aaa") とします。 セルの表示形式は 標準 のままでOKです。
  このときのB列の値は「文字列」になります。
  
   - 曜日の表示形式を
  =TEXT(A2,"aaa")とすると、月、火、水・・・
  =TEXT(A2,"aaaa")とすると、月曜日、火曜日、水曜日・・・
  =TEXT(A2,"ddd")とすると、Mon、Tue、Wen・・・
  =TEXT(A2,"dddd")とすると、Monday、Tuesday、Wednesday・・・
  となります。
   - Spillが利用できるExcel2021以降では  =TEXT(A2:A8,"aaa") のように数式を入力します。
  
   - TEXT関数の使い方は TEXT関数 や TEXT関数の使い方:Excel関数の技 をご覧ください。 
  
 - 日曜日に色を付けたい・・・条件付き書式で対処します。
  この時の数式に WEEKDAY関数を使って説明されているページを目にしますが、TEXT関数の方が解読しやすいと思うのですがいかがでしょう?
  =TEXT(A2,"aaa")="日" と =WEEKDAY(A2)=1 との比較です。「1」ってなに?というところです。
  
 
- 「2025/5/1」といった日付が入力してあるセルでは、表示形式を「[$-ja-JP-x-gannen]ggge"年"m"月"d"日"(aaa)」とします。
  すると、同じセル内に日付と曜日を一緒に表示することができます。 セルには 令和7年3月1日(木) と表示されます。
  なお、令和1年と表示したいときは [$-ja-JP]ggge"年"m"月"d"日"(aaa) とします。
  
 - 日付のデータが入っているセルの表示形式を aaa とか aaaa 、 ddd 、dddd とすれば曜日が表示されます。 
  
 - 
    
      
      
        
          | 表示形式 | 
          表示される曜日 | 
        
        
          | aaa | 
          月、火、水、木、金、土、日 | 
        
        
          | aaaa | 
          月曜日、火曜日、水曜日、木曜日、金曜日、土曜日、日曜日 | 
        
        
          | ddd | 
          Mon、Tue、Wed、Thu、Fri、Sat、Sun | 
        
        
          | dddd | 
          Monday、Tuesday、Wednesday、Thursday、Friday、Saturday、Sunday | 
        
      
    
    
 
【問題】下図のように、A列に日付が入力されている時にB列に曜日を表示したいと思います。
ここでは、B列の表示形式で対処してください。
【解答例】
  - B2セルに=A2:A8 と数式を入力します。
  Spillが利用できないバージョンでは =A2 と入力して、下方向へ数式をコピーします。
  A列と同じ日付または日付のシリアル値が表示されます。
  
   - [Ctrl]+[1](テンキーの1は使用不可)でセルの書式設定ダイアログボックスを開きます。
  表示形式の種類に aaaa と入力すると、B2セルには「木曜日」と表示されます。
  
 
    - 計算の例として書いています。これ以降の数式をお勧めしているわけではありません。頭の体操・・・と考えてください)
    
 - WEEKDAY関数は =WEEKDAY(シリアル値,[種類]) となりますが、種類を 1 または省略 すると、1 (日曜)〜 7 (土曜) の範囲の整数を返します。
  つまり、=WEEKDAY("2025/5/1") とすると 5 が返ります。  - WEEKDAY関数はExcel2010で引数が追加されています。詳細は WEEKDAY関数 をご覧ください。
  
  
 - 解答例1
  返る値が 1〜7 なので、これと曜日を関連付ければよい・・・と考えると・・・・
  =CHOOSE(WEEKDAY(A1),"日","月","火","水","木","金","土") のような数式を作ることができます。
  
    - ほかにも、さまざまな数式を作ることができます。
    =INDEX({"日","月","火","水","木","金","土"},WEEKDAY(A1))
    =VLOOKUP(WEEKDAY(A1),{1,"日";2,"月";3,"火";4,"水";5,"木";6,"金";7,"土"},2)
    
   
  
 
  - セルに年月日がバラバラに入力されているときの処理方法です。
  
  
 - A2セルに年:2024、B2セルに月:4、C2セルに日:10が入力されているとします。
  D2セルには =TEXT(DATE(A2,B2,C2),"aaaa") と入力しています。
  DATE関数で DATE(A2,B2,C2) と日付のシリアル値を計算して、TEXT関数で曜日の文字列を返しています。
  
 - Excelが日付として認識する形式にして、TEXT関数と組み合わせることもできます。
  
      - =TEXT(A2&"/"&B2&"/"&C2,"aaa")
      =TEXT(A2&"-"&B2&"-"&C2,"aaa")
      
        - 関数内で日付と認識できる文字列は日付として計算されます。
      
      
    
    
 
   
   - Excelが日付として認識する形式にして、表示形式で曜日を表示する
  
    - D2セルに =(A2&"/"&B2&"/"&C2)*1 としてシリアル値にします。
    =DATEVALUE(A2&"/"&B2&"/"&C2) としてもよいでしょう。
    
      - =(A2&"-"&B2&"-"&C2)*1
      =(A2&"年"&B2&"月"&C2&"日")*1
      といった形式にしてもExcelでは日付として扱われます。
      
      
     
     - D2セルの表示形式を aaa とか aaaa 、 ddd 、dddd とすれば曜日が表示されます
    
    
  
 
 
和暦の場合は?
  
    - A2セルに年:令和6、B2セルに月:4、C2セルに日:10が入力されているとします。
=TEXT(A2&"年"&B2&"月"&C2&"日","aaaa")
    令和○年○月○日 といった形式にしてやれば、Excelが日付として扱ってくれます。 
  
 - A2セルに年:R6、B2セルに月:4、C2セルに日:10が入力されているとします。
Excel2016,2019でTEXTJOIN関数が使える場合は
  =TEXT(TEXTJOIN("-",TRUE,A2:C2),"aaaa") とすることができます。
  
  
      - =TEXT(A2&"-"&B2&"-"&C2,"aaaa")
    H○-○-○ といった形式にしてやれば、Excelが日付として扱ってくれます。
    
     - =TEXT(A2&"."&B2&"."&C2,"aaaa")
H○.○.○ といった形式にしてやれば、Excelが日付として扱ってくれます。
   
 
スポンサードリンク
Home » 
エクセル関数の技 » 
曜日を表示する(曜日を計算する)
 PageViewCounter
 
 Since2006/2/27