No.1
- 回答日時:
こんにちは。
DATEDIF関数を試されることを
お勧めします。
「=DATEDIF(A1,B1,”X”)」
Xに入るのは満年数のY、満月数のM、満日数のD、
一年未満の月数YM、一年未満の日数YD、
一月未満の日数MDの6種類です。
宜しくです。
こんにちは。
&で繋げればセルを分けなくてもいいんですね。
エクセル習ったことないので、すぐに理解できなくてごめんなさい。
参考になりました。
No.4
- 回答日時:
こんばんは。
#1 ororo1208さんのバックアップ
>この方法は、年月日をそれぞれ違うセルに分けなければできないということですか?
お試にはならなかったようですね。詳しくは、ヘルプで調べてください。
C1:~
=DATEDIF(A1,B1,"y")&"年"&DATEDIF(A1,B1,"ym")&"ヶ月"&DATEDIF(A1,B1,"md")&"日"
悔しいことに、今まで他の方法を試してみましたが、このような方法以外は、あまりうまくいきません。たぶん、できるような気がしますが、長い式になるはずです。それは、0日とか、0月というものは、日付書式には存在しないからです。年の差を取り、残りを月の差を取り、最後は、日付の差を取るという計算です。
しかし、日付ならば、
単に、=DATEDIF(A1,B1,"d")&"日" で、=B1-A1 と変わらないはずです。
(ちなみに、この関数は、MS社オリジナルではありませんので、挿入-関数の日付の関数の中にはありません。)
例:
2000/8/6 ~ 2005/10/6 という時に、
5年2ヶ月0日
という表示が出てきます。つまり、5年2ヶ月であって、それ以上でも、それ以下でもないからです。
試したんですけどね。
&で繋げられる事がわからなかったです。
エクセルを習ったことがないので理解が遅くてスミマセンです。
#3の方法と#4の方法では答えが違って出てきます。
#3は
2004/1/1~2004/12/31 → 00年12ヵ月31日
2004/1/1~2005/1/1 → 01年 1ヵ月 1日
#4
2004/1/1~2004/12/31 → 0年11ヶ月30日
2004/1/1~2005/1/1 → 1年 0ヶ月 0日
普通に考えると#4が正しいですよね?
日付って考え出すとわけがわからなくなっちゃいます。
2004/1/1~2005/1/1って1年なのか1年と1日なのか。。。
No.5
- 回答日時:
#2,3のmshr1962です。
#4 Wendy02さんへのフォロー
=DATEDIF(A1,B1,"y")&"年"&DATEDIF(A1,B1,"ym")&"ヶ月"&DATEDIF(A1,B1,"md")&"日"
にTEXT関数を加えれば出来ますよ。
=TEXT(DATEDIF(A1,B1,"y"),"0年;;")&TEXT(DATEDIF(A1,B1,"ym"),"0ヶ月;;")&TEXT(DATEDIF(A1,B1,"md"),"0日;;")
これで年月日が0の場合、省略されます。
No.6
- 回答日時:
mshr1962 さんへ
どうもありがとうございます。
0日と表示するべきかは考慮したのですが、生のままで出したほうがよいかと思い、そのままにしてしまいました。(^^;
No.7
- 回答日時:
>特定の日~特定の日までの日数を数える
と表題に書きながら、「表示は○年○ヶ月○日とする。」というのは、表現がおかしいのではないですか。
カレンダーに基づいた年月数とでも表現すべきでは。
これから人生で色々な場面で、誤解する表現は恐ろしい結果を招きますよ。
No.8
- 回答日時:
こんばんは。
>「表示は○年○ヶ月○日とする。」というのは、表現がおかしいのではないですか。
しばらく考えてみました。ご指摘とは違うかもしれませんが、以下で、展開していきます。
これは、DATEDIF の作り方のコンセプトが、そういうものになっているようです。これは、Lotus123の関数をExcelが取り込んだものですね。
Excelの回答者で有名なチップパーソン氏の
http://www.cpearson.com/excel/datedif.htm
The DATEDIF Function
に、今回の私の回答と同じものが出ています。しかし、この件は、もう少し、複雑のようなのです。
-------------------
普通、ビジネスなら、DATEDIF は、(日付の)片入れですから、両入れにするなら、本来は、1日を足したほうがよいです。
=DATEDIF("2004/1/30","2005/10/1","MD")
これは、「-1」と出てきてしまいます。これでは、ロジックが合いません。ひとつには、片入れの計算のための問題だとは思います。だから、片入れを両入れにすると、こういうことになるのですが……。
A1 B1
2005/1/30 2005/3/1
=DATEDIF(A1-1,B1,"MD")
でも、これだと、0 になってしまいます。でも、0ではありませんね。
=DATEDIF(A1,B1,"YD")
これで、30 日になりますから、片入れの計算ですが、これは、正しいですね。
(1/31-1日,2月-28日,3/1日) →30日
インターネット検索で、この周辺の話は出てくるようですが、やっぱり、"MD"のこの計算自体がおかしいですね。(^^; だって、日だけで計算できるはずがありませんもの。
これは、年をまたぐ場合は、年で別けて計算しないといけないようです。ちょっと、ここまでで疲れました。(^^;。。
とても丁寧にご回答いただいて、本当にありがとうございました。
エクセルについてはまだまだ知識がありませんが、またわからないことが出てきたらご回答よろしくお願い致します。
No.9ベストアンサー
- 回答日時:
こんにちは。
#8 の続きです。
途中で疲れてしまったのでが、再度、やり直してみました。
=DATEDIF(A1,B1,"y")&"年"&DATEDIF(A1,B1,"ym")&"ヶ月"&IF(DAY(A1)>DAY(B1),DAY((MONTH(A1)+1&"/1")-1)-DAY(A1)+DAY(B1),DATEDIF(A1,B1,"md"))&"日"
これで出来たと思います。
ただし、あくまでも、0ヶ月、0日という表示はします。
日付関係の問題は、いろんなバリエーションがあって、とても面白いです。
何度も考えていただきありがとうございます。
日付関係の問題はエクセルの計算じゃなくても難しいです。
今回は上司に「在籍期間を出して」とだけ言われて作り始めました。
エクセルの知識が全くと言っていいほど無いのに、人数が多かったので計算でできたらいいなぁというちょっとした気持ちで投稿してしまい、質問も的確ではなかったようで申し訳ありませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- Excel(エクセル) EXCELでリターンキーが押されたらそのセルに特定の文字を表示したいのですが。 2 2022/08/07 12:58
- Excel(エクセル) Excel表示形式 2 2022/09/09 09:57
- Excel(エクセル) 至急です><Excelの関数を教えてください。 2 2022/03/22 17:56
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) Excelにの以下の設定方法について教えてください! C列にデータ入力の設定をしています。(出、入を 3 2022/06/22 01:33
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
- Excel(エクセル) 条件付き書式の設定方法を教えて下さい。 2 2023/04/14 18:12
- Excel(エクセル) セルに特定の色が出た時だけ、式を発動させたい 4 2022/06/17 10:32
- Excel(エクセル) エクセル関数教えてください 3 2022/06/21 10:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで小数点以下1桁の年数を...
-
DATEDIFでマイナス表示をさせたい
-
アクセスで教えてください。 ク...
-
エクセル 滞在期間中の月数のカ...
-
Filemakerの年齢の自動入力につ...
-
Excelの関数について教えて下さ...
-
妊娠週数をエクセルで計算した...
-
WORD(ワード)で自動挿入した日...
-
カレンダーで賞味期限を管理したい
-
エクセルの主軸と第2軸の0を合...
-
エクセルで文字が白くなる
-
Excel2017 フィルタ昇順並びがA...
-
エクセルで文字を含む式に、カ...
-
エクセルで円グラフに引き出し...
-
別のシートから値を取得するとき
-
エクセルで特定の色の数字だけ...
-
ピボットテーブルでは時間の表...
-
Excelで、空白を表示したい
-
1年分のデータから特定の月分...
-
エクセルで長い行を5行ごとに1...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで小数点以下1桁の年数を...
-
DATEDIFでマイナス表示をさせたい
-
妊娠週数をエクセルで計算した...
-
アクセスで教えてください。 ク...
-
エクセルでその日が第何週目か...
-
WORD(ワード)で自動挿入した日...
-
エクセル関数について
-
Filemaker 経過日数の計算式の...
-
エクセルVBAの時間計算
-
Filemakerの年齢の自動入力につ...
-
Excel 日付関数の値を固定値に
-
Excel Win版とMacで日付が変わる
-
File Maker Pro 8.5の計算関数t...
-
数値8桁で入力された誕生日か...
-
ACCESSで前日比を行う方法で最...
-
Excel 土日祝祭日の判断
-
経過日数を求める式が知りたいです
-
Excel VBAで「date」関数を使い...
-
HSPで割り算による結果を小数で...
-
ローマ数字での日付あってますか?
おすすめ情報