みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

■エクセルで期間計算の時、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")&"ヶ月"

あと数週間後に卒園式が迫り少しばかり焦っております。
どうかよろしくお願いいたします。

ちなみに・・昨年までは、一人ずつ期間は手書きで証書へ直接書いておりました・・(汗

投稿日時 - 2008-02-09 13:26:38

QNo.3758878

すぐに回答ほしいです

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

前の質問も拝見しましたが、式を自分の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  二ケ月

投稿日時 - 2008-02-09 14:12:27

お礼

早速のご回答、大変に助かります。

私の求めているもの、すべてが完璧にできました!
本当にありがとうございます。

来週初めには完成していないといけませんでしたので、今日は徹夜かな~
と覚悟していましたが、本当に助かりました。ありがとうございました。
[DBNUM1]を関数に入れ込むとは・・・思いもつきませんでした。

別でスレッドを立てようとも思いますが、あとは差し込み印刷の問題です・・

投稿日時 - 2008-02-09 14:41:07

ANo.3

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.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"))&"ヶ月","")

投稿日時 - 2008-02-09 13:44:13

お礼

早速のご回答、大変に助かります。

証書を100枚近く作成しないといけなく、少々焦っておりました。
本当に感謝申し上げます。

このIF関数で完璧です!! いろいろ数時間にわたってWeb検索したり我流で挑戦しましたが、さっぱりでした・・・

あと、どうしても書式設定では5年が五年にならず・・・
でもい、第一段階クリアです。

ありがとうございました。

投稿日時 - 2008-02-09 14:27:42

ANo.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

投稿日時 - 2008-02-09 13:39:50

あなたにオススメの質問