A列に日付を入れると
B列に曜日(日/月/火の様な)が入るような関数式はありますか。

教えてください。
宜しくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

2つ方法があって


(1)書式で、日付シリアル値(判らなければGoogleで照会のこと。日付に関して大切な事項)から曜日つきの、または曜日だけの見た目を出してくれるもの
yyyy/mm/dd(aaa) 見た目 日付+曜日 例えば同一セルに。
曜日だけ    見た目 曜日 例えば別セルに(同一セルで日付なしで、曜日だけになると困るだろう。)
(2)関数で出す(従って別列になるが、曜日を出す方法)
Weekday関数を使うが、結果はコードで出る(3系統有るが)
それを漢字曜日に直すのは
Choose
例は略
MID
=MID("日月火水木金土",WEEKDAY(A3),1)
VLOOKUP
=VLOOKUP(WEEKDAY(A1),{1,"日";2,"月";3,"火";4,"水";5,"木";6,"金";7,"土"},2,FALSE)
月曜日のような3文字表現にするには少し式を変えればよい。
    • good
    • 0
この回答へのお礼

imgashiさん
ご回答ありがとうございます。
いろいろな方法があるんですね。
大変参考になりました。
どうもありがとうございました。

お礼日時:2009/06/04 16:39

一例です。


日付が内部シリアル値を前提として回答します。
(1)B1に=A1として、セルの書式設定で表示形式をユーザ定義でaaa(日~土で表示)、aaaa(日曜日~土曜日)で表示
(2)B1に=TEXT(A1,"aaa"又は"aaaa")
    • good
    • 0
この回答へのお礼

mu2011さん
ご回答どうもありがとうございます。
大変参考になりました。

お礼日時:2009/06/03 16:40

A1に日付数字が入力されているとして、


B1に次の関数式を入力します。
=WEEKDAY(A1)
その次に、B1を選択し、
右クリック→セルの書式設定→表示形式→ユーザー定義→種類欄にAAAと入力→OK
B1セルの値が[1]の場合
種類欄がAAAの場合→B1セルは[日]と表示されます。
種類欄が(AAA)の場合→B1セルは[(日)]と表示されます。
種類欄がAAA"曜日"の場合→B1セルは[日曜日]と表示されます。
また、B1セルの表示が[日]の場合に赤色文字にするには、
B1を選択→書式設定→条件付き書式→第1欄[セルの値が]選択→第2欄[次の値に等しい]選択→第3欄[=1]と入力→書式→フォント→色欄にて、赤色選択→OK
更に、フォント、スタイル、サイズ等も選択出来ます。

追記
セルに入力された値とセルの表示は、必ずしも一致させる必要はありません。
表示形式の種類欄に色々な値を入力して、表示の変化を試して下さい。
AAA"曜日"の場合の["]の意味
["]と["]で囲まれた範囲のデータは文字である
    • good
    • 0
この回答へのお礼

YON56さん
詳しいご解説大変参考になりました。
どうもありがとうございました。

お礼日時:2009/06/04 16:41

こちらにありました。


http://kokoro.kir.jp/excel/youbi.html
    • good
    • 0
この回答へのお礼

hayasi456さん
どうもありがとうございました。

お礼日時:2009/06/04 16:43

A1に日付があったとして、


(1)「=IF(A1="","",A1)」でセルの書式設定→表示形式→ユーザー設定で「aaa」とする。
「aaa」だと1文字の曜日(たとえば「日」)、「aaaa」だと3文字の曜日(たとえば「日曜日」)になります。
(2)「=IF(A1="","",CHOOSE(WEEKDAY(A1,1),"日","月","火","水","木","金","土"))」とする。
…でどうでしょう。
    • good
    • 0
この回答へのお礼

dumbassさん
大変参考になりました。
ご回答どうもありがとうございました。

お礼日時:2009/06/04 16:42

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q曜日を調べる

曜日を調べる
2010年6月18日は金曜日という風に
曜日を調べる方法があると思うのですが、なんていう定理でしょうか。
また使い方を教えていただけると助かります。

Aベストアンサー

有名なのは、「ツェラーの公式」かな?

式は、h百y年m月d日の時
W=y+[y/4]+[h/4]-2h+[13(m+1)/5]+d
※ここで、[x]はxを超えない最大の整数を表す。←「ガウス記号」といいます。
このWを7で割った余り(=R)が曜日を表します。
曜日はRが
1:日曜
2:月曜
3:火曜
4:水曜
5:木曜
6:金曜
0:土曜
です。

例)
2010年6月18日は
h=20
y=10
m=6
d=18
だから、
W=10+[10/4]+[20/4]-2*20+[13(6+1)/5]+18
=10+2+5-40+18+18
=13
W/7=1余り6
余り6なので、上の表から金曜日。

