アプリ版:「スタンプのみでお礼する」機能のリリースについて

よくこのような質問が出ていて、私もチェックしていたのですが。。。

A1のセルに日付を20050622というように区切りを何も入れずに記入しています。(何千件という過去のデータからそのようになっています)その隣のセルに曜日("水"とだけ表示したいです)を表示したいのですが、どのような関数になりますでしょうか?


2004年度分は根性でカレンダー見ながらやっていましたが、進歩がないと思い、いろいろ調べましたが分かりません。日付の記入の仕方がまずいでしょうか?


ぜひお知恵をお貸しいただければと思います。

A 回答 (8件)

関数を使って出来ると思います。



結果を表示させたいセル(曜日が入るセル)を選択しておいて、
関数の挿入⇒choose関数を選択⇒
「インデックス」に、日付が入力されたセル、
そして「値1」~「値7」に「日」~「土」を入力すれば
自動的に曜日が入力されるようになります。

ちなみに、私は日付は2005/6/23というように入力しています。

わかりにくい説明ですみません。
    • good
    • 0

こんにちは。

maruru01です。

数式で直接曜日を表示させる場合は、

=TEXT(TEXT(A1,"0-00-00"),"aaa")

で、セルの表示形式を利用する場合は、セルに、

=--TEXT(A1,"0-00-00")

と入力して、セルの表示形式をNo.5の方の回答にあるように、ユーザー定義で「aaa」にします。

ちなみに、質問欄のような8桁の数字列を、ちゃんと計算出来る日付(つまりシリアル値)に一度に変換する方法もあります。
(データが1列にずっと入っている場合に限ります。)
まず、日付の列を選択して、メニューの[データ]→[区切り位置]で、
[次へ]→[次へ]で3/3ページに行き、
[列のデータ形式]で[日付]([YMD])を選択して、[完了]します。
これで、日付がシリアル値になるので、曜日を出したい場合は、隣のセルに、単純に、

=A1

として、セルの表示形式を「aaa」にすればOKです。
    • good
    • 0

=CHOOSE(WEEKDAY(RIGHT(B51,6),1),"月","火","水","木","金","土","日")



この数式で表示されますよ。
「B51」となってるところを、日付が入力されてるセル番号に変えてくださいね。
    • good
    • 0

wm2003deuさま、初めまして。



私がよく愛用させていただいているサイトがありますので、ご紹介いたしますね。

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

=^・^=

参考URL:http://hamachan.fun.cx/
    • good
    • 0

多分もっとスマートな回答が出るでしょうが、これでもできますよってことで。


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です。
    • good
    • 0

こんにちは



A2セルに下記関数を入力
 =DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))
A2セルが日付になるので

セルの書式設定-表示形式-分類-ユーザー定義で種類をaaaとすると"水"と表示されると思います。

如何でしょうか?
    • good
    • 0

マクロ組んでみました。


ただしセルの書式設定を
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
    • good
    • 0

A1のセルに日付があるとして、



=TEXT(DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)),"aaa")

ではどうですか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!