• 締切済み

エクセルで、複数年にまたがる期間を、年ごとに日数計算できないかと思って

soixanteの回答

  • soixante
  • ベストアンサー率32% (401/1246)
回答No.1

私なら、年数がまちまちになるのなら、マクロを使ってみます。 マクロはお使いになれますか? 念のためご存じないことを想定して以下に記します。 セッティング 【1】新規シート上で、Alt+ F11 (VBA画面があきます) 【2】Alt + I 、M (真っ白な画面が開きます) 【3】以下の点線から点線までをコピーし、その真っ白画面に貼る。 '--------------------------------------------------------------------- Sub 日数計算() Dim r As Integer, c As Integer, p As Integer Dim Stday As Date, Edday As Date On Error GoTo ErrShori Stday = Cells(1, 1).Value Edday = Cells(1, 2).Value Range(Cells(2, 1), Cells(Rows.Count, 3)).ClearContents Cells(1, 3).ClearContents If Stday > Edday Then    MsgBox "開始日と終了日の設定が間違っています。"  Exit Sub ElseIf Stday = Edday Then  Range(Cells(2, 1), Cells(2, 2)).Value = Stday  Cells(2, 3).Value = 0 ElseIf Year(Stday) = Year(Edday) Then  Cells(2, 1).Value = Stday  Cells(2, 2).Value = Edday  Cells(2, 3).Value = Cells(2, 2).Value - Cells(2, 1).Value + 1 Else  p = Year(Edday) - Year(Stday) + 1  Cells(2, 1).Value = Stday  Cells(2, 2).Value = DateSerial(Year(Stday), 12, 31)   Cells(2, 3).Value = Cells(2, 2).Value - Cells(2, 1).Value + 1  For r = 2 To p    Cells(r + 1, 1).Value = DateSerial(Year(Stday) + r - 1, 1, 1)   Cells(r + 1, 2).Value = DateSerial(Year(Stday) + r - 1, 12, 31)   Cells(r + 1, 3).Value = Cells(r + 1, 2) - Cells(r + 1, 1) + 1  Next r  Cells(p + 1, 2).Value = Edday  Cells(p + 1, 3).Value = Cells(p + 1, 2) - Cells(p + 1, 1) End If Range(Columns(1), Columns(2)).NumberFormatLocal = "ggge年m月d日" Columns(3).NumberFormatLocal = "0" With Cells(1, 3)  .Value = Application.WorksheetFunction.Sum(Range(Cells(2, 3), Cells(Rows.Count, 3)))  .NumberFormatLocal = "#,###" End With Exit Sub ErrShori: MsgBox "エラーのため終了します" End Sub '--------------------------------------------------------------------- 【4】Microsoft Visual Basic 画面を閉じて、エクセルに戻る。 セッティングは以上で終わり。 使用方法 【1】A1セルに、開始日を入力 例えば 2008/3/1 と入れる 【2】B1セルに、終了日を入力 例えば 2009/5/10 と入れる 【3】Alt + F8 を押す 【4】日数計算  を選択して、実行。「日数計算」をダブルクリックでも可。 試しに、A1セルに、ご自分の誕生日を、B1セルに、本日を入力した上で、実行してみてください

jyango1
質問者

お礼

回答、ありがとうございます。 VBAはほとんど知識がありません。 実際に使う場合、日付を入力する予定のセル場所はRICI形式でStday = Cells(1, 1).Value Edday = Cells(1, 2).Valueの部分を変えればいいのでしょうか?

