2011-07-15 18 views
2

単一のメガフォーマルに結合せずに一連の値を評価する方法はありますか?メガフォーマルを作成する代わりに

例で説明することは簡単です。表1は、このようになります言う:

 A  B  C   D    E   F 
1 PRODUCT COST MARKUP SECRET FORMULA  PRICE  PROFIT 
2 burger  4.00 50%   =22*12345 =B2*(1+C2)*D2 =E2-B2 
3 fries  3.00 50%   =22*12345 =B3*(1+C3)*D3 =E3-B3 
4 soda  1.50 50%   =22*12345 =B4*(1+C4)*D4 =E4-B4 

私はこのように、各製品のためのマークアップ率の範囲の利益を返すために、表2を構築したい!の表2 B2で

 A  B  C   D   E  F 
1 MARKUP 10%  20%  30%  40%  50% 
2 burger 
3 fries 
4 soda 

、私がしたいですTable1!$ C2セルの値がTable2!B $ 1の列見出し値に設定されているときに、Table1!$ C2セルの値を表示します。言い換えれば、マークアップが10%のときにハンバーガーの利益が欲しいということです。行とセルをコピーすることで、マークアップを10%から50%に変更したときの各アイテムの利益への影響を確認できます。

は私が表1から数式を組み合わせることにより、手動でこれを行うことが知っている、例えば表2のための単一のmegaformulaにcolsのDとEは、細胞Table2B1は、この式だろう:

= Table1!B2*(1 + B$1)*22*12345 

をしかしみましょうSECRET FORMULAは、実際には数十種類の依存関係を持つ複数の列にわたって非常に複雑な一連の計算であると言います。実際の数式は約20列にわたり、8行の式が生成されます...編集は不可能です。

だから、表1の従属式のシリーズを内蔵した、表2を生成するために、これらの式を使用するのは素晴らしいことだ、それら全てを複製することなく表2.

+1

「エクセルの方法」は、あなたがやったことだけを行うことです - あなたの計算を複数の中間細胞に分解してください。それは論理が決して変わらないことを100%確信していないかぎり、 "メガフォーミュラ"に優先されます(ha!)。しかし、この回答のオプション(2.5)と(3)を参照して、それらが助けであるかどうかを確認してください:http://stackoverflow.com/questions/4640336/using-a-sheet-in-an-excel-user-defined-機能/ 4640866#4640866 – jtolle

+0

ありがとうございました。問題は、これらの複数の中間セルを別のテーブルの計算としてどのように使用するのかです。 –

+0

オプション2.5は私が必要とするものを行うべきです。私は1つの独立した変数と1つの結果しか持たず、 "もしあれば"の分析をしようとしています。あなたが回答として投稿するなら、私は受け入れてポイントを得るでしょう。ありがとう。 –

答えて

0

式の下の境界をつかみますそれをバーや下にドラッグあなたは

enter image description here

+0

ありがとうございました。しかし、それでもほぼ全画面にわたる数式を維持することは不可能です。 Altキーを押しながらEnterキーを押すと、読みやすくなります。下の数式を投稿して、私が話している大きさを見ることができます。 –

+0

@Ed Haywook OMG私はその式の10%が巨大だと思っていました。あなたがExcelを必要とするなら、VBAと一緒に行きましょう。さもなければ、ExcelでAlt + F4を押して、他のプログラミング言語で試してみてください。 –

+0

LOL、ええ、それは醜いものです。それを悪くするのは、依存関係を持つすべてのIF式です。いくつかの値はそれ自身を12回繰り返す。私はおそらくそれを短縮するためにいくつかの分解を行うことができますが、それも長く関与するプロセスだろう。 –

1

を編集するために必要として、あなたはそうちょうどmegaformulaがいかに巨大で手に負えないの感触を得るために、私は以下のことを掲載しているなど、多くの行を取得します:

