• 締切済み

エクセル【年月を入力→曜日に対応した日付を表示】

以前自分で作ったのですが、すっかり忘れてしまいましたので、恥ずかしながらご回答いただければと思います。 a1に任意の西暦、b1に任意の月を入力するものとします。 2行目は、a2から右へ日月火水木金土日月・・・・と入力してあり、これは変えません。 (a2=日、b2=月、c2=火、d2=水、e2=木、f2=金、g2=土、h2=日・・・という具合です) 3行目に年月と曜日に対応した日付を表示したいのです。 例えば、2011年1月の1日が土曜日だとすると、「a1に2011」「b1に1」と入力した場合に、 a3からf3までは空白でg3から1日が表示されるようにしたいのですが。

  • ringe
  • お礼率5% (1/17)

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

○ご質問に書かれたとおりA1に年,B1に月,A2から日,月,火…の場合 A3に =IF(OR(COUNT($A$1:$B$2)<2,COLUMN()<WEEKDAY(DATE($A$1,$B$1,1)),MONTH(DATE($A$1,$B$1,COLUMN()-WEEKDAY(DATE($A$1,$B$1,1),2)))>$B$1),"",COLUMN()-WEEKDAY(DATE($A$1,$B$1,1),2)) を右にコピー ○もっと簡単なケース わざわざA列にびったりくっつけたりしないで B1に年,C1に月,B2から日,月,火…の場合 B3に =IF(OR(COUNT($B$1:$C$1)<2,COLUMN(A3)<WEEKDAY(DATE($B$1,$C$1,1)),MONTH(DATE($B$1,$C$1,COUNT($A$3:A3)+1))>$C$1),"",COUNT($A$3:A3)+1) を右にコピー #ご質問に書いていない,当月末日以降(つまり翌月1日以降)は表示しないとか,年と月がちゃんと入っていないと全部表示しないといった手当てをしているので余計に式が増えています。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 一例です。 C1セルにその月の1日のシリアル値を表示させておきます C1セルは =DATE(A1,B1,1) (これが目障りであればフォントを白にしておけば気にならないと思います) そしてA3セルに(セルの表示形式はユーザー定義から d としておきます) =IF(MONTH($C$1-WEEKDAY($C$1)+COLUMN(A1))=$B$1,$C$1-WEEKDAY($C$1)+COLUMN(A1),"") という数式を入れ、列方向にずぅ~~~!っとオートフィルでコピーではどうでしょうか? エラー処理はしていません。 他に良い方法があればごめんなさいね。m(__)m

