excel

【Excel】エクセルで曜日のaaaが表示されない(TEXT関数・書式設定・ユーザー定義)原因と解決方法

当サイトでは記事内に広告を含みます

エクセルで日付から曜日を表示させようとして、セルの書式設定で「aaa」や「aaaa」を指定したのに、曜日が表示されないトラブルは頻繁に発生します。

日付データから自動的に曜日を表示させたい、スケジュール表や勤怠管理表で曜日を自動入力したい、書式設定で「aaa」を指定しても曜日が表示されず、代わりに「aaa」という文字列や数値がそのまま表示されてしまい、何度設定し直しても同じ問題が繰り返されるといった状況は非常に困ります。

手作業で一つずつ曜日を入力していては膨大な時間がかかり、特に1年分のカレンダーや大量のデータを扱っている場合は、作業効率が大幅に低下してしまいます。また、日付が変わった際に曜日も自動的に更新されないため、データの整合性が保てなくなります。

エクセルで曜日表示が正しく動作しない原因は、セルの値が日付として認識されていない、書式設定の方法が間違っている、TEXT関数の使い方に誤りがあるなど、複数の要因があります。

本記事では、曜日が表示されない主な原因を特定し、それぞれの状況に応じた解決方法を詳しく解説します。さらに、曜日を自動表示させる様々な方法と使い分けのポイントも紹介します。

日付から曜日を正しく表示させたい方は、ぜひ最後までお読みください。

ポイントは

・セルの値が日付形式として認識されていないと曜日は表示されない

・書式設定の「aaa」は日付データにのみ有効

・TEXT関数を使えば文字列の日付からも曜日を取得できる

です。

それでは詳しく見ていきましょう。

 

 

曜日が表示されない主な原因

それではまず、エクセルで「aaa」を設定しても曜日が表示されない原因を確認していきます。

 

セルの値が日付として認識されていない

書式設定で「aaa」を指定しても曜日が表示されない最も一般的な原因は、セルの値がエクセルで日付データとして認識されていないことです。

エクセルでは、日付は内部的にシリアル値という数値で管理されています。例えば「2024/1/1」は「45292」という数値として保存されており、表示形式によって日付や曜日として表示されます。この仕組みがあるため、「aaa」という書式設定で曜日を表示できるのです。

例えば、セルに「2024/1/1」と入力したつもりでも、実際には「’2024/1/1」のようにシングルクォート付きの文字列として入力されていたり、全角文字で「2024/1/1」と入力されていたりすると、エクセルはそれを日付データとして認識しません。

このような状態で書式設定を「aaa」にしても、曜日は表示されず、元の文字列や「aaa」という文字がそのまま表示されます。

セルが日付として認識されているかを確認するには、該当するセルを選択して数式バーを見ます。日付として認識されている場合は、数式バーに「2024/1/1」のような形式で表示されます。文字列の場合は、セルの左上に小さな緑色の三角形(エラーインジケーター)が表示されることがあります。

また、セルを選択した状態で、ホームタブの「数値」グループを確認します。ここに「標準」「数値」「日付」などが表示されていますが、日付として認識されている場合は通常「日付」または「標準」となっています。「文字列」と表示されている場合は、日付データではありません。

入力内容 認識状態 書式「aaa」の結果
2024/1/1(日付形式) 日付データ 月(正しく表示)
‘2024/1/1(文字列) 文字列 aaa または元の文字列
2024/1/1(全角) 文字列 aaa または元の文字列
数値(例:45292) 数値データ 月(正しく表示)

 

書式設定の方法が間違っている

書式設定の操作方法や入力内容が間違っていると、曜日が正しく表示されません

ユーザー定義の書式設定で「aaa」を入力する際、全角文字で「aaa」と入力してしまうと正しく認識されません。必ず半角英字で「aaa」と入力する必要があります。また、ダブルクォーテーション(”)で囲んでしまう「”aaa”」という入力も、書式設定では不要です。

書式設定の「種類」の入力欄には、既存の書式が表示されていることがあります。例えば「yyyy/m/d」という書式が表示されている場合、これを完全に削除せずに「aaa」を追加してしまうと、「yyyy/m/daaa」のような意図しない書式になります。

