どなたかご存知でしたらご教示いただければ幸いです。
一言でうまく説明出来ないので、例を記載させていただきます。
したい事は保有月数を表示させたいのですが、月の途中から保有した場合は一律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.1
- 回答日時:
例えば、スタート日がB2セル、エンド日がC2セルに入っているとして、以下の数式を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ヶ月")
仕組みは式を見れば読みとってもらえると思いますが・・・。
ありがとうございます。
試してみたのですが、本来2.5ヶ月になる場合は0.5ヶ月となってしまうのですが、残りの2ヶ月も含められたら嬉しいのですが、そんな関数はありますでしょうか?すみません。。。
No.2
- 回答日時:
データが以下のように、なっていたとします。
[開始がA1]開始 終了 月数
2008年5月14日2008年8月26日3.5
2008年7月4日2008年8月31日1.5
2008年7月6日2008年7月29日0.5
2008年7月1日2008年7月29日1.0
1.日付の表示は文字なっていますが、実データは 2008/5/14のように
入力するものとします。
2.月数の列の書式設定の表示形式は、数値で、小数点以下の桁数は1
と設定します。
月数の下のセルC2に以下の計算式をコピーしてから、計算式を下に
ドラッグしてコピーします。
=IF(A2*B2=0,"",IF(DAY(A2)=1,MONTH(B2)-MONTH(A2)+1,MONTH(B2)-MONTH(A2)+0.5))
計算がおかしかったら、連絡をお願いします。
ありがとうございます。
試してみたのですが、2.5となるべきところ、1とでてしまいます。
試した日程は
start dateが2008/7/23 で End dateが2008/9/1 です。
どうぞ宜しくお願い致します。
No.5
- 回答日時:
ANo.1のjo-zenです。
>試してみたのですが、本来2.5ヶ月になる場合は0.5ヶ月となってしまうのですが
⇒どういった日付を入れられたのか教えていただけますでしょうか。よろしくお願いします。
すみません、0.5ではなく2でした。
(他の方の回答を試みた結果と混ざってしまいました。。。すみません)
Start dateが2008/7/23 で End dateが2008/9/1です。
宜しくお願い致します。
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(エクセル)がたまに故障するのですが、一度閉じて試みるとうまくいく場合が多いので、一度閉じてやってみましたところうまくいきました。
ご迷惑をお掛けしてすみませんでした。
ありがとうございました!!!
No.7
- 回答日時:
Ano2のものですが、
7/23と9/1で、2.5と計算できていますよ。
この回答への補足
度々申し訳ございません。
先程の日付では大丈夫だったのですが
2008/7/25~2010/7/15等、他の日付だとうまくいきません。
上記期間だと0.5になります。
おわかりになりますでしょうか・・・?
すみませんでした。
理由はわからないのですが、使用しているPC(エクセル)がたまに故障するのですが、一度閉じて試みるとうまくいく場合が多いので、一度閉じてやってみましたところ、この関数もうまくいきました。
ご迷惑をお掛け致しました。
本当に助かりました。ありがとうございます!
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.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.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をかけてあげることにより、文字列を数値に変換するやり方です。
お探しの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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF関数で、時間を条件にしたい...
-
ヘッダー
-
エクセルの使い方 1日=7時間45...
-
エクセルでの時間計算(2時間30...
-
エクセルで、時間の計算をした...
-
数式の計算結果により表示され...
-
Excelの計算式内の文字列の一括...
-
エクセルで比率を計算
-
エクセル・計算式をテキストデ...
-
計算結果が「0」のセルだけを「...
-
エクセル 月数を0.5ヶ月単位で...
-
EXCELの関数に関する質問です
-
エクセルの計算結果が0になって...
-
エクセルで 足し算や割り算の...
-
AかBに入力があった時Cに反映、...
-
Excel 関数? 文字列に...
-
TEXTCALCの使い方
-
Excel(エクセル)でフィルター...
-
エクセル 1万時間を越える際の...
-
excel 参照しているセルに色が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IF関数で、時間を条件にしたい...
-
ヘッダー
-
エクセルの使い方 1日=7時間45...
-
エクセルで、時間の計算をした...
-
EXCELの関数に関する質問です
-
エクセルで 足し算や割り算の...
-
Excelの計算式内の文字列の一括...
-
数式の計算結果により表示され...
-
エクセルでの時間計算(2時間30...
-
TEXTCALCの使い方
-
計算結果が「0」のセルだけを「...
-
エクセル・計算式をテキストデ...
-
エクセル 1万時間を越える際の...
-
エクセルの計算結果が0になって...
-
excel 参照しているセルに色が...
-
エクセルで足し算と掛算を混ぜ...
-
AかBに入力があった時Cに反映、...
-
Excel 関数? 文字列に...
-
エクセル 月数を0.5ヶ月単位で...
-
エクセルで比率を計算
おすすめ情報