関連するQ&A

  • エクセルで漢字入力した曜日から0111110に

    お世話になります。 エクセル関数で、複数セルに曜日を漢字入力してそこから7桁の0と1の数字を出したいと思っています。 曜日入力欄はa2,b2,c2,d2で漢字の「日月火水木金土」のどれかか空白の状態になっていてd1に7桁の数字を持ってこれれば最高なのですが、ご存知の方いれば教えてください。 (例えばa2に”日”,b2に”月”,c2とd2が未入力の場合、d1に"0111110"と表示される。) ちなみに曜日入力欄はe列以降も横に12か月分並びます。 最終的にNETWORKDAYS関数で使用したいためです。 よろしくお願いします。

  • エクセル97で年月日を入力したら各月日が自動入力

      ABCDE           MNOPQ 1 2002/11/1 2   11月             12月 3 12345~          12345~ 4 金土日月火 計 累計   日月火水木  計 累計 5 3 1 5 2 3 14 14 上記のように、毎月の人数の集計表で横並びに毎月の集計 表があります A1のセルに2002/11/1と入力したら、毎月の表の最初の列 以降に、その月の日と曜日が横並びに表示され、その上に その月が自動的に入力出来る方法が分かりません 特に次の月からがどうすれば出来るか分かりません 出来れば関数で何とか作成したいのでご教授お願いします   

  • エクセル2003で年月を入力すると自動的に縦書きの日付と曜日が表示されるような関数を

        A    B    C 1  2008(年) 2  5(月) 3   1    金 4   2    土 5   3    日 「A1に西暦とA2に月を入力すると以下のように日付曜日が入るように」 「2月や31日までないような月にも対応できるようにお願いします

  • 悩んでいます

    今年のカレンダーを表示(1月~12月)する方法なんですが 今自分の中では      1月     2月      3月   日月火水木金土  月火水木金土  月火水木金土       12345      12       1   678・・・   3456・・・2345・・・ といった感じで作っていこうと考えています。 考え方としては 月初めの空白 日付の表示 土曜日で改行 最後に改行 これを3か月分繰り返しで表示させる。 といったところで煮詰まっています。あとは何が足りないのでしょうか?

  • エクセルの曜日表示が正しく表示されない

    例えば、A1に 「2013/10/1」 と入力し B1に 「WEEKDAY(A1)」 と入力した際、 B1に表示されるのは、 「火」 と表示されるはずなのですが、 なぜか「月」と表示されます。 他の日付にしても全てずれております。 エクセルか何かの設定がおかしいのでしょうか? コントロールパネルの日付、時刻、地域と言語のオプション内、地域のオプションのカスタマイズの日付 カレンダーの種類は 西暦(日本語)となっております。

  • オートコンプリートの表示順は変更できる?

    Web上の入力フォームに曜日を入力するのに オートコンプリート機能を使っていますが、 履歴の表示が、あいうえお順のため、 「火金月水土日木」になっています。 「日月火水木金土」に並べ替えたいのですが 何か方法はあるでしょうか?

  • Excelで 土日以外の曜日のセルをカウントできますか?

    エクセル2002使用で至急教えていただきたいことがあります! 1列に曜日が「月火水木金土日月・・」と順番に1か月分並んでいるのですが、そのなかで「土日以外のセルの数」をカウントしたいのです。 Countif関数を使用してこのような結果を出せるのでしょうか?? すみませんが、どうぞよろしくお願いいたします!!

  • 自動で日付、曜日を表示した

    エクセルで、例えば A1セルに西暦、B1セルに月を入力すれば A3セルから順に下に日付(1日 2日 3日・・・) B3セルから順に下に曜日(例えば今月なら金 土 日) というように自動的に表示できるようにしたいのですか 可能でしょうか? マクロを使えばいいのでしょうか? 可能ならやり方を教えてください。 よろしくお願いします!

  • 開始曜日・時刻~終了曜日・時刻の日時の表示

    最初に、VBA(マクロ)を使用せず関数のみで表示したいです。 やりたいことは、 入力した夏時間の開始曜日・開始時刻から終了曜日・終了時刻まで、 または、 冬時間の開始曜日・開始時刻から終了曜日・終了時刻までの日本時間としての表示、時間外は空白にしたいです。 では、詳しいことを下記に記載していきます。 ---------------------------------------------------------------------------------------------------- 「元データ」シートというシートから「計算」シートというシートのA2以下にGMT±0の日時の計算式が入っており、「計算」シートというシートのB2以下に日本時間としての日時の計算式が入っています。 基本的には1分ずつのデータが入っています。 データ量が多すぎるため約1年分の計算式が入っています(400000行)。 ■「計算」シートのA2の計算式(GMT±0の日時): =IF(ISBLANK(元データ!$A2),"",DATE(YEAR(TEXT(SUBSTITUTE(LEFT(元データ!$A2,FIND(",",元データ!$A2,1)-1),"-","/"),"YYYY/MM/DD HH:MM")),MONTH(TEXT(SUBSTITUTE(LEFT(元データ!$A2,FIND(",",元データ!$A2,1)-1),"-","/"),"YYYY/MM/DD HH:MM")),DAY(TEXT(SUBSTITUTE(LEFT(元データ!$A2,FIND(",",元データ!$A2,1)-1),"-","/"),"YYYY/MM/DD HH:MM")))+TIME(HOUR(TEXT(SUBSTITUTE(LEFT(元データ!$A2,FIND(",",元データ!$A2,1)-1),"-","/"),"YYYY/MM/DD HH:MM")),MINUTE(TEXT(SUBSTITUTE(LEFT(元データ!$A2,FIND(",",元データ!$A2,1)-1),"-","/"),"YYYY/MM/DD HH:MM")),)) ■「計算」シートのB2の計算式(日本時間としての日時:GMT+9): =IF($A2="","",IF(OR(基本設定不変!$E$3="無",AND(IF(ISNUMBER(基本設定不変!$G$3),MONTH(DATE(YEAR($A2),基本設定不変!$F$3,8-WEEKDAY(YEAR($A2) & "/" & 基本設定不変!$F$3,FIND(基本設定不変!$H$3,"日月火水木金土")+10)+(基本設定不変!$G$3-1)*7))=基本設定不変!$F$3,基本設定不変!$G$3="最終"),IF(ISNUMBER(基本設定不変!$L$3),MONTH(DATE(YEAR($A2),基本設定不変!$K$3,8-WEEKDAY(YEAR($A2) & "/" & 基本設定不変!$K$3,FIND(基本設定不変!$M$3,"日月火水木金土")+10)+(基本設定不変!$L$3-1)*7))=基本設定不変!$K$3,基本設定不変!$L$3="最終"))),TEXT($A2+IF(AND(基本設定不変!$A$3=9,基本設定不変!$B$3=9),基本設定不変!$A$3/24,IF(AND(基本設定不変!$A$3<>基本設定不変!$B$3,DATE(YEAR($A2),基本設定不変!$F$3+(基本設定不変!$G$3="最終"),8-WEEKDAY(DATE(YEAR($A2),基本設定不変!$F$3+(基本設定不変!$G$3="最終"),1),FIND(基本設定不変!$H$3,"日月火水木金土")+10)+(SUM(基本設定不変!$G$3)-1)*7)+基本設定不変!$I$3<=$A2+9/24,$A2+9/24<=DATE(YEAR($A2)+IF(ISERROR(FIND("翌",基本設定不変!$J$3,1)),0,1),基本設定不変!$K$3+(基本設定不変!$L$3="最終"),8-WEEKDAY(DATE(YEAR($A2)+IF(ISERROR(FIND("翌",基本設定不変!$J$3,1)),0,1),基本設定不変!$K$3+(基本設定不変!$L$3="最終"),1),FIND(基本設定不変!$M$3,"日月火水木金土")+10)+(SUM(基本設定不変!$L$3)-1)*7)+基本設定不変!$N$3),基本設定不変!$A$3/24,基本設定不変!$B$3/24)),"YYYY/MM/DD HH:MM")+0,"変換不能")) 「計算」シートの表示結果例: A2:2013年01月02日 04:07、B2:2013年01月02日 13:07 A3:2013年01月02日 04:08、B3:2013年01月02日 13:08 A4:2013年01月02日 04:09、B4:2013年01月02日 13:09 A5:2013年01月02日 04:10、B5:2013年01月02日 13:10 A6:2013年01月02日 04:11、B6:2013年01月02日 13:11 もっと記載しなければならないことがあるのですが文字数が足りないため、質問名「開始曜日・時刻~終了曜日・時刻の日時の表示2」にて記載したいと思います。 「開始曜日・時刻~終了曜日・時刻の日時の表示2」も見て頂き、回答をいただきたいと思います。 よろしくお願いします。

  • エクセルで曜日を自動で表示させる

    苦戦してます。教えて下さい   A   B  C  D   E  F   G  H   I 1 平成 21 年  4  月  4  日  ■  曜日 2 3 上のように表を作成し A2セルに =A1&B1&C1&D1&E1&F1&G1 と入力し 平成21年4月4日と表示させました。 A3セルには =A2 と入力し、セルの書式設定を aaa にして曜日を表示させようとしたんですが、平成21年4月4日 としか表示されません。 最終的にはH1セルに =A2を入力して曜日を自動表示させるつもりでいたんですが、どうすればうまくいくのでしょうか?

専門家に質問してみよう