エクセルでDATEDIF関数使用時の並び替えについて

このQ&Aのポイント
  • DATEDIF関数を使用して算出した期間の並び替え方法を教えてください。
  • 並び替える際に、5年0月を「05年00月」と表示する方法があれば教えてください。
  • もしDATEDIF関数以外の期間計算方法があれば、それも教えてください。
回答を見る
  • ベストアンサー

エクセルで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関数の使用にこだわっているわけではないので、別の期間計算の方法があればそれでも構いません。

質問者が選んだベストアンサー

  • ベストアンサー
noname#176215
noname#176215
回答No.1

書式を変えたい時は TEXT関数を使います。 =TEXT(DATEDIF(A1,B1,"Y"),"00年") &TEXT(DATEDIF(A1,B1,"YM"),"00月") こんな式で対応できると思います。

soba_tarou
質問者

お礼

すばやいレスありがとうございます。早速試しましたが見事解決しました! これから先生と呼ばせてください。

関連するQ&A

  • EXCEL DATEDIF関数について

    質問があります。 EXCELのDATEDIF関数で日付の期間内の年数、月数、日数、時間を2つのデーターから算出したいのですが、うまくできません。 そもそもDATEDIF関数では時間に対しては対応できないのでしょうか? また算出できる方法が有れば教えて頂けないでしょうか? データー基(例) A,14/04/30 00:01 B,14/05/02 05:03 宜しくお願い致します。

  • =DATEDIF関数のエラー

    Excel2007にて下記の関数をE2に書いてありD2にはToday()を書いてあります。(特にこの場合他の理由があってC2はあえて空欄) =DATEDIF(B2,D2,"Y")&"/"&DATEDIF(B2,D2,"YM")&"/"&DATEDIF(B2,D2,"MD") 今,本日(2009/2/3)B2に2009/01/03と入れると0/1/0と返ってきて正解ですが不思議なことに 2009/01/04と入れると0/1/1となるべき所0/0/27となってしまいます。 以下一月四日以降を入れると正しく計算されません。 原因が分からず困っています。教えて下さい。

  • 期間を求めるエクセル関数について

    期間を求めるエクセル関数について DATEDIF(B14,B16,"Y")&"年"&DATEDIF(B14,B16,"YM")&"ヶ月"という関数で求められる数値に+1にする関数があれば教えて下さい。 例えば、1983年4月~1985年6月の期間を上記の関数で求めると2年2ヶ月(26ヶ月)になるのですが、2年3ヶ月(27ヶ月)としたいのですがどうしたら良いでしょうか? 単純に考えて+1にすればいいので簡単なのかと思ったのですが、なかなか関数が作れませんでした。。。

  • エクセル関数 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歳が邪魔になります。 どうすればいいのでしょうか。

  • エクセルで年月の合計の関数を教えてください。

    エクセルで2つの日付から年月数を求める関数(=TEXT(DATEDIF(A1,BI,"Y"),"0年;;")&TEXT(DATEDIF(A1,B1,"YM"),"0ヶ月;;")で出た期間の合計を出す関数を教えてください。(たとえば,2年6ヶ月と1年3ヶ月を足し,3年9ヶ月となるように) よろしくお願いします。

  • エクセルで経過年数の平均

    エクセルで、DATEDIF(A1,B1,"Y")&"年"&DATEDIF(A1,B1,"YM")&"ヶ月"と関数を使い、経過年数&月数を「○年○ヶ月」と計算するデータを作りました。 さらに、計算された経過年数&月数の平均を求めたいのですが上手くいきません。 どうすればいいでしょうか?よろしくお願いします。

  • エクセルで年月の合計を求める関数を教えてください。

      A列     B列       C列 2000/4/1  2002/3/31   2年 2002/4/1  2004/9/30   2年6ヶ月 2005/4/1  2005/6/30   3ヶ月 として,C列の関数は(=TEXT(DATEDIF(A1,BI,"Y"),"0年;;")&TEXT(DATEDIF(A1,B1,"YM"),"0ヶ月;;")としています。 そこで,C列のみで(空白期間があるので)年月を合計する関数を教えてください。 (上記の例の場合,4年9ヶ月となるように) よろしくお願いします。

  • DATEIF関数で算出した結果の件

    (1)DATEIF関数を使用する際に満の経過日数を算出したい場合どのような作業を行えばよろしいでしょうか? 例)  開始日……2000/01/01     終了日……2000/01/01     経過日数…0年1ヶ月 というふうに同じ日付でも1カ月と算出するにはどのような関数を入力すればよろしいのでしょうか? =DATEDIF(A1,B1,"Y")&"年"&DATEDIF(A1,B1,"YM")&"ヶ月" 上記の関数を入力すると、結果が0年0ヶ月となってしまいます。 (2)DATEIF関数で算出した経過日数の平均を出したいのですが、 文字列扱いになっているのか、AVRAGE関数が使用できません。 どのような関数を使用すれば、またはどのような作業を行えば良いのでしょうか? 試行錯誤していますが、本当に分からなく質問致しました。 よろしくお願い致します。

  • 年齢算出関数教えて下さい

    年齢算出関数で今まで =DATEDIF(A1,B1,"Y")A1は1937/2/27 B1は2004/3/22 と入れてで計算されましたが、今M20.15.20という様に出てきます。 なぜでしょうか。

専門家に質問してみよう