[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『年齢や日数の計算方法』(染ちゃん)
[WindowsXP,Excel2003です。質問 セルA1に誕生日(西暦)、B1に今日の日付(2007/7/29)が入力されています。 C1に年齢を、D1に経過月数を、E1に経過日数を、F1に元号の誕生日を表示したいのですが どなたかお教え下さい。]
C1 = DateDif(A1,B1,"y") D1 = DateDif(A1,B1,"ym") E1 = DateDif(A1,B1,"md") (seiya)
でも C1は#NAME?、D1は11、E1は明治33年1月22日が表示され、いずれも正しくありません。
D1は、= DateDif(A1,B1,"m")にすると正しい答えが表示されます。
なお、私のエクセルにはDateDiF関数は存在しません。
再度よろしくお願いします。(染ちゃん)
>なお、私のエクセルにはDateDiF関数は存在しません。 そんなことはないと思いますよb こちらも、参考に [[20070709112530]]『?』(エクセル2003での日付・時間の計算) >C1は#NAME? 「#NAME?」が出るということは、スペルミスが無いかを確認してください。 >E1は明治33年1月22日が表示され 表示形式が「[$-411]ggge"年"m"月"d"日"」等に設定してありませんでしょうか? 「標準」や「数値」に変えてみてください。 ちなみに、経過月数・日数は、累計の月数・日数でしょうか? そうであれば "ym" → "m" "md" → "d" に、変更してみてください。 ※タイトル変更しました。 『内容の要約』(ニックネーム) 質問内容・・・ のように書き込みましょうb (キリキ)(〃⌒o⌒)b
>私のエクセルにはDateDifは存在しません。 それは残念でした。 (seiya)
参考URL http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/today.htm#datedif
当サイトのライブラリにもありますよ。。。 (gon-2)
少々、お尋ねします。 m(__)m
2006/9/30(生年月日) → 2007/9/2(今日と仮定) とか 2006/8/31(生年月日) → 2007/9/30(今日と仮定) だったら、どうなるのでしょうか?
期間の考え方は、人それぞれですが、 下式を適用すると右下図の結果になるのですが、イメージ通りですか?
<結果図>
行 ____A____ ____B_____ _C_ _D_ _E_
C1 = DateDif(A1,B1,"y") 1 生年月日 今日(仮定)
D1 = DateDif(A1,B1,"ym") 2 2006/9/30 2007/9/2 0 11 3
E1 = DateDif(A1,B1,"md") 3 2006/8/31 2007/9/30 1 0 30
(半平太)
こんな感じでしょうか? >2006/9/30(生年月日) → 2007/9/2(今日と仮定) とか 誕生日 今日(仮定) 2006/9/30 2007/8/30 0 11 0 2006/9/30 2007/8/31 0 11 1 2006/9/30 2007/9/1 0 11 2 2006/9/30 2007/9/2 0 11 3 「2007/8/30」で、ちょうど「11ヶ月」 よって「2007/9/2」で「11ヶ月と3日」 > 2006/8/31(生年月日) → 2007/9/30(今日と仮定) 誕生日 今日(仮定) 2006/8/31 2007/8/31 1 0 0 2006/8/31 2007/9/1 1 0 1 2006/8/31 2007/9/2 1 0 2 2006/8/31 2007/9/29 1 0 29 2006/8/31 2007/9/30 1 0 30 「2007/8/31」で、誕生日が来て「1年」 1日ずつ見ていくと「2007/9/30」で「1年と30日」 >期間の考え方は、人それぞれですが、 まさに、そのとおりなんですがね・・・ σ(^o^;)も、よくわかってない・・・orz (キリキ)(〃⌒o⌒)b
キリキさん わざわざご解説ありがとうございました。 m(__)m
>期間の考え方は、人それぞれ なので、質問者の染ちゃんさんがどう考えるかに掛かっていると思っています。
キリキさんは、8月末から9月末までで1ヶ月とは云わないグループに属されるらしい事 は了解いたしました。 (半平太)
>キリキさんは、8月末から9月末までで1ヶ月とは云わないグループに属されるらしい事 >は了解いたしました。 時と場合って事で逃げちゃだめですかwww (キリキ)(〃⌒o⌒)b
>時と場合って事で逃げちゃだめですかwww ご自由にどうぞ。
質問者さんの「時と場合」がどうなのか、が問題なだけです。 1日や2日の差異や、1ヶ月と30日の違いみたいな、細かいことは気にしない、 ってスタンスならどうでも良い事なのですけどね。。。
しかし、"MD"オプションは、バグがあることで有名なんで、私は、 よっぽど使用環境が良くないと、使う気になれません。 (半平太)
>しかし、"MD"オプションは、バグがあることで有名なんで、私は、 >よっぽど使用環境が良くないと、使う気になれません。 そうなんですか? もし、お時間があったら、そのあたりを教えていただけないでしょうか? 勉強させてくださいm(_ _)m (キリキ)(〃⌒o⌒)b
このトピの上の方で、gon-2さんがここのサイトのライブラリを紹介されています。 そこでは、このような記述があります。 ↓ ”YD"や”MD"で日数を計算させると、間違った値になるバグがあるようです。
そのほか、よその掲示板ですが、、、ご参考に。 ↓ http://www.kenzo30.com/ex_kisotyu/ex_ks_tyukyu9_9_2.htm#
(半平太)
ありがとうございます。 >このトピの上の方で、gon-2さんがここのサイトのライブラリを紹介されています。 失礼しました。。。 よく確認していなかったようです。 なるほど、閏年等でバグがあるのですね? そうすると、半平太さんが出された例題が非常に生きてきますね〜 勉強になりました。 ありがとうございますm(_ _)m PS URLは、左に半角スペースを入れるとリンクされないようです。 上記は勝手に修正しました。 (キリキ)(〃⌒o⌒)b
私も、もう一度、参考サイトを見たら、例が間違っているのに気が付きました。
これは、バグでは無かったです。(「人それぞれ」に入ります) ↓ 行 ____A____ ____B_____ _C_ _D_ _E_ 1 生年月日 今日(仮定) 2 2006/9/30 2007/9/2 0 11 3
2006/9/30の11ヶ月後は8月30日なので、そこから3日あるとの考え方です。 (キリキさんのご解説どおりです。)
※ 「人それぞれ」の中で、民法の原則(初日不参入)に従う人は、 8月末で11ヶ月と考えますので、そこから2日と考えることになります。
ややこしいですが、年齢を求めるケースでは、 (1)初日参入の特別法に従う人か、 (2)誕生日で何歳と考える人か で1日違ってきます。。。
バグの例としては、↓とすべきでした。
行 ____A____ ____B_____ _C_ _D_ _E_ 1 生年月日 今日(仮定) 2 2006/8/31 2007/10/1 1 1 0 3 2006/1/31 2007/3/2 1 1 -1
(1) 2006/8/31の1年1ヶ月後は、 民法であろうとなかろうと(時と場合による人を除く)2007/9/30日なので、1日少ない。
(2) 2006/1/31の1年1ヶ月後は、 民法であろうとなかろうと(時と場合による人を除く)2007/2/28日なので、3日少ない。 第一マイナス表示はあり得ない。(時と場合による人を除く)
(半平太)
↑ どなたですか? 最近HNなしの投稿が目立ちますね。
="2007/3/10"-"1999/12/20"+1
(ROUGE)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.