• ベストアンサー

エクセルで曜日を自動表示させたいのですが。

よくこのような質問が出ていて、私もチェックしていたのですが。。。 A1のセルに日付を20050622というように区切りを何も入れずに記入しています。(何千件という過去のデータからそのようになっています)その隣のセルに曜日("水"とだけ表示したいです)を表示したいのですが、どのような関数になりますでしょうか? 2004年度分は根性でカレンダー見ながらやっていましたが、進歩がないと思い、いろいろ調べましたが分かりません。日付の記入の仕方がまずいでしょうか? ぜひお知恵をお貸しいただければと思います。

質問者が選んだベストアンサー

  • ベストアンサー
  • titlet
  • ベストアンサー率37% (30/80)
回答No.1

関数を使って出来ると思います。 結果を表示させたいセル(曜日が入るセル)を選択しておいて、 関数の挿入⇒choose関数を選択⇒ 「インデックス」に、日付が入力されたセル、 そして「値1」~「値7」に「日」~「土」を入力すれば 自動的に曜日が入力されるようになります。 ちなみに、私は日付は2005/6/23というように入力しています。 わかりにくい説明ですみません。

その他の回答 (7)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.8

こんにちは。maruru01です。 数式で直接曜日を表示させる場合は、 =TEXT(TEXT(A1,"0-00-00"),"aaa") で、セルの表示形式を利用する場合は、セルに、 =--TEXT(A1,"0-00-00") と入力して、セルの表示形式をNo.5の方の回答にあるように、ユーザー定義で「aaa」にします。 ちなみに、質問欄のような8桁の数字列を、ちゃんと計算出来る日付(つまりシリアル値)に一度に変換する方法もあります。 (データが1列にずっと入っている場合に限ります。) まず、日付の列を選択して、メニューの[データ]→[区切り位置]で、 [次へ]→[次へ]で3/3ページに行き、 [列のデータ形式]で[日付]([YMD])を選択して、[完了]します。 これで、日付がシリアル値になるので、曜日を出したい場合は、隣のセルに、単純に、 =A1 として、セルの表示形式を「aaa」にすればOKです。

  • savo
  • ベストアンサー率0% (0/1)
回答No.7

=CHOOSE(WEEKDAY(RIGHT(B51,6),1),"月","火","水","木","金","土","日") この数式で表示されますよ。 「B51」となってるところを、日付が入力されてるセル番号に変えてくださいね。

  • junglecat
  • ベストアンサー率46% (96/208)
回答No.6

wm2003deuさま、初めまして。 私がよく愛用させていただいているサイトがありますので、ご紹介いたしますね。 ご質問のところは、このサイトの中のExcelの項目で「予定表の作り方」でもっと簡単な方法があります。 このサイトはとても分かりやすく、いろんな方法を教えてくださる親切なサイトなんですよ! 私はいつも「お気に入り」に登録させていただいております。 ぜひ一度訪れた見てはいかがでしょうか。 ご参考になれば幸いです。 =^・^=

参考URL:
http://hamachan.fun.cx/
  • moon00
  • ベストアンサー率44% (315/712)
回答No.5

多分もっとスマートな回答が出るでしょうが、これでもできますよってことで。 B1に=DATE(INT(A1/10000),INT(A1/100)-INT(A1/10000)*100,RIGHT(A1,2)) と入力して、セルの書式設定の表示形式タブでユーザー定義を 選び、「aaa」と入力してください。 関数式で、20050622を2005/6/22のシリアル値に変化させて、 あとは表示形式で曜日を表示しています。 (aaaは、曜日を表す書式です。) 日付は2005/6/22のように入力されていれば、 セルの書式設定→表示形式でyyyy/m/d (aaa)とすれば、 2005/6/22(水)のように表示されます。 曜日だけ別のセルにしたいときは、隣のセルに=A1として 表示形式を変更すればOKです。

  • doredore1
  • ベストアンサー率38% (13/34)
回答No.4

こんにちは A2セルに下記関数を入力  =DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)) A2セルが日付になるので セルの書式設定-表示形式-分類-ユーザー定義で種類をaaaとすると"水"と表示されると思います。 如何でしょうか?

  • GRIGO
  • ベストアンサー率15% (9/57)
回答No.3

マクロ組んでみました。 ただしセルの書式設定を A列=文字列 B列=ユーザー定義、種類に aaa と入力してください。 以下マクロべた打ち Private Sub iikagen() 'A列のYYYYMMDD形式の日付をB列へYYYY/MM/DDに変換 Dim intI As Integer Dim cnt As Integer Dim strDate As String 'cells(行数,列数) ex. cells(1,1)=A1 cells(2,1)=A2 intI = 1 Do While cnt = 0 If Cells(intI, 1) = "" Then Exit Do Else strDate = Left(Cells(intI, 1), 4) & "/" & _ Mid(Cells(intI, 1), 5, 2) & "/" & _ Right(Cells(intI, 1), 2) '念のため日付として正しいかチェック If IsDate(strDate) = True Then Cells(intI, 2) = strDate Else MsgBox intI & "行目 日付フォーマットエラー" End If End If intI = intI + 1 Loop End Sub

  • chiharu55
  • ベストアンサー率36% (41/111)
回答No.2

A1のセルに日付があるとして、 =TEXT(DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)),"aaa") ではどうですか?

関連するQ&A

専門家に質問してみよう