エクセル初心者からの再質問です。

http://q.hatena.ne.jp/1263319539

例えば2010年1月1日22:00をスタート地点として、12時間ごとに商品が1個増える。

しかし途中で、商品が増えるまでの時間が減少することがある。
減少する時間は1回につき0.5%(12時間のうち3.6分)。
減少した瞬間から-0.5%となる。


で、減少したときに次に商品が増える時間は、
=A1+(1*(B1-A1))+(0.995*(0.5-(B1-A1)))
で求められました。

そこから
=A2+(0.5*0.995)
と入力すればその後の商品追加日時も出せるのですが、
時間減少時に入力が多く、いまいちスムーズではありません。

商品追加日時をもっとスマートに算出する方法を教えてください。


違うやり方で、もっと簡単な方法もあるよーって方も大歓迎です。

回答の条件
  • 1人5回まで
  • 登録:2010/01/13 21:15:21
  • 終了:2010/01/14 17:59:43

ベストアンサー

id:SALINGER No.4

SALINGER回答回数3454ベストアンサー獲得回数9692010/01/14 11:43:46

ポイント200pt

もう解決しているかもしれませんが、話を複雑にした責任もあるので回答しておきます。

前回の回答に割合の部分を組み込みました。


A B
1 =B1 2010/1/1 22:00:00
2 数式 2010/1/15 10:00:00
3 上をコピー 2010/1/24 23:23:00
4 上をコピー 2010/2/22 11:45:00

数式

=IF(INDEX(B:B,MATCH(A1,B:B,1)+1)="",A1+0.5-0.0025*(MATCH(A1,B:B,1)-1),IF(INDEX(B:B,MATCH(A1,B:B,1)+1)<A1+0.5-0.0025*(MATCH(A1,B:B,1)-1),A1+(INDEX(B:B,MATCH(A1,B:B,1)+1)-A1)*(1-0.005*(MATCH(A1,B:B,1)-1))+(0.5+A1-INDEX(B:B,MATCH(A1,B:B,1)+1))*(1-0.005*(MATCH(A1,B:B,1))),A1+0.5-0.0025*(MATCH(A1,B:B,1)-1)))

コメントを見るとA列が商品増加日時、B列が期間減少日時となっていたので合わせました。

B列の期間減少日時は対応する期間の横に書くのも手間なので上詰めで順番に入力にしました。

12時間の間に2回以上の変更には未対応です。(それは数式では難しそうです)

id:winbd

おお!思い描いてた理想にかなり近いです!

やっぱり2回以上の変更の対応は難しいですよね><


でもこれだけコンパクトで使いやすければ十分です。ありがとうございます!

2010/01/14 17:55:29

その他の回答(3件)

id:marcy2021 No.1

marcy2021回答回数5ベストアンサー獲得回数02010/01/14 00:06:45

ポイント30pt

商品が増えるまでの時間がいつ減少するか。そのタイミングが将来的に不確定とのことですので、

減少するタイミングをご自身で(E列に)指定できるような構成を考えました。

ここでは、商品追加の所要時間(初期値)を「720分」、所要時間の減少分を「3.6分」という風に、

単位を「分」に統一して話を進めていきます。


完成イメージの抜粋は、ご覧のような感じです。(★印はセルの枠線)


1★2010/1/1 22:00★(空白)★0★No

2★2010/1/2 10:00★720 ★0★No

3★2010/1/2 21:56★716.4 ★1★Yes

4★2010/1/3 9:52★716.4 ★1★No

5★2010/1/3 21:44★712.8 ★2★Yes


以下の記載をご覧になりながら、実際にExcelに入力してみてください。


■ 1行目には、分かりやすく項目名を記載します。

 A1: 商品個数 B1: 商品追加日時

 C1: 商品追加の所要時間(分) D1: 所要時間の通算減少回数 E1: 所要時間の減少タイミング(Yes/No)


※ B列こそが、あなたの欲しい日時となります。

「2010/1/7 8:34」といった形式で表示されるよう、B列の書式を設定してください。


■ 2行目は、スタート地点(初期値)の値を入力します。

 A2: 1 B2: 2010/1/1 22:00

 D2: 0


※  C2、E2は空白でかまいません。


■ 3行目が本番です。=(イコール)から始まる以下の数式を入力します。

 A3:=A2+1 B3:=B2+TIME(0,C3,0) C3:=720-D3*3.6

 D3:=IF(E3="Yes",D2+1,D2)



以上で下準備は完了です。3行目の入力が完了したら、A3からD3までの4セルをコピーし、

4~1000行目(お好きにどうぞ)に対して貼り付けてください。


あなたがE列に「Yes」と入力した行で、

商品追加の所要時間が逓減しているのを確認することができると思います。


