Excelや関数にお詳しい方、教えて下さい。

製造日から賞味期限までの期間の3分の1の時点や3分の2の時点、2分の1の時点を割り出す関数を教えて下さい。

(例)

(1)製造日:2011年4月15日で、 賞味期限は9ヶ月、なので来年の 1/15となる。

この場合で、3分の1の時点の月日を出すには、どのような関数を作ればいいのでしょうか?

(2)上記の日にちで、3分の2の時と、2分の1の時は、どこを直せばいいでしょうか?

例えば、ExcelのA列に、製造年月日の日にちを入れて、B列に賞味期限の日数、9ヵ月とか12ヶ月と入力すると、C列には、1/3の日にちが出て、D列には1/2の日にちが出るような表を作りたいと思っています。

説明が下手ですみません。意味が不明など質問して下さい。

関数やExcel、納入期限設定などにお詳しい方、どうぞよろしくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (6件)

B列は 「月数」を入力する


C2セル 賞味期限
=DATE(YEAR(A2),MONTH(A2)+B2,DAY(A2))

D2セル 3分の1 比例計算 y=ax+b を思い浮かべる
ただし、時間は切り捨て。
=INT(($C2-$A2)/3)+$A2

E2セルもD2セルと同様
=INT(($C2-$A2)/2)+$A2

E2セルもD2セルと同様
=INT(($C2-$A2)*2/3)+$A2
「Excelや、ややこしい関数について教え」の回答画像6
    • good
    • 0
この回答へのお礼

ありがとうございます!!エクセル表を張り付けてくださって、とても分かりやすくて、助かりました。
本当にありがとうございました。

お礼日時:2011/04/17 22:21

既出の回答の式では


A1に2011/2/12、 B1に2とすると、 C1は2011/2/12(式=IF($A1="","",DATE(YEAR($A1),MONTH($A1)+$B1/3,DAY($A1))) )  
となるが
D1に=IF($A1="","",DATE(YEAR($A1),MONTH($A1)+$B1,DAY($A1))))で2ヵ月後の日付を出し
=A1+(D1-A1)/3 で期間日数の1/3を経線なして計算して足す
で=A1+(D1-A1)/3で
2011/3/3
が良いのでは。つきを3などで割った値が整数化かされるのでは。
両者を一体化して1つの式に出来る。
=IF($A1="","",$A1+(DATE(YEAR($A1),MONTH($A1)+$B1,DAY($A1))-$A1)/3)
1/2の場合は/3を/2にする。
なお、Xヵ月後の賞味期限とは、X月後の応答月の当該の日が期限と理解する(慣行?法定?)。
B1はつき表示で入力されていること(1年ー>12月、2年ー>24月)
EDATEを使う方が良いかと思うが、バージョンによっては、アドイン関数なので注意必要。
    • good
    • 0
この回答へのお礼

ありがとうございます。バージョン情報もありがとうございました。

お礼日時:2011/04/17 22:21

こんにちは!


一例です。

下の画像でB2セルに
=A2+(EDATE(A2,D2)-A2)*B1
という数式を入れています。

尚、EDATE関数を使用するにあたって、当方使用のExcel2003以前のバージョンでは
メニュー → ツール → アドイン → 「分析ツール」にチェックを入れておく必要があります。
参考になれば良いのですが・・・m(__)m
「Excelや、ややこしい関数について教え」の回答画像4
    • good
    • 0
この回答へのお礼

エクセル表の貼り付けありがとうございます。今日何時間もやって、へんてこなものしかできずに困っていました。助かりました。バージョンの確認とチェックの仕方も詳しく教えて下さってありがとうございました。

お礼日時:2011/04/17 22:24

そのような関数はまだ無いようです。



製造日からEDATE(製造日日,月数)で賞味期限を算出します。
賞味期限日から製造日を引きます。(日付のままでok)
引いた値を1/3したものを、仮に賞味1/3と呼びます。
C列には、DATEVALUE(製造日)+賞味1/3。
D列には、1/2した値で計算します。

F1:EDATE(A1,B1)
G1:(F1-A1)/3
C1:DATEVALUE(A1)+G1

F1,G1はC1にまとめることも出来ます。
1日以下の端数が問題ならROUND,ROUNDUP,ROUNDDOWNなどで
調整できます。
    • good
    • 0
この回答へのお礼

ありがとうございました。ROUNDも教えて下さって、ありがとうございます。

お礼日時:2011/04/17 22:26

A1=製造日


B1=賞味期限(月数)
C1=DATE(YEAR(A1),MONTH(A1)+B1/3,DAY(A1))
D1=DATE(YEAR(A1),MONTH(A1)+B1/2,DAY(A1))
E1=DATE(YEAR(A1),MONTH(A1)+B1*2/3,DAY(A1))
    • good
    • 0
この回答へのお礼

ありがとうございました。助かりました。

お礼日時:2011/04/17 22:26

C1セルには次の式を入力して下方にオートフィルドラッグします。



=IF($A1="","",DATE(YEAR($A1),MONTH($A1)+$B1/2,DAY($A1)))

D1セルには次の式を入力して下方にオートフィルドラッグします。

=IF($A1="","",DATE(YEAR($A1),MONTH($A1)+$B1/3,DAY($A1)))
    • good
    • 0

このQ&Aに関連する人気のQ&A

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


人気Q&Aランキング