アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excelの関数で分からない事があるので教えて下さい。
D9のセルにD9=DATEDIF(D3,E3,"d")という式を設定しています。
D3に2004/5/31、E3に2004/6/30という日付を入力しており、その期間を
計算させる式です。従ってD9の答えは30となります。
この関数自体は問題なく機能しているのですが、DATEDIF(D3,E3,"d")の
1つ1つの意味を教えて頂けないでしょうか。
IF関数の使い方がそもそも理解出来ていません。
質問の意味が分かりにくい場合は補足致しますので言って下さい。
宜しくお願い致します。

A 回答 (7件)

エクセルの「ヘルプ」にはこう書かれています。

(IF関数とは関係ありません。DATEDIFでひとつの関数です。)

DATEDIF
指定された期間内の日数、月数、または年数を返します。この関数は、Lotus 1-2-3 関数との互換性を保つために用意されています。

書式
DATEDIF(開始日,終了日,単位)

開始日 期間の開始日を指定します。日付はクォーテーション マークを前後に付けた文字列 (たとえば "2001/1/30" など)、シリアル値 (たとえば 1900 年日付システムを採用している場合に 2001 年 1 月 30 日を表す 36921 など)、または他の関数の結果 (たとえば DATEVALUE("2001/1/30")など) の形式で入力します。日付に対応するシリアル値の詳細については、NOW を参照してください。

終了日 期間の終了日を指定します。

単位 戻り値の種類を指定します。

単位 戻り値
"Y" 期間内の満年数
"M" 期間内の満月数
"D" 期間内の日数
"MD" 開始日から終了日までの日数。この場合、月と年は考慮されません。
"YM" 開始日から終了日までの月数。この場合、日と年は考慮されません。
"YD" 開始日から終了日までの日数。この場合、年は考慮されません。

解説
Excel は日付をシリアル値として連続番号で格納するため、日付計算を行うことができます。1900 年日付システムを採用している場合、1900 年 1 月 1 日がシリアル値 1 として格納されます。1904 年日付システムを採用している場合は、1904 年 1 月 1 日がシリアル値 0 (1904 年 1 月 2 日がシリアル値 1 になります) として格納されます。たとえば、1900 年日付システムの場合、1998 年 1 月 1 日は 1900 年 1 月 1 日から 35,795 日後にあたるので、シリアル値は 35796 になります。日付と時刻の処理については、ここをクリックしてください。

Windows 版 Excel と Macintosh 版 Excel では、標準として使用される日付システムが異なります。詳細については、NOW を参照してください。
使用例
DATEDIF("2001/1/1","2003/1/1","Y") = 2 これは期間内が満 2 年であることを示しています。

DATEDIF("2001/6/1","2002/8/15","D") = 440 これは 2001 年 1 月 1 日から 2002 年 8 月 15 日までの間が 440 日であることを示しています。

DATEDIF("2001/6/1","2002/8/15","YD") = 75 これは 6 月 1 日から 8 月 15 日までの間が 75 日であることを示しています。この場合、年は考慮されません。

DATEDIF("2001/6/1","2002/8/15","MD") = 14 これは 1 日から 15 日まで (開始日から終了日まで) の日数を示しています。この場合、月と年は考慮されません。
    • good
    • 0
この回答へのお礼

大変詳しい解説をして頂き有難う御座いました。良く分かりました。

お礼日時:2006/01/13 09:54

>DATEDIFの文字列に最後に2文字IFがありますが、IF関数と関係ありません。

