- ベストアンサー
DATEDIFでマイナス表示をさせたい
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。maruru01です。 単純な日数差なら、引き算をするだけでいいと思います。 ただし、両端を加算する期間日数のようなのでちょっと工夫がいります。 仮にA1に「2004/5/5」、B1に「2004/5/1」と入力されているとすると、 =B1-A1-2*(A1>B1)+1 で出来ます。 なお、A1とB1が同じ日付の場合は「1」になると解釈しました。 あと、未入力の対処も入れると、 =IF(COUNT(A1:B1)=2,B1-A1-2*(A1>B1)+1,"") となります。
その他の回答 (2)
- dejiji-
- ベストアンサー率38% (327/858)
通常の状態では日付のマイナス表示は出来ません。(これはエクセルの仕様なのでしょうがありません。) 但し、データを入力する(シートを作るとき)前にツール→オプション→計算方法から下の「1904年から」にチエックを入れると計算が出来るようになります。この場合、日付のシリアル値が約4年分ずれます。他のシートとの互換性も失われてしまいます。(このチエックは本来Macとの互換性を保つために設けられたものですが。)
お礼
ありがとうございます やはり抜け道はあるのですね
- telescope
- ベストアンサー率54% (1069/1958)
=-datedif(a1,b1,"yd") と「-」を付ければよいと思います。 A列の日付からB列の日付までの日数で、同じ計算式でということなら、 =IF(A1>B1,-DATEDIF(B1,A1,"yd"),-DATEDIF(A1,B1,"yd"))
お礼
ありがとうございます これだとちょっと日付がずれてしまうので・・・
関連するQ&A
- DATEDIF関数と普通の引き算による日数計算
7月25日(セルA1)から7月1日(セルB1)までの日数を計算する場合、B1-A1で日数は出てくるようなんですが、例えば月を跨いだ場合、誤差は出てくるのでしょうか?(閏年や、月ごとの総日数の違いなどにより) 日数計算の場合、DATEDIF関数というものもあるようなのですが、これを使うと日数がマイナスになってしまう場合、エラーになってしまうようです。 後者の方が正確であるならば、DATEDIF関数を使いたいんですが、その場合、引き算の結果がプラスになる場合、マイナスになる場合が混在しているデータで使用する場合、どのような計算式を入力すればよいのかが分かりません。 どなたか御存知の方、よろしくお願いします。 ちなみに、単なる引き算で誤差がでないようでしたら、引き算で処理したいと思っています。
- ベストアンサー
- オフィス系ソフト
- DATEDIF関数を使うには?
ある質問を見ていて、日付と日付の間の日数を求める関数、DATEDIFを使うといいという回答を見ました。 「そういう関数あるんだ」とおもい、試してみたら、わたしのEXCELでは使えないようなのです。 =datedif(A1,B1,"m") と入力すると、#NUMという表示になります。 追加アドインなど必要なのでしょうか? WinXp Excel2003です。
- ベストアンサー
- オフィス系ソフト
- エクセルでDATEDIF関数使用時の並び替え
DATEDIF関数を使用し、以下の「25年0月」「5年0月」の算出をしてるんですが、その際の算出した答えを基に並び替えする場合、どのようなテクニックがあるんでしょうか? 【質問の例】 1980/4/1 2005/4/1 25年0月(計算式「=DATEDIF(A1,B1,"Y")&"年"&DATEDIF(A1,B1,"YM")&"月"」) 2000/4/1 2005/4/1 5年0月(計算式「=DATEDIF(A2,B2,"Y")&"年"&DATEDIF(A2,B2,"YM")&"月"」) ※1980/4/1がA1セルとなっています。 上記のような場合、昇順に並び替えすると25年0月が上で、5年0月が下にきてしまいます。5年0月を05年00月というような表示にできれば解決できるかなーと思うんですが、私のテクニックではできませんでした。できればVBAは使用しない方法でお願いします。(自分が使うファイルではないので) また、特にDATEDIF関数の使用にこだわっているわけではないので、別の期間計算の方法があればそれでも構いません。
- ベストアンサー
- オフィス系ソフト
- DATEDIF関数について
excel2007を使用し、日数の計算をしようとDATEDIF関数を使ってみました。日数に+1をした○日間を出したく、そのように関数を入れて無事に表示されましたが、空白欄には+1が並んでしまうのはやむを得ないのでしょうか? 開始日・終了日+1日(○日間)を出したく、開始日は入力済みのセルもあるのですが、終了日をにゅうりょくした時点で、○日間を表示させたいセルを日数を表示 ということがしたく。 ご存じの方がいらっしゃいましたら、お力を貸してください!!!
- 締切済み
- その他MS Office製品
- DATEDIF関数
関数初心者で困っています。ご伝授お願い致します。 日付けの期間を求めて利用したいのですが? 年末年始をまたぐと「#NUM」になります。何か良い設定はあるのでしょうか? IF(B2="","",(DATEDIF(B1,B2"d")))が計算式です。 よろしくお願い致します。 1/26
- ベストアンサー
- Excel(エクセル)
- 関数のDATEDIFに替わるものについて教えてください。
関数のDATEDIFに替わるものについて教えてください。 入社年月日から今現在の勤続年数を『何年何ヶ月』と表示したいのですが、 エクセル2000にDATEDIF関数がありませんでした。 関数が苦手なので分かりやすく教えてください。 よろしくお願いします。
- ベストアンサー
- その他(ビジネス・キャリア)
- エクセル関数 DATEDIFについて
エクセル関数が得意な方、答えが合っているか確認してください。 Q.Aさんの生年月日は1973/5/9で、2011/4/1現在の年齢を計算したい場合、 =DATEDIF(生年月日1973/5/9,2011/4/1現在,"y") ※実際には生年月日などのところに入っているのはセル番ですが・・・ 答えは37歳 Q.Aさんの入社日は1998/5/12で、2011/4/1現在の勤続月数を計算したい場合、 =DATEDIF(入社日1998/5/12,2011/4/1現在,"m") 答えは154月数 私のやり方と答え、これであっているのでしょうか? よろしくお願いします。
- ベストアンサー
- その他(学問・教育)
- エクセル DATEDIF関数
色々調べたのですがよくわかりません。 DATEDIF関数で年齢計算させたいと思います。 適当なセルに本日の年月日を表示させ、 A列に生年月日、B列に年齢を出そうと思います。 そのため、B1にDATEDIF関数を入れ、B2から下の行に、この関数をコピーしました。 この結果、A列に生年月日を入れれば隣のB列に年齢は出るのですが、A列に生年月日を入れなくても、B列には生年月日を1900年とした年齢が表示されます。 (今年なら118歳が表示されます。) 生年月日を入れていない行には年齢を表示させたくないのです。 入力した人だけの平均年齢を出したいのですが、この118歳が邪魔になります。 どうすればいいのでしょうか。
- ベストアンサー
- Excel(エクセル)
- エクセル2007の関数 DATEDIF
現在の状況は 関数の挿入をクリックして、 「関数の分類 すべて表示」で検索しても、DATEDIFが見つかりません。 「何をしたいか」に DATEDIFを入力しても、DATEDIFが見つかりません。 セルに直接 =DATEDIF(*,*,"*") 入力すれば正常に結果は表示されます。 office2007の修復をしても改善できません。 質問 「直接入力」する方法では未熟なために、引数の順番を間違えたりするので、できれば 「関数の挿入」機能を使いたいです。 添付図の赤色矢印の位置に DATEDIF を表示させる方法を教えて下さい。
- ベストアンサー
- Excel(エクセル)
- EXCELのdays360とDATEDIF関数について
現在text形式のデータをエクセル変換して集計してますが、日付データ(yyyy/mm/dd型)のデータ2つの間の日数を計算しようと思い、days360を使ってみましたが、返される値が『1901/01/日数』となってしまいます。同様にDATEDIFではエラーが出ます。元がテキスト形式から変換したデータで、量も膨大なため、いちいち""もかけられず、かといってTEXT関数やIF関数を使ってしたごしらえをすると容量が馬鹿みたいにでかくなってしまいます。 days360かdatedif関数のみでうまく日数のみ表現するにはどうしたらいいのでしょう?
- ベストアンサー
- オフィス系ソフト
お礼
早速のご回答ありがとうございます ドンピシャでした! 本当にありがとうございました!