=表6 [[この行]、[FBLR]] * AC $ 1-(表6 [[この行]、[基本給与]] + IF(IF(表6 [[この行]、[免除]] (AC $ 1 - 'Break Even'!$ D $ 32)> 'Break Even'!$ D $ 31、(AC $ 1 - 'Break Even'!$ D $ 32) (AC $ 1-'Break(AC $ 1 -'Break) '$ D $ 32))> 0、IF(表6 [[この行]、[除外]] = "Y" AC $ 1 - 'Break Even'!$ D $ 32) - 'Break Even'!$ D $ 31,0)、(AC $ 1 - 'Break Even' '!$ D $ 32))* IF(表6 [[この行]、[除外]] = "Y"、表6 [[この行]、[料金]]、表6 [[この行]、[ (表6 [[この行]、[基本給与]] + IF(IF(表6 [[この行]、[免除])] AC $ 1 - 'Break Even'!$ D $ 32) - 'Break Even'!$ D $ 31、(AC $ 1 - 'Break Even'!$ D $ 32) (AC $ 1 - 'D $ 31,0)、(AC $ 1 - ' Break Even '!$ D $ 32))> 0、IF(表6 [[この行]、[免除]] = "Y" $ D $ 31)、(AC $ 1 -'Break($ D $ 32)) - 'Break Even'!$ D $ 31) )* IF(表6 [[この行]、[除外]] = "Y"、表6 [[この行]、[ペイレート]]、T表6 [[この行]、[ベース給与]] + IF(表の行)、[ IF $(AC $ 1 -Break Even '!$ D $ 32)>' Break Even '!$ D $ 31、(AC $ 1-'Break $ D $ 31,0)、(AC $ 1 -Break Even '!$ D $ 32))> 0、IF(表6 [この行]、[免除] AC $ 1 - 'Break Even'!$ D $ 32) - 'Break Even'!$ D $ 31、(AC $ 1 - 'Break Even'!$ D $ 32)表6 [[この行]、[除外]] = "Y"、表6 [[#この行]、[表6 [[この行]、[基本給与]] + IF(IF(表6 [[#給与率]]、表6 [[この行]、[給与率]] * 1.5)、0) (AC $ 1 -Break Even '!$ D $ 32)>' Break Even '!$ D $ 31(AC $ 1-'Break Even'!$ D $ 32)この行は、[免除] = "Y" (AC $ 1 -Break Even '!$ D $ 32))> 0、IF(表6 [[この行]、[免除]] = "Y" IF $(AC $ 1 -'Break Even '!$ D $ 32)>' Break Even '!$ D $ 31、(AC $ 1 -'Break Even'!$ D $ 32) - 'Break Even'!表6 [[この行]、[除外]] = "Y"、表6 [[#この行]、[ * Fring!$ D $ 28 * Fringe!$ D $ 29 * Fringe!$ E $ 29 + Fringe!$ D $ 30 * $ F $ 34 * 12、IF(Table1 [[This?Row]、[TC?]] = $ E $ 30 + IF(テーブル1 [ (Fringe)$ F $ 34 * 12 + Fringe!$ E $ 34 * 12 * Fringe!$ D $ 34)/ 2))+(表6 [ (AC $ 1 -'Break Even '!$ D $ 32)>'休憩 '、'基本行事 '] + IF(IF(表6 [[この行]、[免除]] = "Y" $ AC $ 1 - 'ブレーク・イーブン'!$ D $ 32) - 'ブレーク・イーブン'!$ D $ 31,0) IF $(AC $ 1 -Break Even '!$ D $ 32)>' Break Even '!$ D $ 31、(AC $ 1-'Break (AC $ 1 -Break Even '!$ D $ 32))* IF(表6 [[この行]、[免除]] =表6 [[#行]、[ペイレート]] * 1.5)、0))* Fringe!$ D $ 32 +(表6 [ (AC $ 1 - 'ブレーク・イーブン'!$ D $ 32)> 'ブレーク・イーブン(ブレーク・イーブン) (AC $ 1 - 'ブレーク・イーブン'!$ D $ 32) - >ブレーク・イーブン!$ D $ 31,0)、 (AC $ 1 -'Break Even '!$ D $ 32)>' Break Even '!$ D $ 31、(AC $ 1-'Break Even (AC $ 1 -Break Even '!$ D $ 32))* IF(表6 [[この行]、[免除]] =表6 [行番号]、表6 [行番号]、[支払額]] * 1.5)、0))* Fringe!$ D $ 33 + Fringe!$ E $ 35 * 12 *フリンジ!$ D $ 35 +テーブル1 [フリンジ!] $フリンジ!$フリンジ!$フリンジ!$フリンジ!$ D $ 37)

関連する問題