• ベストアンサー

■エクセルで期間計算の時、0ヶ月を表示させない関数

みなさん初めまして。 これが初めての投稿です。どうぞよろしくお願いいたします。 現在、幼稚園の卒園式に子供に渡す卒業証書を作成しております。 子供たちの入園期日からの在園期間を求める関数はこちら http://oshiete1.goo.ne.jp/kotaeru.php3?q=1722152 を参考にさせていただき、完璧にできました。ありがとうございます。 このデータをもとにワードで作成した卒業証書に・・・ 「あなたは何年何か月間、げんきに・・・」と差し込みさせるのですが、ここで問題?発生。 エクセルデータはたとえば5年0か月となり、差し込み結果もその通りに表示されてしまいます。 ■これを5年丁度なら5年だけを表示させるための関数追加は可能なものでしょうか? ■また、証書が縦書きなので、漢数字へ表示させることも可能でしょうか? (例5年11ヶ月の場合、五年十一ヶ月と表示させる) 現在の期間計算の関数は次のとおりです。 =TEXT(INT((DATEDIF(DATE(YEAR(A1),MONTH(A1),1),DATE(YEAR(B1),MONTH(B1),1),"m")+1)/12),"#0"))&"年 "&JIS(TEXT(MOD((DATEDIF(DATE(YEAR(A1),MONTH(A1),1),DATE(YEAR(B1),MONTH(B1),1),"m")+1),12),"#0")&"ヶ月" あと数週間後に卒園式が迫り少しばかり焦っております。 どうかよろしくお願いいたします。 ちなみに・・昨年までは、一人ずつ期間は手書きで証書へ直接書いておりました・・(汗

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

前の質問も拝見しましたが、式を自分のPCに貼り付けたらエラーになったので式も自作しています =TEXT(INT((DATEDIF(A1-DAY(A1)+1,B1-DAY(B1)+1,"M")+1)/12),"[DBNUM1][>0]0年;#")&IF(MONTH(A1)=MONTH(B1)+1,"",TEXT(MOD(DATEDIF(A1-DAY(A1)+1,B1-DAY(B1)+1,"M")+1,12),"[DBNUM1]")&"ケ月") 結果はこうなります 2005/5/1  2008/3/1  二年十一ケ月 2005/4/1  2008/3/20  三年 2008/3/31  2008/4/1  二ケ月

EST_GSR55W
質問者

お礼

早速のご回答、大変に助かります。 私の求めているもの、すべてが完璧にできました! 本当にありがとうございます。 来週初めには完成していないといけませんでしたので、今日は徹夜かな~ と覚悟していましたが、本当に助かりました。ありがとうございました。 [DBNUM1]を関数に入れ込むとは・・・思いもつきませんでした。 別でスレッドを立てようとも思いますが、あとは差し込み印刷の問題です・・

その他の回答 (2)

  • okg00
  • ベストアンサー率39% (1322/3338)
回答No.2

訂正。if関数の条件式が真偽反対でした。 =JIS(TEXT(INT((DATEDIF(DATE(YEAR(A1),MONTH(A1),1),DATE(YEAR(B1),MONTH(B1), 1),"m")+1)/12),"#0"))&"年 "&IF(MOD((DATEDIF(DATE(YEAR(A1),MONTH(A1),1),DATE(YEAR(B1),MONTH(B1),1),"m")+1),12)<>0,JIS(TEXT(MOD((DATEDIF(DATE(YEAR(A1),MONTH(A1), 1),DATE(YEAR(B1),MONTH(B1),1),"m")+1),12),"#0"))&"ヶ月","")

EST_GSR55W
質問者

お礼

早速のご回答、大変に助かります。 証書を100枚近く作成しないといけなく、少々焦っておりました。 本当に感謝申し上げます。 このIF関数で完璧です!! いろいろ数時間にわたってWeb検索したり我流で挑戦しましたが、さっぱりでした・・・ あと、どうしても書式設定では5年が五年にならず・・・ でもい、第一段階クリアです。 ありがとうございました。

  • okg00
  • ベストアンサー率39% (1322/3338)
回答No.1

=JIS(TEXT(INT((DATEDIF(DATE(YEAR(A1),MONTH(A1),1),DATE(YEAR(B1),MONTH(B1), 1),"m")+1)/12),"#0"))&"年 "&IF(TEXT(MOD((DATEDIF(DATE(YEAR(A1),MONTH(A1),1),DATE(YEAR(B1),MONTH(B1),1),"m")+1),12),"#0")=0,JIS(TEXT(MOD((DATEDIF(DATE(YEAR(A1),MONTH(A1),1),DATE(YEAR(B1),MONTH(B1),1),"m")+1),12),"#0"))&"ヶ月","") 漢数字は書式設定でもできますし、関数でもできます。 http://www.relief.jp/itnote/archives/000098.php http://www.relief.jp/itnote/archives/000114.php

関連するQ&A