替代创build一个megaformula

有没有一种方法来评估一系列公式的价值表,而没有把它们合并成一个单一的兆字节?

举个例子来说比较容易。 说Table1看起来像这样:

ABCDEF 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 

现在我想要build立Table2来为每个产品的一系列标记率返回利润,如下所示:

  ABCDEF 1 MARKUP 10% 20% 30% 40% 50% 2 burger 3 fries 4 soda 

在Table2!B2中,当单元格Table1!$ C2的值设置为Table2!B $ 1中的列标题值时,我想要显示单元格Table1!$ C2的值。 换句话说,当加价是10%时,我想要一个汉堡的利润。 然后通过复制行和单元格,当我将标记从10%变为50%时,我可以观察到每个项目的利润的影响。

我知道我可以通过将表1,列D和E中的公式组合成表2中的单个macros观公式来手动执行此操作。例如,单元格Table2B1将具有以下公式:

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

但是让我们说,SECRET FORMULA实际上是一个非常复杂的一系列数十列依赖项的计算。 我实际的一套公式跨越了大约20列,并生成一个8行公式…不可能编辑。

因此,在表1中构build了一系列依赖公式,使用这些公式生成表2是很好的,而不必在表2中复制它们。

所以只是为了感受一下这个megaformula是多么巨大和难以pipe理的,我已经把它贴在下面:

(Table6 [[#This Row],[Base Salary]] + IF(IF(Table6 [[This Row],[豁免]] = “Y”,IF((AC $ 1 – 'Break Even'!$ D $ 32)>'Break Even'!$ D $ 31,(AC $ 1-Break Even!$ D $ 32) $($ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $) $ D $ 31,(AC $ 1 – 'Dreak Even'!$ D $ 32) – 'Break Even'!$ D $ 31,0),(AC $ 1 – 'Break Even' !$ D $ 32))* IF(Table6 [[#This Row],[exempt]] =“Y”,Table6 [[This Row],[Pay rate]],Table6 [[This Row],[Pay (表6 [[#本行],[基本工资]] + IF(IF)(表6 [[本行#],[豁免]] + Fringe!$ D $ 27 * IF =“Y”,IF((AC $ 1 – 'Break Even'!$ D $ 32)>'Break Even'!$ D $ 31,(AC $ 1 – Break Even!$ D $ 32) $($ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $)甚至'!$ D $ 32)>'Break Even'!$ D $ 31,(AC $ 1 -'Break Even'!$ D $ 32) – 'Break Even!'$ D $ 31,0),(AC $ 1 – 表6 [[本行],[付款率]],表6 [[本行#],[本行#]本行,[免除] =“Y”霸 (表6 [[本行],[基本工资]] + IF(IF)(表6 [[本行]])* Fringe!$ E $ 27,Fringe!$ E $ 27, ,(豁免)] =“Y”,如果((AC $ 1 – 'Dreak Even'!$ D $ 32)>'Break Even'!$ D $ 31,(AC $ 1 – 'Break Even'!$ D $ 32) (表6 [[#本行],[豁免]] =“是”,如果((($($ $ $ – $则为$!$ D $ 32) AC $ 1 – 'Break Even'!$ D $ 32)>'Break Even'!$ D $ 31,(AC $ 1 – 'Dreak Even'!$ D $ 32) – 'Break Even'!$ D $ 31,0),(AC $ 1 – 'Break Even'!$ D $ 32))* IF(Table6 [[#This Row],[exempt]] =“Y”,Table6 [[#This Row],[Pay rate]],Table6 [[#这行],[付款率]] * 1.5),0)))+(表6 [[本行],[基本薪金]] + IF(IF(表6 [[本行],[豁免]] = “Y”,IF((AC $ 1 – 'Break Even'!$ D $ 32)>'Break Even'!$ D $ 31,(AC $ 1-Break Even!$ D $ 32) $($ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $) $ D $ 31,(AC $ 1 – 'Dreak Even'!$ D $ 32) – 'Break Even'!$ D $ 31,0),(AC $ 1 – 'Break Even' !$ D $ 32))* IF(Table6 [[#This Row],[exempt]] =“Y”,Table6 [[This Row],[Pay rate]],Table6 [[This Row],[Pay鼠 (表1 [[#这行])* Fringe!$ D $ 28 + Fringe!$ D $ 29 * Fringe!$ E $ 29 + Fringe!$ D $ 30 * Fringe!$ E $ 30 + IF ,[TC?] =“Y”,Fringe!$ F $ 34 * 12,IF(表1 [[#本行],[TC?]] =“N”,附带!$ E $ 34 * 12 * Fringe!$ $ F $ 34 $ 12 + Fringe $ $ 34 $ 12 * Fringe!$ D $ 34)/ 2))+(表6 [[#This Row],[Base Salary]] + IF(IF表格6 [[#此行],[豁免]] =“是”,如果((AC $ 1 – 'Break Even'!$ D $ 32)>'Break Even'!$ D $ 31,(AC $ 1 – $ D $ 32) – 'Break Even'!$ D $ 31,0),(AC $ 1-Break Even!$ D $ 32))> 0,IF(Table6 [[#This Row],[豁免]] = “Y”,IF((AC $ 1 – 'Break Even'!$ D $ 32)>'Break Even'!$ D $ 31,(AC $ 1-Break Even!$ D $ 32) $ 31,0),(AC $ 1-Break Even!$ D $ 32))* IF(Table6 [[#This Row],[exempt]] =“Y”,Table6 [[#This Row],[Pay rate ]表6 [[本行],[基本工资]] + IF(IF(表6)]表6 [[本行],[付款率]] * 1.5),0))* Fringe!$ D $ 32 + ([$#$行],[豁免]] =“Y”,如果((AC $ 1 – 'Dreak Even'!$ D $ 32)>'Break Even'!$ D $ 31,(AC $ 1 – 'Even Even'! $ D $ 32) – 'Break Even'!$ D $ 31,0),(AC $ 1-Break Even!$ D $ 32))> 0,IF(Table6 [[#This Row],[exempt]] = Y“,IF((AC $ 1-'Br (AC $ 1 – 'Break Even'!$ D $ 32) – 'Break Even'!$ D $ 31,0),(AC $ 1 -'Break甚至'!$ D $ 32))* IF(Table6 [[#This Row],[exempt]] =“Y”,Table6 [[This Row],[Pay rate]],Table6 [[This Row] [Pay Rate]] * 1.5),0))* Fringe!$ D $ 33 + Fringe!$ E $ 35 * 12 * Fringe!$ D $ 35 + Table1 [[This Row],[Base Salary]] * Fringe!$ d $ 36+边缘!$ E $ 37 *边缘!$ d $ 37)

抓住公式栏的底部边框并将其向下拖动,您将获得尽可能多的行,以便进行编辑

在这里输入图像说明