dポイントプレゼントキャンペーン実施中!

エクセルで、期間数の集計をしようとしているのですが、どなたか合計の仕方を教えてください。

表示は、

○年○ヶ月
○年○ヶ月

の合計でもよいですし、

13.2
14.11
10.8

の表示で、月数が12ヶ月以上になったときにきちんと年数に加算されるような計算式を教えてください。
お忙しいところすみませんがよろしくご教示ください。

A 回答 (5件)

過去ログに、私の解答があります。


参考にどうぞ
http://okwave.jp/kotaeru.php3?q=1864271

参考URL:http://okwave.jp/kotaeru.php3?q=1864271

この回答への補足

お世話になります。
私の質問が言葉不足ですみませんでした。
質問の
13.2
14.11
10.8
とは、
13年2ヶ月
14年11ヶ月
10年8ヶ月
という意味で、それの合計期間を37・21と表示させずに、38・9(38年9ヶ月)になりませんか?
という意味だったのですが。。。
もしお分かりになればお教えください。

補足日時:2006/02/20 17:29
    • good
    • 0

s_husky です。



どうして、1.12という入力であれば...

Public Function SumYYMM(ByVal shtName As String, ByVal strRange As String) As Integer
  Dim A As Range
  Dim Y As Integer
  Dim YY As Integer
  Dim MM As Integer
 
  For Each A In Worksheets(shtName).Range(strRange)
    Y = Int((A.Value*100) / 100) * 100
    YY = YY + Y
    MM = MM + (A.Value*100) - Y
  Next A
  SumYYMM = (YY + (MM \ 12) * 100 + MM Mod 12)/100
End Function

0.12 とうを合算していくと 1.56なども発生します。
この場合、1=100ヶ月ということになります。
整数部と少数部を別々に計算せざるをえない理由です。
    • good
    • 0
この回答へのお礼

s husky様
お忙しいところ、何度も教えていただきありがとうございます。教えていただいたのはプログラムでしょうか?
折角教えていただいたのに、私の知識不足で理解が出来ませんでした。すみません。
本当にありがとうございました。

お礼日時:2006/02/22 09:42

#3です。


13.02
14.11
10.08
のように
小数点以下2桁で月を表す時
A1:A10の範囲に該当データがあるとすると
以下のような感じで良いと思います。
=SUMPRODUCT(TRUNC(A1:A10))+INT(SUMPRODUCT(MOD(A1:A10,1))/0.12)+MOD(SUMPRODUCT(MOD(A1:10,1)),0.12)
    • good
    • 0

質問文のような書式で入力する場合


1年1ヶ月と1年10ヶ月はどちらも
1.1
となって区別がつかないように思いますが・
    • good
    • 0

A1:入力[1201]-->表示[12年01ヶ月]


A2:入力[_110]--->表示[_1年10ヶ月]
A3:入力[__12]--->表示[_0年12ヶ月]

A10: SUM((A1:A9) ---> 13年23ヶ月

と表示されます。

A10:sumyymm("Sheet1", "A1:A9") ---> 14年11ヶ月

という解決を欲するのであれば、
計算式ということでは、割りと面倒なようです。
VBAで関数を作成すると、次のようで事足りると思います。

Public Function SumYYMM(ByVal shtName As String, ByVal strRange As String) As Integer
  Dim A As Range
  Dim Y As Integer
  Dim YY As Integer
  Dim MM As Integer
 
  For Each A In Worksheets(shtName).Range(strRange)
    Y = Int(A.Value / 100) * 100
    YY = YY + Y
    MM = MM + A.Value - Y
  Next A
  SumYYMM = YY + (MM \ 12) * 100 + MM Mod 12
End Function
    • good
    • 0

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