- 締切済み
エクセルで曜日を表示したい
いつもお世話になります。 エクセルのことで教えてください。 WEEKDAY関数を使って、A3セルに曜日を表示させたいと考えています。 (1)西暦は、A1セルでプルダウンで選ぶことになっています。 プルダウンから「2017,2018,2019」という具合で選べます。 (2)月日は、A2セルに手入力で4桁の数字を入力することになっています。 7月21日であれば、「0721」という具合で手入力します。(先頭の0は消えてしまいますが・・・) さて本題ですが、 A1セルとA2セルの情報を引っ張って、A3セルに、weekday関数で曜日を反映させる方法を教えてください。 なおA4やA5セル等、余白セルはありますので、他のセルや他のシートを経由することも可能です。 どうぞよろしくお願いいたします。
- みんなの回答 (8)
- 専門家の回答
みんなの回答
- tsubu-yuki
- ベストアンサー率46% (179/386)
まぁ、ご本人ももう見ないかなと思いつつ、 直接の回答ではありませんが・・・ > 「0721」という具合で手入力します。 > (先頭の0は消えてしまいますが・・・) 消えないようにしたいなら、 A2の表示形式を「0000」あるいは文字列にしてしまうのが 手っ取り早いですね、という老婆心。 あとは、入力の形式が「7/2 ⇒ 72」じゃないことだけを祈りつつ A3セル:=(A1&"/"&INT(A2/100)&"/"&RIGHT(A2,2))*1 ※表示形式「aaa」「aaaa」のどちらか という書き方もありますね。 まぁ、4桁と書いてあるから大丈夫かな。
- lovelykajiyan
- ベストアンサー率34% (65/190)
- lovelykajiyan
- ベストアンサー率34% (65/190)
- msMike
- ベストアンサー率20% (364/1804)
- imogasi
- ベストアンサー率27% (4737/17069)
データはA1:B3に下記のようにあるとする。C列は下記関数の結果。 A列 B列 C列 2017 212 2017/2/12 2017 1023 2017/10/23 2017 501 2017/5/1 C1の関数は =DATE(A1,MID(B1,1,LEN(B1)-2),RIGHT(B1,2))と入れて 下方向に式を複写。 結果は上記のC列。 C列のセルの書式(標示形式)をホームー書式ーセルの書式設定ーユーザー定義 でaaa(aaaaとすると月曜日のように表示される)。 日付も残すのならC列の隣D列にでも=C1などにして、下に式を複写し、 表示形式を前記のように設定すればよい。 本件では、WEEKDAY関数は必要ない。 == よく見ると、質問では縦方向のセルに曜日などを出すようなので、そのように改めてください。
- bunjii
- ベストアンサー率43% (3589/8249)
>WEEKDAY関数を使って、A3セルに曜日を表示させたいと考えています。 WEEKDAY関数は日付(年月日のシリアル値)から導かれる7種の数値なのでWEEKDAY関数のみでは曜日の文字列を取得できません。 また、曜日と言っても月曜日なのか月なのかで処理の方法が異なります。 WEEKDAY関数とINDEX関数を組み合わせる場合やVLOOKUP関数と組み合わせる場合は数式内または未使用セルの範囲へ配列データを用意しなければなりません。 他の関数(CHOOSE関数、MID関数)との組み合わせでも曜日を表すデータを数式または未使用のセル範囲に用意することが必要です。 >A1セルとA2セルの情報を引っ張って、A3セルに、weekday関数で曜日を反映させる方法を教えてください。 >なおA4やA5セル等、余白セルはありますので、他のセルや他のシートを経由することも可能です。 INDEX関数とWEEKDAY関数、DATE関数、INT関数、MOD関数を組み合わせる方法では次のような数式で良いと思います。 A3=INDEX({"月";"火";"水";"木";"金";"土";"日"},WEEKDAY(DATE(A1,INT(A2/100),MOD(A2,100)),2)) CHOOSE関数との組み合わせの場合は次のようになります。 A3=CHOOSE(WEEKDAY(DATE(A1,INT(A2/100),MOD(A2,100)),2),"月","火","水","木","金","土","日") MID関数との組み合わせでは次のようになります。 A3=MID("月火水木金土日",WEEKDAY(DATE(A1,INT(A2/100),MOD(A2,100)),2),1)
- yoko14820
- ベストアンサー率29% (21/71)
weekday関数を使わない方法は、回答1の内容をご覧いただくとして、 ご質問の内容である、weekday関数を利用した場合の回答です。 (1)まず、A3セルに下記のように記載します =IF(ISERROR(WEEKDAY(A1&"/"&IF(A2>=1000,LEFT(A2,2),LEFT(A2,1))&"/"&RIGHT(A2,2))),"エラーです",WEEKDAY((DATE(A1,IF(A2>=1000,LEFT(A2,2),LEFT(A2,1)),RIGHT(A2,2))))) ※途中改行しておりますが、改行なしでセルに入力してください。 数式の中でエラーですと記載している場所は、たとえば、A1=2017、A2=999などのありえない日付(=2017/9/99になる)になる場合のエラー表示となります。 エラーですの表記をお好きなように記載しなおしていただければと思います。 (2)次に、A3セルを右クリックし、「セルの書式設定」で、「表示形式」タブの「分類」をユーザー定義にしていただき、テキストボックスにaaaもしくはaaaaと入力してOKを押してください。 aaaだと、曜日が1文字表示(月とか火)、aaaaだと曜日が3文字表示になります。(月曜日とか日曜日)
- Chiquilin
- ベストアンサー率30% (94/306)
> WEEKDAY関数を使って、A3セルに曜日を表示させたいと考えています。 曜日の計算に WEEKDAY関数は必要ありません。 =TEXT(TEXT(A1*10^4+A2,"0-00-00"),"aaa") 「aaa」以外の表現は 「表示形式 ユーザー定義」で検索すれば色々見つ かるはずです。