2016-09-08 16 views
1

Excelの計算問題を解決するのに苦労しています。これは思ったよりも難しいようです。私はインターネット上で必要なアプローチを見つけることができません。私は得たいものの簡略版を提示し、結果を得るのを助けることができる人に永遠に感謝します。Excelでしきい値に達するまでの値を返す方法

100 // 30分の20/10/60/20 /、80

私が見てみたいことは次のとおりです:

100 // 30分の20

私は、次の行を持っています/ 10/40/0/0

したがって、最初の列は合計で次のすべての列について、この合計まで加算してセル内の値を返す時間分散値を持ちます。ある時点で、最初のセルで100に等しくなるのに必要な量。その後、しきい値に達し、ゼロを返すはずです。

私はこの問題を解決するための優雅な方法について知らないいくつかの式がありますか?ヘルプは非常に高く評価されています!

+0

わかりません。元の値を新しい値で上書きする必要があると言っていますか?そうでない場合は、最初の行などの範囲の例を与えることができますか?元の値が存在し、結果がどうなるか? –

+0

はい、私は最初の列にある '100'に累積するように値を上書きしたいと思います。 – RFM

+0

あなたは確かにVBAが必要です。 –

答えて

1

Sheet1(それぞれ100/20/30/10/60/20/80)の最初の行がA2:G2になっている場合は、Sheet2のセルB2に数式を入力し、 G2

=IF(COLUMN(B2)=2,'Sheet1'!B2,IF('Sheet1'!B2+SUM(A2:$B2)>='Sheet1'!$A2,'Sheet1'!$A2-SUM(A2:$B2),'Sheet1'!B2)) 
+0

素晴らしいです、ありがとう!さて、私は行の数が多い大きなデータシートを持っているので、行自体でこの結果を取得する必要があります。毎回行を追加するとかなり混乱すると思います。それを行う方法はありますか? – RFM

+0

VBAを使用せずに実際に上書きしているセルの値を含む数式で値を上書きするのは少し難しいです。新しいテーブルを作成してセル参照を一致させるだけで、テーブル全体に数式をコピーできるように絶対参照の一部を変更します。 – Jordan

+0

@RFM VBAを通じて、スピードの点で最も簡単な方法かもしれません。代わりに、手動計算に切り替え、データを入力して(コピー&ペーストも)、自動計算に戻るか、F9を押してください。 – Clauric

関連する問題