Qエクセルで、A列に日付をB列に曜日、C列からF列までにデータを入れるよ

エクセルで、A列に日付をB列に曜日、C列からF列までにデータを入れるように作成しています。
条件付書式で土日祭日の場合はC列からF列に色を表示させています。
この色付セル(土日祭日)の場合にはデータ入力が無いので自動で0を表示させ、なおかつデータ入力が出来ないようにしたいのですが、そのようなことは出来るでしょうか。エクセルは2003を使ってます。

Aベストアンサー

C2セルに以下の数式を入力します。

=IF(AND($A2<>"",WEEKDAY($A2,2)>5),0,"")

同様にC2セルに以下の入力規則を設定します。

「データ」「入力規則」で「ユーザー設定」にして数式欄に以下の式を入力します。

=WEEKDAY($A2,2)<6

最後にC2セルを右方向および下方向にオートフィルします。

Q「略~」を英語に訳すと何というでしょうか?

特許申請などに多用される表現で「略円柱状」とか「略卵型」
という言葉の「略~」に相当する部分の英訳は正しくは何という
のでしょうか?

日本語でも一般的にあまり使わない表現ですので、英語でも
正しい専門用語があると思いますが、手元の辞書やネット検索
では見つかりませんでした。

よろしくお願いします。

Aベストアンサー

near-
または
nearly

参考URL:http://www.freepatentsonline.com/5460717.html,http://www.freepatentsonline.com/4108305.html

QExcel2013 VBA A列とB列の文字をA列とB列とC列に移動させる方法

A列とB列に文字が入っているのですが、下記のようにA列とB列とC列に文字を移動させたいです。
(A列の数字は必ず奇数のA列に入っています。)
VBAのコードを教えて下さい。

例えば
A1 1  B1 cat
A2 空白 B2 猫
A3 空白 B3 dog
A4 空白 B4 犬
A5 2  B5 whale
A6 空白 B6 クジラ
A7 3  B7 rabbit
A8 空白 B8 ウサギ

とデータがある場合

A1 1  B1 cat  C1 猫
A2 空白 B2 dog  C2 犬
A3 2  B3 whale  C3 クジラ
A4 3  B4 rabbit C4 ウサギ

としたいです。

実際、データは、A5196まであります。

Aベストアンサー

No.1です。

>実際、データは、A5196まであります。

前回のコードは一つずつカット&ペーストしていますので
かなりの時間を要すると思います。
↓のコードに変更してみてください。