正しい手順は、セルを選択して右クリック、「セルの書式設定」を開きます。「表示形式」タブの「ユーザー定義」を選択し、「種類」の入力欄を一度クリックしてから、既存の内容を「Ctrl+A」で全選択して削除します。その後、半角英字で「aaa」と入力してOKをクリックします。

また、「分類」で「ユーザー定義」ではなく「日付」を選択している場合、用意されている書式の中に「aaa」だけの項目がないことがあります。曜日だけを表示したい場合は、必ず「ユーザー定義」を選択して、自分で「aaa」と入力する必要があります。

 

 

TEXT関数の構文が間違っている

TEXT関数で曜日を表示しようとしている場合、関数の構文に誤りがある可能性があります。

TEXT関数の正しい構文は「=TEXT(値,”aaa”)」です。ここで重要なのは、第2引数の「”aaa”」はダブルクォーテーションで囲む必要があるという点です。「=TEXT(A1,aaa)」のようにダブルクォーテーションを省略すると、エクセルは「aaa」という名前のセルを参照しようとして、エラーになります。

また、全角文字で「=TEXT(A1,”aaa”)」と入力してしまうと、関数として認識されないことがあります。関数名、カッコ、カンマ、ダブルクォーテーションは、すべて半角英数字で入力する必要があります。

入力例 結果 原因
=TEXT(A1,”aaa”) 月(正しく表示) 正しい構文
=TEXT(A1,aaa) #NAME?エラー ダブルクォーテーションなし
=TEXT(A1,”aaa”) エラーまたは無反応 全角文字を使用
=TEXT(A1,’aaa’) エラー シングルクォーテーション使用

エクセルで曜日を表示する方法には、大きく分けて2つあります。1つはセルの書式設定で「aaa」を指定する方法、もう1つはTEXT関数を使う方法です。

書式設定の方法は、セルの実際の値は日付のまま保持され、表示だけが曜日になります。そのため、そのセルを他の計算で使用する場合も、日付データとして扱われます。

一方、TEXT関数を使う方法では、結果は文字列になります。つまり、関数で返された「月」や「火」は、もはや日付データではなく、単なる文字データです。そのため、日付計算には使えませんが、条件分岐や文字列結合には便利です。

どちらの方法を選ぶかは、用途によって決めることが重要です。

 

 

書式設定で曜日を表示する方法

続いては、セルの書式設定を使って曜日を表示する正しい方法を確認していきます。

 

日付データを日付として入力する

まず、セルに日付を正しく日付データとして入力します。

日付を入力する際は、「2024/1/1」または「2024-1-1」のように、スラッシュまたはハイフンで区切って入力します。これらの形式で入力すると、エクセルは自動的に日付データとして認識します。

入力後、セルの表示が右揃えになっていれば、日付として認識されています。左揃えになっている場合は、文字列として認識されている可能性が高いため、再度入力し直します。

日付を入力する際の注意点として、年月日の区切りは半角文字を使用します。全角のスラッシュ「/」や全角のハイフン「-」を使うと、文字列として認識されてしまいます。また、先頭にシングルクォーテーション「’」を入力すると、その後の内容はすべて文字列として扱われます。

既に文字列として入力されている日付を日付データに変換する場合は、セルの左上に表示される緑色の三角形(エラーインジケーター)をクリックし、「数値に変換する」を選択します。または、セルを一度ダブルクリックして編集モードにし、何も変更せずにEnterキーを押すことでも、日付データとして再認識されることがあります。

 

 

ユーザー定義で「aaa」を設定する

日付データが正しく入力されたら、セルの書式設定でユーザー定義を「aaa」に設定します。

曜日を表示させたいセルを選択します。複数のセルをまとめて設定する場合は、範囲を選択します。右クリックして「セルの書式設定」を選択するか、Ctrl+1キーを押してダイアログを開きます。

「表示形式」タブを開き、左側の「分類」から「ユーザー定義」を選択します。右側の「種類」の入力欄をクリックして、既存の内容があればすべて削除し、半角英字で「aaa」と入力します。

