• ベストアンサー

366日を1年/0ヶ月/1日にする方法

Excelの関数を使って、A1セル「366」から、B1「1(年)」C1「0(ヶ月)」D1「1(日)」に分ける方法ありますか? 表示書式は年や日はいりません。数値だけが返ってくればいいです。 どなたかご存知でしたら教えて下さい。単純かもしれませんが急いでいてパニクっているため思いつきません~(T_T)助けてください。

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

  • ベストアンサー
  • wolv
  • ベストアンサー率37% (376/1001)
回答No.4

アドバイス: 月によって、ひと月の日数が違うので、 単純にはできません。つまり、どうやってもなんかしら問題がでます。 ------------------------------------------------------------ 回答: 例えば、year,month,day(それぞれ、1900年1月1日を”1”とした日付連番を引数として、年、月、日を返す関数)を使うなら、 「=YEAR(F13+1)-1900」 「=MONTH(F13+1)-1」 「=DAY(F13+1)-1」 となります。ただし、この場合は、1900年がうるう年なので、1年は366日であり、A1が366の場合は0(年)11(ヶ月)30(日)となります。

buuuuuuun
質問者

お礼

そうですね。閏年の問題があったことを考えると、ちょっと無理な話だったと反省しているところです。 勤続期間から休職期間を除いて純勤続期間を出そうとしていてこのような質問をさせていただいたのですが、ちょっと別の面から算出方法を考えていこうかと思っているところです。 回答ありがとうございました。

その他の回答 (4)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.5

こんにちは。maruru01です。 通常の年とうるう年で異なります。 通常の年 B1 =INT(A1/365) C1 =MONTH(MOD(A1,365)+36161)-1 D1 =DAY(MOD(A1,365)+36161)-1 うるう年 B1 =INT(A2/366) C1 =MONTH(MOD(A2,366)+1)-1 D1 =DAY(MOD(A2,366)+1)-1 でいけると思います。 では。

buuuuuuun
質問者

お礼

#4の方のお礼に書いたように、ちょっと別の切り口で算出しようかと思っています。回答いただいたのに、ごめんなさい。 どうもありがとうございました。

  • comv
  • ベストアンサー率52% (322/612)
回答No.3

こんにちは 起算する年によって答えが変わってきますが ご希望の場合、閏年以外の年の経過年月日とされて いるようなので(閏年なら1年0ヶ月0日) セルB1に  =DATEDIF("2002/1/1","2002/1/1"+A1,"y") セルC1に  =DATEDIF("2002/1/1","2002/1/1"+A1,"ym") セルD1に  =DATEDIF("2002/1/1","2002/1/1"+A1,"md") で如何でしょうか

buuuuuuun
質問者

お礼

回答ありがとうございました。

  • yama_x
  • ベストアンサー率20% (188/940)
回答No.2

日付間数を使わずに・・・ B1;=ROUNDDOWN(A1/365,0) C1;=ROUNDDOWN((A1-365*B1)/30,0) D1;=A1-B1*365-C1*30 というのはどうでしょう? *1年は365日、1ヶ月は30日で計算しています。

buuuuuuun
質問者

お礼

回答ありがとうございました。

回答No.1

B1からD1までA1の値を貼り付けて、B1のセルの書式設定の表示形式でユーザー定義を選択し、YYYY/MM/DDを選択します。 種類のボックスのところで、B1は、YYYY以外を削除、C1はMM、D1はDDとすれば、それぞれに年月日が表示されると思います。

buuuuuuun
質問者

お礼

回答ありがとうございました。