最後の3文字DIFに注目せねばなりません。DIFはDifference引き算の差のことです。ついでにDifferentialは微分のの意味です。
エクセルの日付の値の持ち方をご存じないのでしょうが、日付シリアル値といい、1900年1月1日を第1日として、その日が第何番目
の日かを値として持っていて、日付書式設定に応じて、色々に見せてます。これからしてある日からある日までの日数は、引き算で単純に計算されることがわかります。ですから質問のケースでは=E3-D3とすればよいのです。表現的に日数計算したことがDATEDIFだと直感的に
判るメリットを別にすると。
ですからだい3引数がdの場合は余りメリットがないが、Y,Mやその組み合わせのとき、同じ日数でも、暦の日のスタート日によって月数年数が変わるのは判りますね。これを実際の暦の上で計算してくれる、
メリットがあります。自分で計算すると、うるう年や、その月の日数の大小を考えて計算せねばならず、大変ですから。
今日の日付シリアル値を知りたければ、2006/1/12と入れて、書式を
数にすれば、わかります。
    • good
    • 0
この回答へのお礼

ご解説有難う御座居ます。エクセル初心者で、IFとあったのでIF関数と思ってしまいました。少しずつ勉強したいと思います。

お礼日時:2006/01/13 10:03

関数の名前に関しては"date difference"を略してくっつけたものかと思います。


関数の使い方に関しては他の方が詳しく説明されているのでそちらを。
    • good
    • 0

ヘルプくらい見ましょう。



-----ヘルプから抜粋

DATEDIF

指定された期間内の日数、月数、または年数を返します。この関数は、Lotus 1-2-3 関数との互換性を保つために用意されています。

書式
DATEDIF(開始日,終了日,単位)

-----ヘルプから抜粋ここまで

「DATEDIF(D3,E3,"d")」の意味は「D3セルに入ってる値を開始日、E3セルに入ってる値を終了日として、その期間を日数で返せ」です。

なお、この関数はIF関数とはまったく無関係です。2つの日付の差を年または月または日で返すので、

DATE=日付,年月日
DIFFERENCE=差,差異

の2つの単語を連結して省略し「DATE DIF」と言う関数名になっています。
    • good
    • 1
この回答へのお礼

ご解説有難う御座居ます。エクセルの初心者で、ヘルプというものがある事さえ知りませんでした。少しずつ勉強していきたいと思います。

お礼日時:2006/01/13 09:56

HELPのとおりになってしまいますが・・・。



DATEDIF(開始日,終了日,単位)

「DATEIF」という表現自体はこの関数は、「Lotus1-2-3関数との互換性を保つために用意されている」とのことなので、IFの意味まではあまり深く考える必要はないと思います。

開始日、終了日は期間の比較のためです。

単位は、以下の通り(HELPより抜粋)です。例では"D"としているため、30「日」が関数の結果となります。
"Y" 期間内の満年数
"M" 期間内の満月数
"D" 期間内の日数
"MD" 開始日から終了日までの日数。この場合、月と年は考慮されません。
"YM" 開始日から終了日までの月数。この場合、日と年は考慮されません。
"YD" 開始日から終了日までの日数。この場合、年は考慮されません。
    • good
    • 0

DATEDIF(開始日,終了日,単位)


指定された期間内の日数、月数、または年数を返します。
開始日:期間の開始日を指定します。
終了日:期間の終了日を指定します。
単位 :戻り値の種類を指定します。
"Y" 期間内の満年数
"M" 期間内の満月数
"D" 期間内の日数
"MD" 開始日から終了日までの日数。この場合、月と年は考慮されません。
"YM" 開始日から終了日までの月数。この場合、日と年は考慮されません。
"YD" 開始日から終了日までの日数。この場合、年は考慮されません。
    • good
    • 0

こんにちは



DATEDIF関数は、
DATEDIF(開始日,終了日,単位)という形で計算します。
開始日と終了日についてはすぐにお分かりいただけると思いますが、問題は「単位」についてだろうと思います。
今回の"d"を指定することにより単位は「日」となります。
dはdayのことでしょう。そのほかは、
y…期間中の満年数を計算(端数は切捨て)
m…期間中の満月数を計算(端数は切り捨て)
d…期間中の日数を計算
という具合です。

そのほかにもあるので参考URLを見てください。

参考URL:http://homepage1.nifty.com/kenzo30/ex_kisotyu/ex …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!