書式コード 表示例 説明
aaa 月、火、水 曜日の略称(日本語1文字)
aaaa 月曜日、火曜日、水曜日 曜日の正式名称(日本語3文字)
(aaa) (月)、(火)、(水) 曜日をカッコで囲む
yyyy/m/d(aaa) 2024/1/1(月) 日付と曜日を同時表示

「OK」をクリックすると、選択したセルの表示が曜日に変わります。例えば、「2024/1/1」と入力されていたセルが「月」と表示されます。セル内の実際の値は日付データのまま保持されており、表示だけが曜日になっています。

 

 

日付と曜日を同時に表示する

同じセルに日付と曜日を一緒に表示したい場合は、書式コードを組み合わせます。

ユーザー定義の「種類」に「yyyy/m/d(aaa)」と入力すると、「2024/1/1(月)」のように、日付の後ろにカッコ付きの曜日が表示されます。「yyyy」は4桁の年、「m」は月、「d」は日を表します。

書式コードはスペースや記号を自由に組み合わせられます。「m月d日(aaa)」と入力すれば「1月1日(月)」、「yyyy年m月d日 aaaa」と入力すれば「2024年1月1日 月曜日」のように表示されます。

書式コードで日付と曜日を同時に表示すると、見た目は「2024/1/1(月)」のような文字列に見えますが、セルの実際の値は日付データです。そのため、このセルを他の計算で使用したり、並べ替えの基準にしたりすることができます。これが、TEXT関数で文字列にする方法との大きな違いです。

 

 

TEXT関数で曜日を表示する方法

続いては、TEXT関数を使って曜日を表示する方法を確認していきます。

 

TEXT関数の基本構文

TEXT関数は、日付や数値を指定した書式の文字列に変換する関数です。

基本構文は「=TEXT(値,表示形式)」です。「値」には日付データが入っているセルを指定し、「表示形式」には曜日の書式コードを文字列として指定します。例えば、A1セルに「2024/1/1」という日付が入っている場合、B1セルに「=TEXT(A1,”aaa”)」と入力すると、B1セルに「月」と表示されます。

数式 A1セルの値 結果
=TEXT(A1,”aaa”) 2024/1/1
=TEXT(A1,”aaaa”) 2024/1/1 月曜日
=TEXT(A1,”ddd”) 2024/1/1 Mon
=TEXT(A1,”dddd”) 2024/1/1 Monday

TEXT関数を使う場合の注意点として、第2引数の表示形式は必ずダブルクォーテーションで囲む必要があります。また、すべて半角英数字で入力します。全角文字や全角記号を使うとエラーになります。

 

文字列の日付からも曜日を取得できる

TEXT関数の利点は、文字列として入力された日付からも曜日を取得できることです。

例えば、外部システムから出力されたデータで、「2024/1/1」という日付が文字列として保存されている場合、書式設定では曜日を表示できません。しかし、TEXT関数では、「=TEXT(A1,”aaa”)」と入力することで、文字列の日付を一度日付データに変換してから曜日を取得します。

ただし、文字列の形式がエクセルで認識できる形式である必要があります。「2024年1月1日」や「令和6年1月1日」のような形式は、そのままではTEXT関数でも変換できないため、DATEVALUE関数と組み合わせる必要があります。

 

 

TODAY関数と組み合わせて今日の曜日を表示

TODAY関数と組み合わせると、今日の日付の曜日を自動表示できます。

「=TEXT(TODAY(),”aaa”)」と入力すると、エクセルを開いた日の曜日が表示されます。TODAY関数は、現在の日付を返す関数で、日付が変わると自動的に更新されます。

例えば、「今日は=TEXT(TODAY(),”aaaa”)です」という数式を入力すると、「今日は月曜日です」のような文章が表示されます。このように、TEXT関数は文字列と組み合わせて使うことで、動的なメッセージを作成できます。

 

 

曜日が表示されない問題の解決方法

続いては、それでも曜日が表示されない場合のトラブルシューティング方法を確認していきます。

 

 

