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

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

A 回答 (5件)

アドバイス:


月によって、ひと月の日数が違うので、
単純にはできません。つまり、どうやってもなんかしら問題がでます。
------------------------------------------------------------
回答:
例えば、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(日)となります。
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/07/08 13:50

こんにちは。

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

でいけると思います。
では。
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/07/08 13:52

こんにちは



起算する年によって答えが変わってきますが
ご希望の場合、閏年以外の年の経過年月日とされて
いるようなので(閏年なら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")

で如何でしょうか
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/07/08 13:47

日付間数を使わずに・・・


B1;=ROUNDDOWN(A1/365,0)
C1;=ROUNDDOWN((A1-365*B1)/30,0)
D1;=A1-B1*365-C1*30
というのはどうでしょう?

*1年は365日、1ヶ月は30日で計算しています。
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/07/08 13:47

B1からD1までA1の値を貼り付けて、B1のセルの書式設定の表示形式でユーザー定義を選択し、YYYY/MM/DDを選択します。


種類のボックスのところで、B1は、YYYY以外を削除、C1はMM、D1はDDとすれば、それぞれに年月日が表示されると思います。
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/07/08 13:46

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