【问题标题】:Excel - return 1 for each row where an element exists in one of two columnsExcel - 为两列之一中存在元素的每一行返回 1
【发布时间】:2016-09-28 17:02:05
【问题描述】:

如何对 C 列和 D 列中至少有一行包含数字的所有事件求和?

例如,如果 C4 或 D4 包含 1-5,则公式应为该行返回 1。如果两者都不包含值,则不应计算该行。我尝试了很多东西,但我是新手,我习惯了其他编程语言。

在伪代码中:

sum = 0
for row in rows:
    if A>0 or B>0:
       sum += 1
return sum

【问题讨论】:

  • @ScottCraner 对不起,那不行。如果我在 C5 中有一个值,在 D4 中有一个值,则结果应该是 2。它在你的公式中变为 0。顺便说一句,我使用的是 Google Docs,但我猜是一样的
  • 啊,是的,我错过了 Or 部分,=COUNTIF(C:C,">0")+COUNTIF(D:D,">0")-COUNTIFS(C:C,">0",D:D,">0")
  • @ScottCraner 的问题是,如果 C 和 D 都包含一个值,那么该公式会加 2,这是不应该的。
  • 上面的内容每次都删除一个。见:imgur.com/a/hLDiX
  • 嗯,这很奇怪。在谷歌文档中,我得到一个错误:O

标签: excel


【解决方案1】:

您可以尝试以下电子表格公式:

=IF(OR(AND(C1>=0; C1<=0); AND(D1>=0; D1<=5)); 1; 0)

这将比在 VBA 中编码更容易和更快。当然,如果有这样的需求,也可以用VBA编码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-22
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    相关资源
    最近更新 更多