- ベストアンサー
エクセルで年月の合計の関数を教えてください。
エクセルで2つの日付から年月数を求める関数(=TEXT(DATEDIF(A1,BI,"Y"),"0年;;")&TEXT(DATEDIF(A1,B1,"YM"),"0ヶ月;;")で出た期間の合計を出す関数を教えてください。(たとえば,2年6ヶ月と1年3ヶ月を足し,3年9ヶ月となるように) よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
=TEXT(DATEDIF(A1,BI,"Y"),"0年;;")&TEXT(DATEDIF(A1,B1,"YM"),"00ヶ月;;") で月を2桁表示なら =TEXT(SUMPRODUCT(SUBSTITUTE(SUBSTITUTE(E7:E8,"年",""),"ヶ月","")*1),"0年00ヶ月") で3年09ヶ月になります。ただし12ヶ月以上になる場合に繰上げされません。 年=DATEDIF(A1,BI,"Y")と月=DATEDIF(A1,B1,"YM")を分けてもらえれば、 年=SUM(年の範囲)+INT(SUM(月の範囲)/12) 月=MOD(SUM(月の範囲),12) で計算できます。 ※「年」「ヶ月」はセルの書式設定の表示形式をユーザー定義で「0年;;」「0ヶ月;;」で表示してください。
その他の回答 (3)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 >(たとえば,2年6ヶ月と1年3ヶ月を足し,3年9ヶ月となるように) 日付の差と差を合計するというのは、期間が重なる場合は、重複していますから、以下のような場合は本来できませんが、単に足し算の場合は、このようにできるかと思います。なお、日付まで出す場合は、また違ってきます。 A B 1 1999/05/01 2001/12/21 2 1998/10/01 2002/06/03 =INT((B1-A1+B2-A2)/365)&"年"&INT(MOD((B1-A1+B2-A2),365)/30)&"ヶ月"
- shiotan99
- ベストアンサー率68% (140/203)
こんにちは~ 作業列を使ってもよろしければ以下の方法をお試しください。 ここでは例として D列を作業列にします。 A列が開始日、B列が終了日 1 ~ 2行目に質問にある数式が入っているとして、 ◆ D1セルに =IF(COUNT(A1:B1)<2,"",DATEDIF(A1,B1,"M")) と入れて、D2にコピー( それぞれの期間の月数が表示されます ) ◆ 期間の合計を出すセルに =INT(SUM(D1:D2)/12)&"年"&MOD(SUM(D1:D2),12)&"ヶ月" または、質問にある数式のように 0年とか 0ヶ月は非表示にしたいなら、 =TEXT(INT(SUM(D1:D2)/12),"0年;;")&TEXT(MOD(SUM(D1:D2),12),"0ヶ月;;") と入れてください。 D1:D2 の部分( 2ヶ所 )は、実際の表に合わせて変更してください。 作業列が目障りなら非表示にしてください。
お礼
ありがとうございます。でも,うまくいきませんでした。。。 やり方がわるいんですかね~
補足
とりあえずこの方法でやってみます。
- tomy06
- ベストアンサー率25% (58/224)
この式では、文字列に変換した後なので関数一発で変換は難しいと思います。 ちょっと面倒くさいですが、簡単な方法として、 A1-->開始日,B1-->終了日と仮定して C1=DATEDIF(A1,BI,"Y" D1=DATEDIF(A1,B1,"YM") E1=TEXT(C2,"0年;;")&TEXT(D2,"0ヶ月;;") と分ければ計算できるのではないでしょうか
補足
できれば,分けずに計算できる方法がないかと思いまして。
お礼
ありがとうございました。でも,うまくいきません。説明が足りなかったのかと思いますので,いったん締め切りさせていただきます。