関連するQ&A

  • エクセルの日数計算について

    エクセル初心者です。 日数を求める計算式を教えてください。年とかではなく、○○日という計算です。 例えば、 平成10年2月1日 平成21年5月5日 という2つの日数を求めるのですが、求めるときに H11・12・31以前 ○○日 H12・1・1~H13・12・31 ○○日 H14・1・1~H18・12・31 ○○日 H19・1・1~H19・12・31 ○○日 H20・1・1~H20・12・31 ○○日 H21・1・1~          ○○日 と上記の期間をそれぞれ求める式を教えてください。 よろしくお願いします

  • エクセルで作業期間の日数を計算したい

    エクセルについて質問です。 セルA1に開始日(例:2012/2/20) セルC1に終了日(例:2012/5/12)を入力し、この期間の日数(○○日間)を 計算する方法を教えて下さい。 更にこの期間で、「土日祝日を除いた日数(平日のみの日数)」と 「日曜祝日を除いた日数(平日+祝日でない土曜日の日数)」を算出する方法も教えて下さい。 ちなみに作業日数を計算するのに、DAYS360関数を使ってみましたが、 1年を360日として計算するので、正確な日数になりません。 また、曜日や休日が絡むとどんな関数を使えば良いのか全くわかりません。 よろしくお願いいたします。

  • 日数計算ソフト

    例)平成11年9月1日から平成16年8月3日まで日数は何日間か、、、のように計算できるフリーソフトもしくはエクセルの計算式などご存知の方はいらっしゃいませんか?

  • エクセルで日数計算

    エクセル2003で、 A1に「5月10日」 B1に「8月3日」 と入力したとして C1に5月10日~8月3日までの日数(両端入れ) で自動的に計算してくれる関数ってありますか? よろしくお願いします。

  • エクセルで日数を計算したいんですが、

    エクセルで日数を計算したいんですが、 「月」と「日」を別のセルに入れています。 A1セル=月 B1セル=日 (例) A1セル B1セル 4月     10日 5月     13日 この4月10日から5月13日の間の日数を数えたいのですが セルが分かれていても計算することって可能ですか? 初歩的な質問で恐縮ですが教えて下さい! よろしくお願いします!

  • エクセルで期間から期間を足したり引いたりする方法を教えてください

    期間から期間を引く計算方法を教えてください ○年○ヵ月○日から○年○ヵ月○日を引いて○年○ヵ月○日を表示する方法を教えてください。 たとえば、勤続年数が31年6ヵ月15日(A1)で休職期間が1年8ヶ月21日(A2)あった場合、実際に勤務についていた日数を祭日に関係なく、○年○ヵ月○日(A3)と表示させたい。 入社日  昭和52年9月16日 退社日  平成21年3月31日 在籍期間  31年6ヵ月15日 休職開始日 平成18年1月8日 休職終了日 平成19年9月29日 休職期間   1年8ヶ月21日 期間計算の方法はEXCELのDATEDIF関数で出してます。 期間同士を足したり引いたりする方法を教えてください。

  • 日数計算について

    たとえば平成11年5月31日~15年6月31日までとあるとします。その間の日数を計算したいのですが簡単な求め方を教えてください。お願いします!

  • エクセル 平日の日数

    エクセルで、年月を入力するだけで その入力された月の平日の日数(土日・祝日を除いた日数)が 自動に入力される方法ってありますか? つまりA2に『平成21年1月』と入力すると    A3に『20』と出てくる と、いう感じ。 さらに、年と月を違うセルに入力(年は年度もあり)した時はどうでしょうか? つまりA1に『平成20年度』    A2に『1月』    と入力すると    A3に『20』と出てくる。 と、いう感じです。 もしおわかりの方がいらっしゃいましたらぜひ教えてください。

  • Excel 日数計算について

    Excelの日数計算について質問です。 H18.9.20(A2)からH19.2.22(B2)の期間を月数と残りの日数で表示すると =DATEDIF(A2,B2,"M")&"月" =DATEDIF(A2,B2,"MD")&"日" ここまでは何とかできましたが、 上記期間の1/2、及び1/3の月数と残日数を整数(端数は切捨て)で表示するにはどのような式が必要でしょうか? 月数は=DATEDIF(A2,B2,"M")で求めた月を1ヶ月30日で計算します。 よろしくご指導お願いします。

  • EXCELの日数計算

    各セルごとに平成 23 年 12 月 20 日 から 平成 23 年 12 月 25 日と15のセルに入力されたシートですがこれの日数を出すのはどうしたらいいでしょうか 教えてください。EXCEL2007を使用しています。