関連するQ&A

  • エクセル 7カ月15日を7.5カ月にしたい

    セルA1に「入居日」 セルB1に「退去日」 セルC1にA1とB1から関数を入れて、「入居日と退去日の間の期間」を表示させています。 (ちなみにC1には現在「=DATEDIF(A1,B1,"YM")&"ヶ月"&DATEDIF(A1,B1,"MD")&"日"」が入っています。) ここで解決したいのが、セルC1には現在「7か月15日」と出ています。 これを「7.5(か月)」と表示させたいのですが、どうしたらいいのでしょうか? なお、セルの書式設定で表示形式をさわる必要はありますか? 出来る限り簡単に教えていただけますと幸いです。 宜しくお願い致します。

  • エクセルで時刻と数値の加算方法

    エクセル2003にて、日時があるセルに入力されています。 例えば、A5セルに、「2012/9/10 13:30」とあり、書式は「yyyy:m:d h:mm aaa」です。 この日時にB5セルにある数値「58時間」を加算した日時をC5セルに表示したいのですが、解りません。書式「0"時間”」です。 TIME関数や、HOUR関数を色々使用してみたのですが、答えが出ません。 是非、教えて下さい。 宜しくお願い致します。

  • エクセルでの一括計算方法がありましたら教えてください

    A2~A60の1列に数値が入っています。 その値すべてに 0.55を掛けた値を隣のセル B2~B60に表示したいのですが 一括でできる方法はあるでしょうか? 最終的には、B2~B60の数値に隣のセルC2~C60の値を掛けた数値をD2~D60に表示したいのですが。。 1セルごとに関数を入れる以外に方法があれば と思って質問しました。 ご存知の方がいらっしゃいましたら ご指導 よろしくお願いします<(__*)>

  • エクセルでの一括計算方法がありましたら教えてください

    エクセルでの一括計算方法がありましたら教えてください A2~A60の1列に数値が入っています。 B2~B60の1列にも数値が入っています。     A2について、「A2+B2、A2+B3、・・・・、A2+B60」と計算し、     結果をCの一列C2、C3、・・・・、C60に表示     A3についても同様に「A3+B2、A3+B3、・・・・、A3+B60」と計算し、     結果をDの一列D2、D3、・・・・、D60に表示 以下同様にA60まで行いたいのですが、簡単に計算できる方法はあるでしょうか? セルごとに関数を入れる以外に方法があれば と思って質問しました。 ご存知の方がいらっしゃいましたら ご指導 よろしくお願いします。

  • EXCEL 何年何ヶ月間を求める関数を教えてください。

    EXCEL よろしくお願いします。  入社日がB1のセルに平成10年12月5日と入っています。 退職の日がC1のセルに平成16年5月15日と入っています。 勤務期間を何年間何ヶ月間(満年月)をD1に出したのですが どのような関数を使えばよいのか教え下さい。 よろしくお願いします。

  • Excelの時間計算(年・月・日 別々のセルで…)

    Excelの時間計算で悩んでいます。 2つの異なる日付(年、月、日別々のセルに入力したもの)の 日数の差を関数で表示させたいのですがうまく行きません。 例えば、 A列にスタート年、B列にスタート月、C列にスタート日、D列にエンド年、E列にエンド月、F列にエンド日を入力し G列にエンド年月日-スタート年月日の日数させたいと考えています。 +----A----B----C----D----E----F----G 1   2008      2      1   2008      2     28     24 G1にDATE(D1,E1,F1)-DATE(A1,B1,C1)の数値を表示させたいのです。 ひとつのセルに日付形式で年月日を持たせれば DATEIF関数で実現可能なのは判りましたが 運用上、年月日を別のセルにして管理したいと考えています。 どなたかお解りになる方、いらっしゃいませんでしょうか。

  • DATE関数 余分な日にちを非表示にさせる方法

    エクセルの達人の方、教えてください。 DATE関数でカレンダーを自動表示させ、ある集計をしています。 A1 に西暦、B1 に月の数値を入れると、以後の列毎に( C1、D1、E1---)1行目に"日付"、2行目に"曜日"を表示させています。 但し、締め日を起点にしている為、毎月16日~翌15日まで表示をさせており、31日分を表示させなければなりませんが、2月は元より、4月、6月、9月、11月の30日の月の表示の際、どうしても翌月が"16日"まで余分に表示してしてしまいます。 "16日"の表示を非表示にする方法を試行錯誤しています。 関数は、日付けと曜日の最初のセルにDATE関数を入れ、順次(=C1+1、=D1+1---)となっています(セルは表示形式と条件書式で日付けと曜日表示させています)。 最後の31個目(31日目)のセルに、条件書式やIF関数を入れてみたのですが、セルの値がシリアル値の為、引数を他の関数でうまく出来ません。 宜しくお願いします。。。

  • 28日~31日が必要ない所を空白表示にする方法

    お世話になります。 エクセル2003形式です。 セルC1には年月を入力しています。表示形式は右クリック→セルの書式設定→表示形式→日付→2001年3月を選択し「0000年00月」表示させています。 そして、B9~B39までC1で入力した年月に該当する日付を表示させています。表示形式は右クリック→セルの書式設定→表示形式→ユーザー定義→dを入力し「1~31の数字」を表示させています。 C1セルの年月を入力した際、例えば2013年2月は29日~31日が必要なく(セルで言えばB36~B39)2013年11月は31日が(セルで言えばB39)が必要ありません。 セルC1に2013年11月を入力すると、セルB39は「1」が表示させます。これは次の月の2013年12月1日をエクセルファイルが判断して表示しているのでしょう。 そこで質問ですが、上記で書いた29日~31日で表示させる必要の無い箇所は「1」などと表示させず空白表示にさせる方法はありますか?

  • ISBLANK関数を二段階まで設定するには?

    初めまして。 途中までは出来ているのですが、どうしても分からない関数があった為、質問させて頂きます。 <分かっている設定方法> (1) A1のセルに、B1に入力された数値を反映させる。 (2) C1にも数値が入力されたら、A1のセルにC1の方を優先的に反映させる。 関数 =IF(ISBLANK(C1),B1,C1) ここまでは出来るんです。しかし、さらに次のような設定にしようとすると、どうしても上手く行きません。 <やり方が分からない設定方法> (3)さらにD1に数値が入力されたら、A1のセルにD1の方を優先的に反映させる。 すなわち、A1に反映される優先順位を D1>C1>B1 にする。 色々やっているのですが、どうしても、この関数が上手く書けません。 どのような関数を書けば良いのでしょうか? ちなみに、Excelは2000年バージョンを使っています。

  • 関数を使わないでそのセルに出力する方法

    ある計算式が入ったセルがあったとして、その計算された値(見かけ上の数値)をどこか別のセル(空白のセル)に返す方法をご存知でしたら教えてください。 返したいセルには関数すら入れないという方法でやりたいので、マクロを使うしかないと思うのですが、どのようなマクロを作ればよいのか見当が付かないのです(計算されてきた見かけ上の値を参照してどっかに出力する方法などあるのでしょうか)。 例えば↓みたいな感じ   A   B    C       D 1  10  10  =SUM(A1:B1) C1のセルは見かけ「20」となりますが、実際には「=SUM(A1:B1)」となっています。この「20」をD1にそのまま抽出したいと考えています(D1のセルには何も関数を入れないで、見かけ上も実際に入っている数値も「20」としたいのです) 関数だけでは無理ですよね?

専門家に質問してみよう