よろしかったら、お試しください。

id:winbd

ひじょーにわかりやすい説明でありがたいのですが、

これだと「商品が増えた時間」にしか時間減少が認められないですよね?

これは前の質問でも回答してくれた方がたくさんいました。


例えば1/2 5:00に時間減少が発生することもあるので、

そうなると、5:00から10:00までだけ-0.5%の時間減少が適用されるわけです。

そこが難しいのです。

2010/01/14 02:23:21
id:heke2mee No.2

heke2mee回答回数162ベストアンサー獲得回数432010/01/14 03:52:10

ポイント30pt

前のコメントに記入したけど、見てないかもしれないので念のため書いておきますね。

思ってるのと違うかな?

こちらにExcelのブックをアップしました

DLキーワード hatena

公開期限:2010年1月20日 0時0分0秒

http://www1.axfc.net/uploader/Sc/so/73370

id:winbd

わざわざ作って頂いてありがとうございます。

これもやはり商品増加時~次の商品増加までを-0.5%にしちゃうタイプですよね。

5時間分は-0%、残り7時間は-0.5%というような場合をどう処理するかが問題なのです。

2010/01/14 04:14:39
id:naninanida11 No.3

naninanida11回答回数193ベストアンサー獲得回数32010/01/14 07:39:06

プロパティで修正する。

vbaで組んじゃう。

http://q.hatena.ne.jp/1263396369

id:winbd

0ポイント

2010/01/14 17:37:28
id:SALINGER No.4

SALINGER回答回数3454ベストアンサー獲得回数9692010/01/14 11:43:46ここでベストアンサー

ポイント200pt

もう解決しているかもしれませんが、話を複雑にした責任もあるので回答しておきます。

前回の回答に割合の部分を組み込みました。


A B
1 =B1 2010/1/1 22:00:00
2 数式 2010/1/15 10:00:00
3 上をコピー 2010/1/24 23:23:00
4 上をコピー 2010/2/22 11:45:00

数式

=IF(INDEX(B:B,MATCH(A1,B:B,1)+1)="",A1+0.5-0.0025*(MATCH(A1,B:B,1)-1),IF(INDEX(B:B,MATCH(A1,B:B,1)+1)<A1+0.5-0.0025*(MATCH(A1,B:B,1)-1),A1+(INDEX(B:B,MATCH(A1,B:B,1)+1)-A1)*(1-0.005*(MATCH(A1,B:B,1)-1))+(0.5+A1-INDEX(B:B,MATCH(A1,B:B,1)+1))*(1-0.005*(MATCH(A1,B:B,1))),A1+0.5-0.0025*(MATCH(A1,B:B,1)-1)))

コメントを見るとA列が商品増加日時、B列が期間減少日時となっていたので合わせました。

B列の期間減少日時は対応する期間の横に書くのも手間なので上詰めで順番に入力にしました。

12時間の間に2回以上の変更には未対応です。(それは数式では難しそうです)

id:winbd

おお!思い描いてた理想にかなり近いです!

やっぱり2回以上の変更の対応は難しいですよね><


でもこれだけコンパクトで使いやすければ十分です。ありがとうございます!

2010/01/14 17:55:29
  • id:heke2mee
    初期状態

    商品追加日時 ★間隔 ★減少タイミング ★次回予定日時
    2010/1/1 22:00:00★12:00:00★ ★2010/1/2 10:00:00

    時間減少タイミングに2010/1/2 05:00を入力すると次回予定日時の2010/1/2 10:00までの
    間隔の5時間に対して5%の減少時間が生じる(1:30秒)


    商品追加日時 ★間隔 ★減少タイミング ★次回予定日時
    2010/1/1 22:00:00★12:00:00★2010/1/2 05:00:00★2010/1/2 09:58:30


    次に2010/1/2 09:58:30の入力時の間隔は前回の間隔と同じ11:58:30なのか
    12:00:00から5%の3分36秒を引いた11:56:24のどちらでしょうか?


    商品追加日時 ★間隔 ★減少タイミング ★次回予定日時
    2010/1/1 22:00:00★12:00:00★2010/1/2 05:00:00★2010/1/2 09:58:30
    2010/1/2 09:58:30★11:58:30★ ★2010/1/2 21:57:00
  • id:heke2mee
    11:58:30にした方を置いときますね
    キーワード hatena
    http://www1.axfc.net/uploader/Sc/so/73400
  • id:winbd
    >heke2meeさん
    すいません、一度減少した%はずっとそのままなんです><
    なので3分36秒を引いた後者になります。
    次に時間減少が起きた場合は、1%の8分12秒を引くことになります。
  • id:winbd
    訂正 7分12秒でした。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません