Excel中的逻辑计算

时间:2014-03-03 20:37:44

标签: excel excel-vba excel-formula vba

我需要建议/帮助。我在excel中进行计算,我有下面提到的数据。

.    A        B        C        D        E        F        G        H         
1|   A275     A277     A273     A777     A777     TOTAL    A222     GRAND TOTAL
2|   5        7        4        3        4        7        7  

现在,我想根据标题计算第2行 这是条件 如果A1<>然后B1取A1,如果B1<>如果C1<>则C1取B1。 D1然后是C1,依此类推。

但棘手的部分是......
如果D1<> E1然后是D1其他(如果E1<> F1则是E1 else(如果F1 =“TOTAL”则是F1 else(如果F1> G1然后是F1)))
简而言之,H2应该 30 而不是 37

已添加评论:------------------------------------
因此,基本上如果A1<> B1然后取A1但是如果A1 = B1然后取B1,但是然后取B1,它是相同的规则,如果B1<> C1则取B1,但如果B1 = C1则取C1和C1,同样的规则。停止点将是“TOTAL”除了这些逻辑,我需要检查第1行中的任何单元格是否为“TOTAL”,然后为同一列获取值。现在这个“TOTAL”可以在第1行的任何单元格中。
所以从上表我的计算将是 5(A2)+7(B2)+4(C2)+7(F2)+7(G2)= 30
在这个计算中我没有包括D2和E2作为D2 = E2所以我拿了D2,这里E2<> F2所以我应该拿E2,但是当F2 =“TOTAL”所以我拿了F2而不是D2和E2。
我希望这是有道理的。 (对不起,我知道它令人困惑。)
我有超过100列的数据 可以使用来实现吗? 的 ----------------------------------------------- -------------

另一个痛点是数据和标题是动态的,所以我不能有修复格式。逻辑应该能够处理动态数据和标题。

非常感谢任何帮助或建议。

1 个答案:

答案 0 :(得分:1)

我用这个达到了你想要的效果。

添加帮助行。在单元格A3中编写此公式并将其拖到右侧:

=IF(OR(A$1=B$1,B$1="TOTAL"),0,1)

计算单元格H4中的总和(不是H2,因为如果公式引用整行2,则会有循环引用):

=SUMIF($3:$3,1,$2:$2)