- 締切済み
excel 日数計算 について
初歩的な質問で恐縮です。 セルA1に20120310 セルA2に20120815 と入力し、 セルA3に「=DATEDIF(A1,A2,"m")」と入力して 月数計算をしたいのですが、結果が「#NUM!」となります。 ヘルプ画面を見ても特に問題ないようなのですが、何が 原因と考えられますか?書式は入力セル、数式セルともに 「標準」にしています。 今回行いたいのは期間が5ヶ月未満か5ヶ月以上かを判断 したいものです。ただし、20120430~20120731のように末日 どうしの場合は3ヶ月と判断したいのですが、上記関数のみで このケースについてもカバーできるのでしょうか?
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- MackyNo1
- ベストアンサー率53% (1521/2850)
>開始と終了が両方月末の時以外は、1日経過したら1ヶ月という考え方です。 そのような条件だと以下のような結果になりますが矛盾しないですか? 2/28 ~ 3/31 → 1か月 2/28 ~ 3/29 → 2か月(上の期間より2日短いのに2カ月になる) 2/27 ~ 3/28 → 2か月(同上)
- MackyNo1
- ベストアンサー率53% (1521/2850)
計算の基準がいまひとつ不明確です。 2/28 ~ 3/31 → 1か月 2/27 ~ 3/28 → 2か月? 2/27 ~2/28 → 1か月? すなわち、開始日と終了日がいずれも月末の時だけ特別条件で計算するというのでよいのでしょうか?
補足
おっしゃるとおりです。 開始と終了が両方月末の時以外は、1日経過したら1ヶ月という考え方です。
- MackyNo1
- ベストアンサー率53% (1521/2850)
日付を8桁の数字で表示してもエクセルは「日付」と認識しません。 このようにして入力したデータを簡便に日付に変更するなら、日付の列(1列)を選択してデータ」「区切り位置」で「次へ」「次へ」で「日付」にチェックを入れて「完了」してください。 現在のデータのまま計算したいなら、例えば以下のような数式になります。 =DATEDIF(TEXT(A1,"0!/00!/00"),TEXT(A2,"0!/00!/00"),"m")
補足
回答ありがとうございました。 追加でもう1点確認させていただきたいのですが、現在の状況だと2ヶ月になるまでは 1ヶ月と表示されています。 例 2012/03/11~2012/04/20も1ヶ月と表示されます。 1ヶ月を1日でも過ぎた場合は繰り上げて2ヶ月と表示する場合にはどうすればよいのでしょうか? ただし月末日-月末日は1ヶ月と判断したいです。 例 2012/04/30~2012/06/01 は2ヶ月 2012/04/30~2012/05/31 は1ヶ月
- shinkami
- ベストアンサー率43% (179/411)
PC上での日付の概念をご理解なさっていないようですね ・日付も時間もシリアル値という時間列です ・日時を入力するときは それどれの区切り記号をいれます ・年月日の区切り記号「/] y/m/d 例 2012/3/10 ・時分秒の区切り記号「:」h:m:s 例 13:30:1 ・日時を一つのセルに入力可能です 日時の間に空白を一つ入れて 2012/3/10 13:30:1 詳しくはこのコーナーで[日付、日付入力…]等で検索してください
お礼
回答ありがとうございました。
- KURUMITO
- ベストアンサー率42% (1835/4283)
A1及びA2の値は日付として入力されていること、すなわちシリアル値として入力されていなければ計算ができません。20120310は単なる数値でシリアル値としてはパソコンが判断できませんのでエラーになってしまうのです。 次のような式でA1、A2のセルの値を日付に直してからDATEDIF関数を使うことになります。 例えば次のような式にします。 =DATEDIF(DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)),DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2)),"m")
お礼
回答ありがとうございました。
- aokii
- ベストアンサー率23% (5210/22062)
セルA1に2012/03/10 セルA2に2012/08/15 と入力してみて下さい。
お礼
回答ありがとうございました。
お礼
説明不足ですみません。 月末日-月末日の場合は終了の月末日以内の日数は月末日と同じ月数の判断です。 2/28(月末日)-3/31まではすべて1ヶ月 ただ、他の方法で対応ができましたので、今回の問い合わせに関しては 最初にいただいた回答で完了とさせていただきます。 どうもありがとうございました。