【问题标题】:Excel 2010: Counting cells with adjacent cell blankExcel 2010:计算相邻单元格空白的单元格
【发布时间】:2014-01-24 02:48:34
【问题描述】:

我在行中有数据,每列代表一天,其中一些是空白的,其中一些有数字。我想“扫描”这一行,将每个单元格与它左边的一个单元格(或它左边的一个 2 个空格等)进行比较。例如,我想将单元格(天)的数量与前面的单元格中的空白相加。或者,我想将大于其左侧单元格的单元格数相加。我不知道如何使用随每个单元格变化的地址动态地与前一列进行比较。

【问题讨论】:

  • 我不知道是不是因为我的英语不好,你的问题对我来说有点不清楚。为了解释清楚,一个简单的截图非常有帮助。但据我所见,您可以尝试使用 SUMIF(S) 之类的 Excel 函数进行求和,以及 IF 来检查是否更大,COUNTIF(S) 可以帮助您计算。如果您的目标过于复杂,Macro(VBA) 是最好的解决方案。

标签: excel


【解决方案1】:

这是我从你的问题中了解到的:

如果您参考下面的屏幕截图,如果列有数字并且左侧的列是空白的,您想要计算列 B 到 H。

所以,如果这只是一列,我们将公式写为:

=COUNTIFS(B3,">0",A3,"")

现在,由于您想对一系列列(单元格数组)执行此操作,您需要执行以下操作:

=COUNTIFS(B3:H3,">0",A3:G3,"")

并使用 Ctrl + Shift + Enter 接受。 所以公式会显示为:

{=COUNTIFS(B3:H3,">0",A3:G3,"")}

【讨论】:

  • 感谢您的快速回复。首先,我为我之前的措辞道歉,我实际上是在尝试计算满足条件的单元格,而不是对它们求和,所以我想要一个类似“countif”的函数。另外,为了清楚起见,我只想计算包含数字的单元格,并且相邻单元格的值为空白。
  • 所以在您的屏幕截图中,第 3 行的计数为 3,第 6 行的计数为 2,依此类推。
  • 谢谢!!我曾尝试过更复杂的方法,但无法让它们发挥作用——我没有意识到它会如此优雅。您对逻辑的解释非常有帮助,因为我将其用于其他目的。
  • @user2778881 如果您的这个答案解决了您的问题,请mark it as accepted :)
  • CTRL+SHIFT+ENTER 通常不需要 COUNTIFS 函数 - 在这种情况下当然不需要
【解决方案2】:

数组公式非常适合这项任务。我不能就这个话题给你讲课,但你应该读一读。基本上,您可以选择一个范围内的多个单元格,然后将其视为一个单元格。

例如,您可以这样做:

=SUM(IF($A$1:$A$100="", 1, 0))

当您输入数组公式时,请务必在公式框中按 CTRL + SHIFT + ENTER,以表示您希望 Excel 将此公式视为数组公式。否则不会得到预期的结果。

使用这种方法,您可以进行任何类型的比较。有时,了解 Excel 如何处理公式会有所帮助。您可以在公式编辑器中选择部分公式,然后按 F9 以查看该段根据 Excel 计算得出的结果。

【讨论】:

  • 感谢您提供有关 F9 的提示——非常有帮助!请在另一个回复中查看我的说明——我实际上是在尝试计算那些有值的值,而相邻的值是空白的。
  • 只要满足条件就可以改变返回值。而不是返回 1,而是返回 $B$1:$B$100<>""
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-16
  • 1970-01-01
  • 2016-11-17
  • 1970-01-01
  • 2016-10-05
  • 1970-01-01
相关资源
最近更新 更多