[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『月齢で15捨16入の方法を知りたい』(みょん)
例えば、
今日 2022/7/23
誕生日 2016/2/3
この月齢は
=datedif(誕生日のセル,今日のセル,"M")で
77という値がでます。
私がやりたいのは、
詳しく計算をすると77ヶ月と20日なので、15捨16入をして
78ヶ月という最後の一手間がほしいのです。
なにかいい方法はありませんか?
< 使用 Excel:Office365、使用 OS:MacOSX >
=datedif(誕生日のセル,今日のセル-15,"M") とか? (´・ω・`) 2022/07/23(土) 11:21
(´・ω・`)さん、うまくいきません。
(γ)さん、#NAME?と表示されてしまいます。
一番最後のところの
1,0,)
の意味はなんでしょう?
(みょん) 2022/07/23(土) 11:38
私の式はだめですね。DateDifの仕様を間違えて覚えていたようです すみません
(´・ω・`) 2022/07/23(土) 11:45
期間の考え方は、人により、会社により、法律により、MicroSoftの関数の仕様により、若干異なります。
>詳しく計算をすると77ヶ月と20日なので とのことなので、みょんさんの考え方は、ある程度推測はできますが、 念の為、以下の場合何カ月になればいいのか確認したい。
今日 2022/7/16 誕生日 2022/3/31
(半平太) 2022/07/23(土) 12:25
この場合、3です。
(みょん) 2022/07/23(土) 12:36
3ですか・・・、確認してよかった。
私には理解不能な考え方なので、降ります。 m(__)m
(半平太) 2022/07/23(土) 12:52
A1: 今日
A2: 誕生日 として。
=DATEDIF(A2,A1,"m")+INT(DATEDIF(A2,A1,"MD")/16)
(メジロ) 2022/07/23(土) 13:22
今日 2022/7/16
誕生日 2022/3/31
ーーーーーーーーーー
0/3/15
30日を基本と考えて、今日から誕生日の引き算をします。
すると、
0年3ヶ月15日となります。
15捨16入の考え方だと、15以下は切り捨てるので
3ヶ月だけ残るという考え方です。
(みょん) 2022/07/23(土) 13:32
ありがとうございます。
私が求めている答えになりました。
後半のINTの部分について解説していただきたいのですが、
INT関数を柄することで何が起こっているのでしょうか?
(みょん) 2022/07/23(土) 13:41
後半のINTの部分について解説していただきたいのですが、
INT関数を加えることで何が起こっているのでしょうか?
INTは小数の切り捨てなどに使われるものだと思っていました。
一番最後の【/16】はどのような意味ですか?
(みょん) 2022/07/23(土) 13:45
ただ、γさんは、A1,B1が基準なだけです。
このように修正するだけでした。
=DATEDIF(A2,A1,"M")+IF(DATEDIF(A2,A1,"MD")>=16,1,0)
(カビ) 2022/07/23(土) 13:52
ありがとうございます。
改めて試したところ、できましたね!
(みょん) 2022/07/23(土) 13:58
>一番最後の【/16】はどのような意味ですか?
16で割った結果が0か1かの違いでは?
intで、端数消してます。
(カビ) 2022/07/23(土) 14:07
>30日を基本と考えて、 めずらしい考え方ですね。
すると、以下の計算でいいですか? (1) 今日 2022/4/13 誕生日 2022/2/28 ーーーーーーーーーー 0/1/15 →15捨16入で「1カ月」
(2) 今日 2022/4/14 誕生日 2022/2/28 ーーーーーーーーーー 0/1/16 →15捨16入で「2カ月」
因みに、出来たとか言う数式は、上記(1) は2カ月と出ますけど、大丈夫なんですね?
(半平太) 2022/07/23(土) 14:28
なるほど。確かにズレますね。
大丈夫じゃないですねw
困りましたね・・・
手計算ではこのようなことは起こらなのに、エクセルでは起こるというのはプログラムされているカレンダーとの兼ね合いですね。
想像以上に難しい話になってきました。
(みょん) 2022/07/23(土) 16:16
>エクセルでは起こるというのはプログラムされているカレンダーとの兼ね合いですね。 ちょっと意味が分からないですが、DATEDIF()の"MD"オプションにはバグがあるので カジュアルには使えないです。
>なるほど。確かにズレますね。 期間の考え方にブレはない様なので、以下でどうですか? =DATEDIF(誕生日,今日,"M")+((DAY(今日)-DAY(誕生日)+(DAY(今日)<DAY(誕生日))*30)>=16)
(半平太) 2022/07/23(土) 20:03
ありがとうございます。
ご提案いただいた関数を試してみました。
しかし、おそらくこちら側のエラーだと思うのですが、1900/1/1と出てきます。
(みょん) 2022/07/25(月) 12:33
>1900/1/1と出てきます。
月齢のセルの書式は、「標準」か「数値」にしてください。
(半平太) 2022/07/25(月) 14:10
ありがとうございます。
完璧です!
助かりました。こうみると、足して、引いて、掛けてとか、数学ですね。
(みょん) 2022/07/25(月) 14:50
>数学ですね。
30日を基本と考える関数なんてないですから、自分で工夫するしかないです。
※ DAYS360()関数がそれに近いですが、 月末日の扱いがみょんさんとは異なるので使えないです。
(半平太) 2022/07/25(月) 15:42
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.