使用if语句创建数组公式,该语句对多列进行求和

时间:2014-04-10 20:15:33

标签: arrays excel multidimensional-array

我需要帮助使这个数组。我认为这可能是一个多重问题?当我创建一个数组时,它会填充该行,但只会绘制第一行的列。

= if(ISTEXT('2014 QAs'!E19),(if(100-sum(L20:AF20)&lt; 0,0,(100-sum(L20:AF20)))),“”)< / p>

1 个答案:

答案 0 :(得分:0)

为Excel公式规划和设计类数据数据结构

使用提供的公式,我能够为多记录数据集中表示的所有行创建一个可以“向下复制”的结果列。

=if(ISTEXT('2014 QAs'!E19), (if(100-sum(L20:AF20)<0, 0, (100-sum(L20:AF20))))," ")

使上述公式发挥作用的解决方案是创建子计算。这篇文章使用了额外的列(参见COL G,H,I和J)来定义条件语句中整个表达式的一部分。在打破这个复杂的表达式后,公式提供了结果。

Alternate Sheet Reference Data

这是解决方案Sheet3的数据。表达式ISTEXT('2014 QAs'!E19)表示该公式的一部分包含对标题为2014 QAs的备用页面的引用,我刚刚将其命名为Sheet3

Multiple Column Array-Styled Statement

OP的公式很好。我怀疑Excel可能会对表达式的粗语法感到窒息。有时,分离离散单位计算以简化表达有助于。子计算可以简单地为HIDDEN,以便进行更清晰的最终演示。

在回答你的问题时,最终公式由表达式组成,分为多个部分:

=if(ISTEXT('2014 QAs'!E19), (if(100-sum(L20:AF20)<0, 0, (100-sum(L20:AF20))))," ")

Condenses Into...

Column J is
=IF(ISTEXT(Sheet3!A2), I2, " ")

Where...

Column G is
@SUM(A2:F2)

Column H is
= 100 - G2

Column I is
=(IF H2 < 0, 0, H2)

为行ID = 2定义的这些公式可以“复制”到其他行,作为每个电子表格记录的相同公式的新实例。