[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『12ヶ月表記を1年とするには?』(さくさく)
「DATEDIF」関数で2つの期間の年数(○年○ヶ月となるように設定)をもとめたのですが、
1年未満の年数は「0年12ヶ月」と表示されてしまうので、それを「DATEDIF」関数をこわさずに12ヶ月を超えたら「年」の方へ繰り上げるように設定するにはどうしたらよいでしょうか?
DATEIFの関数は月数を求めて、12以上であれば○年とするような式を指定しているのでしょうか?
もしそうならば比較が 12を含まず、13以上の判定になっていませんか?
開始日がA1、終了日がB1 にデータがあると仮定して、
表示させたいセルに =DATEDIF(A1,B1,"Y")&"年"&DATEDIF(A1,B1,"YM")&"ヶ月"
と指定しても、「1年0ヶ月」と表示されます。(すーさん)
すーさん様ありがとうございます。
実は、計算しないといけない年数が、特殊でして・・。
例)S50.3〜H15.1までの年数の表示
『S50.3(書式設定上では『西暦.月.日』でになるようんに設定しています)〜H15.1』までの
年数を「かぞえ」で表示しなければいけないので、
=DATEDIF(A1,B1,"Y")&"年"&DATEDIF(A1,B1,"YM")+1&"ヶ月"と指定しています。
それがいけないのでしょうか?『+1』をつけないでかぞえの年数を
出す方法はあるのでしょうか? (さくさく)
上記の例でしたら、「27年10ヶ月」となるところを「28年」と表示させたいということですか?
それでしたら、月数が「0ヶ月」以外のときに年数を+1すればよいのですから、
=IF(DATEDIF(A1,B1,"YM")=0,DATEDIF(A1,B1,"Y"),DATEDIF(A1,B1,"Y")+1)&"年"
と指定すればよいのではないでしょうか?(すーさん)
例の出し方と説明のしかたが悪くて申し訳ありません。
『1年12ヶ月』だったら『2年』・『27年12ヶ月』だったら『28年』となるように
『11ヶ月』まではそのままで、『12ヶ月』の場合のみ年数に繰り越すようにしたいのです。
何度もすみませんが宜しくおねがいします。(さくさく)
それでしたら、DATEDIF関数では「0年12ヶ月」は自動的に「1年0ヶ月」になりますので、
「0ヶ月」のときにのみ「年」だけの表示にすればよいのですから、
=IF(DATEDIF(J35,K35,"Ym")=0,DATEDIF(J35,K35,"Y")&"年",DATEDIF(J35,K35,"Y")&"年"&DATEDIF(J35,K35,"YM")&"ヶ月")
と指定すればできます。
ただ、月での比較となりますので、仮に 2003/3/1〜2003/3/31 の場合は「0年」となります。
これを「0年1ヶ月」と表示するには、判断のIF文を追加しなければならないと思います。(すーさん)
すーさん様回答ありがとうございます。
おかげできちんと表示されました。
もう一つ質問なのですが・・この関数でだした年数の合計をだしたいのですが・・
どのようにすればよいのでしょうか?
集計の必要があるのでしたら、"年"をつけたのでは集計できないと思いますので、
数字だけにして、"年"を隣の列にすることはできるのでしょうか?
そうすれば縦集計で、SUM(開始セル番号:終了セル番号)で合計年数を出せます。(すーさん)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.