どなたかご存知でしたらご教示いただければ幸いです。
一言でうまく説明出来ないので、例を記載させていただきます。
したい事は保有月数を表示させたいのですが、月の途中から保有した場合は一律0.5ヶ月と表示させたいのです。
2008年5月14日~2008年8月26日 の場合は3.5ヶ月
2008年7月4日~2008年8月31日 の場合は1.5ヶ月
2008年7年6日~2008年7月29日 の場合は0.5ヶ月
と、月中からスタートした場合は最初の月を一律0.5ヶ月、逆にendはend日が月中でも月末日でもend日を含む月は0.5ではなく1ヶ月とカウントしたいのです。
お手数をおかけいたしますが、
どうぞ宜しくお願い致します。
No.11ベストアンサー
- 回答日時:
ANo.1&5&6&10のjo-zenです。
再度補足します。B2,C2セルが空白の場合、エラーが返されてしまいますので、それを回避するには、以下の式にしてみてください。
=IF(OR(B2="",C2=""),"",(IF(DAY(B2)=1,DATEDIF(DATE(YEAR(B2),MONTH(B2),1),DATE(YEAR(C2),MONTH(C2)+1,1),"m"),DATEDIF(B2,DATE(YEAR(C2),MONTH(C2)+1,1)-1,"m"))&IF(DAY(B2)=1,".0",".5"))*1)
No.12
- 回答日時:
[ANo.9この回答へのお礼]に対するコメント、
》 一点質問なのですが・・・
二点質問されているような気がします。
「EOMONTH(開始日、月)」でなく EOMONTH(開始日,月) が正しいですが、その「手持ちの関数の本」の該当する解説は正しいです。
》 (その)説明だけではロジックがわからなくて
なぜ分からないか理解できません。
「月」が 1、2、3、… なら 翌月、翌々月、翌々々月、… であり、-1、-2、-3、… なら 前月、前々月、前々々月、… であること。ならば、0 は翌月と前月の狭間の当月になるという次第。
》 0.5+0.5*(DAY(A1)=1の式の=1というのはどういう意味なのでしょうか?
式は正確にお願いします。正しくは 0.5+0.5*(DAY(A1)=1) です。
[
「式の=1」の部分でOKなんですね。
式 =DAY(A1)=1 は、セル A1 が日付が一日(ツイタチ)のときに TRUE を返します。
セル A1 が 2008/7/1 や 2009/9/1 のとき、式 =DAY(A1) は 1 を返します(だから =DAY(A1)=1 は TRUE になる)が、2008/7/2 や 2010/10/3 のとき 式 =DAY(A1) はそれぞれ 2 や 3 を返します(だから =DAY(A1)=1 は FALSE になる)。
TRUE、FALSE を四則演算(+、-、*、/ の記号を使う計算)ではそれぞれ 1、0 の役目をすることを覚えておいてください。
この位の説明で勘弁してください。(^_^)
No.10
- 回答日時:
ANo.1&5&6のjo-zenです。
補足します。数値で出したいなら、以下のように式を変形してあげればOKだと思います。
D2セルなどに、
=(IF(DAY(B2)=1,DATEDIF(DATE(YEAR(B2),MONTH(B2),1),DATE(YEAR(C2),MONTH(C2)
+1,1),"m"),DATEDIF(B2,DATE(YEAR(C2),MONTH(C2)+1,1)-1,"m"))&IF(DAY(B2)=1,
".0",".5"))*1
全体に1をかけてあげることにより、文字列を数値に変換するやり方です。
No.9
- 回答日時:
=DATEDIF(A1,EOMONTH(B1,0),"m")+0.5+0.5*(DAY(A1)=1)
不具合な開始日あるいは終了日があれば、具体的な年月日をお知らせください。
ありがとうございます、全て正確に出来ました。
一点質問なのですが
手持ちの関数の本でEOMONTHを調べたのですが、
EOMONTH(開始日、月)
開始日から指定した月数だけ前(または後ろ)の最終日に対応するシリアル値を返す。
と説明してあるのですが、教えてくださいましたマクロの(B1,0),"m")部分がそれにあたるのですよね。いまいち本に書かれてある説明だけではロジックがわからなくて・・・
また0.5+0.5*(DAY(A1)=1の式の=1というのはどういう意味なのでしょうか?
質問をしてしまいまして申し訳ございません。
もし可能であればで構いませんが、今後の為に教えていただければ大変嬉しいです。
No.8
- 回答日時:
#4です。
=(YEAR(B1)-YEAR(A1))*12+(MONTH(B1)-MONTH(A1))+((DAY(B1)<>1)+(DATE(YEAR(A1),MONTH(A1)+1,0)<>A1)/2)-(DAY(B1)>DAY(A1))
上記で結果は
7月23日9月01日2.5
5月14日8月26日3.5
7月04日8月31日1.5
7月06日7月29日0.5
上記で結果が
2008/6/25~2009/10/15が17.5 (正しくは16.5)
2008/7/15~2010/7/15が25.5 (正しくは24.5)
となってしまいます。。
No.7
- 回答日時:
Ano2のものですが、
7/23と9/1で、2.5と計算できていますよ。
この回答への補足
度々申し訳ございません。
先程の日付では大丈夫だったのですが
2008/7/25~2010/7/15等、他の日付だとうまくいきません。
上記期間だと0.5になります。
おわかりになりますでしょうか・・・?
すみませんでした。
理由はわからないのですが、使用しているPC(エクセル)がたまに故障するのですが、一度閉じて試みるとうまくいく場合が多いので、一度閉じてやってみましたところ、この関数もうまくいきました。
ご迷惑をお掛け致しました。
本当に助かりました。ありがとうございます!
No.6
- 回答日時:
ANo.1&5のjo-zenです。
>Start dateが2008/7/23 で End dateが2008/9/1です。
⇒当方のパソコン(Excel)では、2.5ヶ月と表示されますよ。式は、再度貼り付けますが、
=IF(DAY(B2)=1,DATEDIF(DATE(YEAR(B2),MONTH(B2),1),DATE(YEAR(C2),MONTH(C2)+1,1),"m"),DATEDIF(B2,DATE(YEAR(C2),MONTH(C2)+1,1)-1,"m"))&IF(DAY(B2)=1,".0ヶ月",".5ヶ月")
となります。
この回答への補足
すみません!!
これ、テキスト形式で表示されてしまうのですが、テキスト形式ではなく普通のナンバー表示にするにはどうすれば宜しいでしょうか??
すみませんでした!
理由はわからないのですが、使用しているPC(エクセル)がたまに故障するのですが、一度閉じて試みるとうまくいく場合が多いので、一度閉じてやってみましたところうまくいきました。
ご迷惑をお掛けしてすみませんでした。
ありがとうございました!!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(エンターテインメント・スポーツ) 推しは、足りてますか? 2 2023/01/22 10:48
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/01/10 09:15
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/04/21 08:59
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/03/10 08:51
- 高校 この子は高校1年生になりますか? 平成20年 2008年 1月生まれ 14歳 子(ね) 2023年4 4 2022/12/20 09:35
- 労働相談 有給の計算について 3 2023/05/20 13:11
- Visual Basic(VBA) 列 A に同じ日が2つが必要です。 1 2023/03/28 07:25
- Excel(エクセル) エクセルについて教えてください。 1 2023/03/03 08:38
- イベント・祭り 北海道コンサドーレ札幌の話 1 2022/11/20 02:37
- 就職・退職 有給休暇日数について教えてください…! 4月1日に入社し、次の年の4月14日付で退職したのですが有給 6 2023/08/26 04:36
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
一番好きな「クリスマスソング」は?
街に出ればクリスマスソングを聞かない日はないくらい、 いろんな曲がかかっていますよね。 あなたが一番好きな「クリスマスソング」を教えてください!
-
治せない「クセ」を教えてください
なくて七癖という言葉どおり、人によっていろいろなクセがありますよね。 あなたには治せないクセがありますか?
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
エクセル 月数を0.5ヶ月単位で計算する方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】看板の文字を埋めてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel 関数? 文字列に...
-
ヘッダー
-
数式の計算結果により表示され...
-
エクセル・計算式をテキストデ...
-
エクセルで、時間の計算をした...
-
エクセル 月数を0.5ヶ月単位で...
-
AかBに入力があった時Cに反映、...
-
エクセルで比率を計算
-
エクセルの使い方 1日=7時間45...
-
IF関数で、時間を条件にしたい...
-
エクセルでDeleteキーを...
-
IF関数で出した数値をSUM関数で...
-
TEXTCALCの使い方
-
エクセル 1万時間を越える際の...
-
エクセルで数値を50単位で切...
-
Excelの文字入力にタイムラグが...
-
Excel(エクセル)でフィルター...
-
エクセルで足し算と掛算を混ぜ...
-
エクセルでの時間計算(2時間30...
-
エクセルで 足し算や割り算の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ヘッダー
-
エクセルの使い方 1日=7時間45...
-
IF関数で、時間を条件にしたい...
-
EXCELの関数に関する質問です
-
数式の計算結果により表示され...
-
Excel 関数? 文字列に...
-
エクセルで、時間の計算をした...
-
エクセルでの時間計算(2時間30...
-
エクセル・計算式をテキストデ...
-
TEXTCALCの使い方
-
AかBに入力があった時Cに反映、...
-
IF関数で出した数値をSUM関数で...
-
エクセル 1万時間を越える際の...
-
エクセル 月数を0.5ヶ月単位で...
-
エクセルで 足し算や割り算の...
-
エクセルで数値を50単位で切...
-
エクセルでDeleteキーを...
-
excel 参照しているセルに色が...
-
多項式の計算
-
計算結果が「0」のセルだけを「...
おすすめ情報