文字列の日付を日付データに変換する

文字列として入力されている日付を日付データに変換する必要があります。

最も簡単な方法は、DATEVALUE関数を使うことです。A1セルに文字列の「2024/1/1」がある場合、別のセルに「=DATEVALUE(A1)」と入力すると、日付データに変換されます。変換後のセルに書式設定で「aaa」を適用すれば、曜日が表示されます。

大量のセルを一括で変換する場合は、「区切り位置」機能を使います。変換したい範囲を選択し、「データ」タブの「区切り位置」をクリックします。ウィザードが開きますが、何も変更せずに「次へ」を2回クリックし、「完了」をクリックします。これにより、文字列が日付データに変換されます。

別の方法として、空白セルに「1」と入力してコピーし、変換したい日付のセル範囲を選択して、「形式を選択して貼り付け」から「乗算」を選択する方法もあります。これにより、文字列が数値(日付データ)に変換されます。

 

 

エクセルのバージョンや地域設定を確認

稀に、エクセルの言語設定や地域設定が影響していることがあります。

Windowsの地域設定が日本以外になっている場合、「aaa」が正しく認識されないことがあります。「ファイル」→「オプション」→「言語」で、エクセルの表示言語と編集言語が日本語になっているか確認します。

また、古いバージョンのエクセルでは、一部の書式コードが正しく動作しないことがあります。エクセルを最新バージョンにアップデートすることで解決する場合もあります。

 

 

エクセルを再起動してみる

他の方法で解決しない場合は、エクセルファイルを保存して再起動してみます。

稀に、エクセルの表示が一時的に不具合を起こしていることがあります。ファイルを保存してエクセルを完全に終了し、再度開くことで、表示が正常に戻ることがあります。

また、エクセルのキャッシュが原因で問題が発生している場合もあります。再起動により、キャッシュがクリアされて正常に動作することがあります。

曜日表示のトラブルは、ほとんどの場合、日付データの認識に関する問題です。エクセルは見た目では分かりにくいですが、内部では文字列と数値(日付)を厳密に区別しています。

トラブルシューティングの基本は、まずセルの値が日付データとして認識されているかを確認し、次に書式設定やTEXT関数の構文が正しいかを確認することです。これらを順番にチェックすれば、ほとんどの問題は解決できます。

 

 

まとめ 【Excel】エクセルで曜日のaaaが表示されない(TEXT関数・書式設定・ユーザー定義)原因と解決方法

エクセルで曜日が表示されない問題の原因と解決方法をまとめると

・表示されない主な原因:セルの値が日付データとして認識されていない(文字列または不正な形式で入力)、書式設定で「aaa」を全角で入力または誤った方法で設定、TEXT関数の構文エラー(ダブルクォーテーション忘れや全角文字使用)

・書式設定での表示方法:日付を「2024/1/1」のように半角で正しく入力、Ctrl+1で書式設定を開きユーザー定義で半角「aaa」と入力、「yyyy/m/d(aaa)」で日付と曜日を同時表示可能

・TEXT関数での表示方法:「=TEXT(A1,”aaa”)」で曜日を文字列として取得、「=TEXT(TODAY(),”aaa”)」で今日の曜日を自動表示、文字列の日付からも曜日を取得可能

・解決方法:DATEVALUE関数または区切り位置機能で文字列を日付データに変換、エクセルの言語設定と地域設定を確認、ファイルを保存してエクセルを再起動

これらの方法を状況に応じて使い分けることで、曜日表示のトラブルは解決できます。

書式設定は日付データを保持したまま表示だけを変える方法で、TEXT関数は文字列として取得する方法です。用途に応じて適切な方法を選択しましょう。

ただし、データ入力時は注意が必要です。

特に外部システムからデータをインポートする場合は、日付が文字列として保存されていることが多いため、必ず日付データに変換してから書式設定を適用することで、正しく曜日を表示できます。

エクセルの曜日表示機能を正しく理解すれば、スケジュール表や勤怠管理表の作成が格段に効率化されます。本記事で紹介した方法を活用して、自動化された便利な表を作成していきましょう!