[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『45.6才とか3年5ヶ月と表示したい』(まきりん)
日付の計算
日付の表し方について教えてください。 Datedifで、得た日数を年に変更したいのですが 表示を例えば 45.6才というように、小数以下第一位まで含めた数値に直接直したいのですが こんな事可能でしょうか? もう一つ、3年5ヶ月というのは、ムリでしょうか? datedifの設定で年数のみ、残りの月数のみ、の設定が可能なんですが 平均をとった値を直したいので、各々にdatedifで設定すると 平均がズレますよね??あれっ?ズレに上手く平均してくれるのかなぁ? 平均するなら、日数じゃなきゃ。と思ったのですが・・・。 その辺りについても、分かる方教えてください。 スイマセン、宜しくお願いします。
上記、補足ですが 45.6才は日数で平均をとった値を365で割って、小数点第一位で四捨五入し 3年5ヶ月はセルを年と月に分けて、年には365で割って、正数のみ表示し 月には、平均値から年のセルに365を掛けた値を引いて、さらに30で割った値を 四捨五入しています。 何だか、くどくどした説明になってしまいました。 式が長くなってしまうので、便利な関数とか別の方法があれば 是非教えて欲しいと思いましたので、登校しました。 ちなみに、上記の考え方はあっていますか・・・? 算数の知識も少々欠けておりまして、ちょっと不安になってきました。(笑) ご助言宜しくお願いします。(まきりん)
A1に対してB1にDATDIF(A1,TODAY(),"y")で年、DATDIF(A1,TODAY(),"ym")で月が求まりますので、 B1に =DATEDIF(A1,TODAY(),"y")+DATEDIF(A1,TODAY(),"ym")/12 としコピーします。 この値の平均をB20に =AVERAGE(B1:B19)で求めます。 この平均値仮に(B20)を○才○ヶ月に変換する式は =INT(B20)&"才"&ROUND(MOD(B20,1)*12,0)&"ヶ月"で表示させます。 (シニア)
なるほどぉ〜、"ym"を12ヶ月で割ると1年未満の月数が小数点以下で出るのか。 言われてみると、納得!!ですが、なかなか思いつきませんでした。 シニアさん、ありがとうございます。 でも、少し問題が・・・。 スイマセン、説明不足だったんですが VBAでユーザー関数を作る際に使っている関数なのでdatediffなんです。 びみょ〜に設定が違っていて、なんと"ym"の設定がないんです!!困りました・・・。 何か上手い方法ありませんか? 今回質問の表示方法については理解できたので この件(VBA用のdatediff関数の設定値について)は、新たな問題なので 新規にスレッドを立て質問しますので、宜しくお願いします。 (まきりん)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.