Sub Sample2()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
Application.ScreenUpdating = False
With Range(Cells(1, "C"), Cells(lastRow, "C"))
.Formula = "=IF(MOD(ROW(),2)=1,B2,"""")"
.Value = .Value
.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
Application.ScreenUpdating = True
MsgBox "完了"
End Sub

少しは短縮できると思います。m(_ _)m

No.1です。

>実際、データは、A5196まであります。

前回のコードは一つずつカット&ペーストしていますので
かなりの時間を要すると思います。
↓のコードに変更してみてください。

Sub Sample2()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
Application.ScreenUpdating = False
With Range(Cells(1, "C"), Cells(lastRow, "C"))
.Formula = "=IF(MOD(ROW(),2)=1,B2,"""")"
.Value = .Value
.SpecialCells(xlCellTypeB...続きを読む

Q日曜日はnext week?土曜日は? 日本語では今週の日曜日と言いますが英語では一週ずれて表現さ

日曜日はnext week?土曜日は?

日本語では今週の日曜日と言いますが英語では一週ずれて表現されますか?
火曜日にthis Mondayといえば来週の月曜日でいいんでしょうか
もう過ぎた月曜日と混同されませんか?

Aベストアンサー

特に「今週の(または来週の)日曜」がよく誤解のもとになります。カレンダーでは日曜から始まる週もあれば月曜から始まるものもあります。誤解を避ける最善の方法は曜日だけでなく日付も付け加えることですが、もし曜日だけの場合 next の代わりに this coming を付けます。例えば next Sunday の代わりに this coming Sunday とすれば間違えようありません。 また過ぎ去ったばかりの、例えば日曜を this Sunday としないで this past Sunday または last Sundayとすれば間違えようがありません。

火曜にthis Monday とすると過ぎ去ったばかりのMondayと混同される可能性大です。来週の月曜はやはり next Monday か Monday next weekとしたほうがいいです。

QエクセルのワークシートAの1列目(A列)の日付と、ワークシートBの1列

エクセルのワークシートAの1列目(A列)の日付と、ワークシートBの1列目(A列)の日付を一致させて1つのワークシートに纏める方法を探しています。

2つの時系列データがあるのですが、データA(為替データ)とデータB(株式データ)のデータ管理方法が下記のように異なっています。

データA(為替データ)・・・1週間のうち6日間(月曜から土曜まで)
データB(株式データ)・・・1週間のうち5日間(月曜から金曜まで)

おのおのワークシートのA列に日付が入っています。

データAは月曜から土曜までなので、1週間に6行要します。データBは月曜から金曜なので1週間に要するのは5行です。従って、単純にこの2つのデータを張り合わせるだけでは(データBをデータAのシートに張り合わせた時)、1週間に要する行数が違うので1行ずつずれてしまいます。

1週間に要する行数の違いだけでなく、マーケットが休みの日はデータそのものがないため日付が存在しません。(マーケットの休みもおのおの別の日でバラバラです。)

これらの理由により、ただ単に張り合わせるだけだとずれが広がるばかりです。

そこでデータAの日付とデータBの日付を認識して一致させる関数を教えて欲しいと思います。

データAの構成はA1=日付、B1=始値、C1=高値、D1=安値、E1=終値で、データBの構成も同じです。
データAのF1にデータAのA1と同じ日付のデータBの行を貼り付るように設定したいと思っています。

説明が分かり辛い場合は補足しますので、その際はご指摘下さい。

宜しくお願いします。

エクセルのワークシートAの1列目(A列)の日付と、ワークシートBの1列目(A列)の日付を一致させて1つのワークシートに纏める方法を探しています。

2つの時系列データがあるのですが、データA(為替データ)とデータB(株式データ)のデータ管理方法が下記のように異なっています。

データA(為替データ)・・・1週間のうち6日間(月曜から土曜まで)
データB(株式データ)・・・1週間のうち5日間(月曜から金曜まで)

おのおのワークシートのA列に日付が入っています。

データAは月曜から土曜までなので、1...続きを読む

Aベストアンサー

誤記がありましたね。ごめんなさい。

シートCのA2に
2010/1/1
を置いて下向けにえいやっとオートフィルドラッグ,365日の日付を並べておいて
B2:為替
=IF(COUNTIF(為替!$A:$A,$A2),VLOOKUP($A2,為替!$A:$E,COLUMN(B2)),"")
を右に下にコピー。
F2:株式
=IF(COUNTIF(株式!$A:$A,$A2),VLOOKUP($A2,株式!$A:$E,COLUMN(B2)),"")
を右に下にコピー。

これでマーケットの開いてなかった日付がエラーになることもありませんので,追加のご質問も解消でしょうか。

Q英語の曜日や月を覚えるための歌

アルファベットを覚えるためのABCの歌みたいに英語の曜日や月を覚えるための歌ってありますか?できれば無料の音声ファイルがあるサイトをお教え頂けると嬉しいです。

Aベストアンサー

土居まさるの「カレンダー」という歌がありました。
http://plaza.rakuten.co.jp/ruzerukabu/diary/20071031/
http://dl.rakuten.co.jp/prod/800209110.html

ニールセダカのカレンダーガール
http://plaza.rakuten.co.jp/ageorge/diary/200311100000/
歌詞は
http://music.yahoo.com/Neil-Sedaka/Calendar-Girl/lyrics/799925

曜日はコーデッツのNever on Sundayか…
http://www.stlyrics.com/lyrics/dogma/neveronsunday.htm
ビングクロスビーのSUNDAY, MONDAY OR ALWAYS
http://www.mathematik.uni-ulm.de/paul/lyrics/bingcrosby/sunday~1.html
おや、土曜日がない…
しからば、ベイシティローラーズ、Saturday Night
http://www.singulartists.com/artist_b/bay_city_rollers_lyrics/saturday_night_lyrics.html

土居まさるの「カレンダー」という歌がありました。
http://plaza.rakuten.co.jp/ruzerukabu/diary/20071031/
http://dl.rakuten.co.jp/prod/800209110.html

ニールセダカのカレンダーガール
http://plaza.rakuten.co.jp/ageorge/diary/200311100000/
歌詞は
http://music.yahoo.com/Neil-Sedaka/Calendar-Girl/lyrics/799925

曜日はコーデッツのNever on Sundayか…
http://www.stlyrics.com/lyrics/dogma/neveronsunday.htm
ビングクロスビーのSUNDAY, MONDAY OR ALWAYS
http://www.mathematik.uni...続きを読む

QEXCEL: 日付のセルに1/2/3と入れると、2001/2/3と解釈されるが、2003/1/2と解釈させるには?

タイトルのとおりです。アメリカでは、1/2/3と書くと普通は2003年1月2日と解釈されます。
EXCELにて、 日付のセルに1/2/3と入れると、2001/2/3と解釈されますが、表示形式は2/3/01と指定できるにもかかわらず、入力形式は年/月/日と固定されていますよね。これは何とかならないでしょうか?
入力→解釈→表示が全て「月/日/年」と一貫していると、いちいち翻訳せずに済むのですが・・・。

Aベストアンサー

コントロールパネルの「地域と言語のオプション」で設定できます。

【手順(WinXPの場合)】
1.[スタートメニュー]-[設定]-[コントロールパネル]を選択
2.コントロールパネルの「地域と言語のオプション」を開く
3.「地域オプション」タブの「標準と形式」で「英語(米国)」を選択
4.[適用]ボタンを押す
5.[OK]ボタンで画面を閉じる
⇒Excelで「1/2/3」と入力すると「2003/1/2」と認識される

※Windows全体が手順3で選択した表示形式に変わります。

Qaicezukiの英語読み

最近話題のaicezukiさんについてですが、これを英語読みするとどう読むのでしょう?
きっかけは友人との会話です。
私はあれをラテン語読みでアイケズキと読んでました。
すると彼はアイスズキだと正して来ました。
何故そんな奇っ怪な読み方をするのか尋ねたところ、英語読みだ、と・・・。
しかし、英語読みをするならaiはエイと読むのでは・・・?zukiはそのままズキと読むのだろうか・・・?
というわけで、aicezukiの英語読みを教えてください。
エイス○○か何かになると思うのですが・・・。

Aベストアンサー

 下記の左肩に aicezuki と書きこんで20人ほどのネイティブが判じ読みをするのをご鑑賞下さい。アイスズキ、エイスズキ、アイスズーキ、など色々です。
 http://www.oddcast.com/home/demos/tts/tts_example.php

QA列とB列の重複を抽出したいのですがA列とB列の値は一部だけ同じ文字です。ご教示お願いします。

エクセル初心者です。重複を見つけるのが仕事です。いろいろやってみたのですがうまくできません。
お知恵をお貸しください。

A列には企業名が入力されています。
B列にも企業名が入力されていますが全く同じ文字ではないのです。

たとえばこういうことです。
A1 (有)雪見酒      B1  雪見
A2 株式会社豪雪地帯   B2 (株)豪雪地帯
A3 ゆきかき本舗     B3 (有)ゆきかき本舗

A列にある企業名とB列にある企業名が同じであればセルを塗りつぶすか○を表示させるように
したいのです。
重複を見つけるのが目的なので、ほかの方法でもかまいません。
すみません、A列のセルとB列のセルが全く同じ名前ならば重複が見つけられたのですが
ここから先がどうしてもわからないのです。。。
申し訳ありませんがどうか教えてください。。。

Aベストアンサー

No4です。以下のマクロを標準モジュールへ登録してください。
--------------------------------------------------
Option Explicit
Public Sub 重複チェック()
Dim maxrow1 As Long
Dim maxrow2 As Long
Dim row1 As Long
Dim row2 As Long
Dim nameT1() As String
Dim nameT2() As String
Dim t1, t2 As Variant
t1 = Time
maxrow1 = Cells(Rows.Count, "A").End(xlUp).row '最大行取得
maxrow2 = Cells(Rows.Count, "B").End(xlUp).row '最大行取得
ReDim nameT1(maxrow1)
ReDim nameT2(maxrow2)
Range("C1:" & "D" & maxrow2).Value = ""
Call makeTable(nameT1, "A", maxrow1)
Call makeTable(nameT2, "B", maxrow2)
For row1 = 1 To maxrow1
For row2 = 1 To maxrow2
If Cells(row2, "C") = "" Then
If Mymatch(nameT1(row1), nameT2(row2)) = True Then
Cells(row2, "C").Value = "○"
Cells(row2, "D").Value = row1
End If
End If
Next
Next
t2 = Time
MsgBox ("チェック完了 処理時間=" & Minute(t2 - t1) & "分" & Second(t2 - t1) & "秒")
End Sub
'余分な文字を削除した結果をテーブルに格納する
Private Sub makeTable(ByRef nameT() As String, ByVal col As String, ByVal maxrow As Long)
Dim row As Long
Dim ary As Variant
Dim name As String
Dim i As Long
ary = Array("㈱", "(株)", "株式", "(有)", "有限", "会社")
For row = 1 To maxrow
name = Cells(row, col).Value
For i = 0 To UBound(ary)
name = Replace(name, ary(i), "")
Next
nameT(row) = name
Next
End Sub
'企業名が一致かどうか判定する
Private Function Mymatch(ByVal name1 As String, ByVal name2 As String) As Boolean
Mymatch = False
Dim pos As Variant
pos = InStr(1, name1, name2, vbTextCompare)
If pos > 0 Then Mymatch = True
End Function
-----------------------------------------------------
一致の精度が悪ければその旨補足してください。
(一致すべきものが一致しない、一致してはいけないものが一致している)
100%解決できる保証はありませんが、多少のチューニングは行います。

No4です。以下のマクロを標準モジュールへ登録してください。
--------------------------------------------------
Option Explicit
Public Sub 重複チェック()
Dim maxrow1 As Long
Dim maxrow2 As Long
Dim row1 As Long
Dim row2 As Long
Dim nameT1() As String
Dim nameT2() As String
Dim t1, t2 As Variant
t1 = Time
maxrow1 = Cells(Rows.Count, "A").End(xlUp).row '最大行取得
maxrow2 = Cells(Rows.Count, "B").End(xlUp).row '最大行取得
ReDim ...続きを読む


人気Q&Aランキング

おすすめ情報