【问题标题】:IF all cells in a range are the same, excluding blank cells如果一个范围内的所有单元格都相同,不包括空白单元格
【发布时间】:2023-04-10 01:12:01
【问题描述】:

我有一个表格来计算项目的价格,其中一列是对项目元素的描述,后跟一列是其单位(通常是小时)、单位价格、单位数量和最终价格, 有点像这样:

我的问题实际上只涉及突出显示的单元格。我正在制作一个模板,并在进行过程中将元素添加到表格中,因此有些行留空,但我希望在 D7 中显示总小时数(很简单,=SUM(D2:D6)),但我的问题是某些元素不是每小时写入的(例如第 4 行),所以我希望仅在所有值都是小时的情况下才显示总数。本质上:

如果 B 行中的所有值都是“小时”,则 D 行的总和,否则 "")

我想简而言之,如果一个范围内的所有值都相同,排除空白单元格,我可以使用一个公式返回TRUE吗? p>

谢谢。

【问题讨论】:

  • 欢迎来到 SO。尝试构建一个数组公式(Ctrl+Shift+Enter),类似于SUM(IF(Unit Range = "Hours", Quantity, 0))。如果您遇到困难,请告诉我们。
  • 好吧,=COUNTIFS(B2:B6,"<>Hours",B2:B6,"*")=0 会按照你的要求去做。 @JustynaMK,您是否要复制 SUMIF? =)
  • @JvdV 哈哈,我不敢! :) 我想我回答得太匆忙了,而不是按要求显示TRUEFALSE,我添加了所有小时的值......这需要再来一杯咖啡。
  • @JvdV 嗨,是的,我正在寻找类似“SUMIF”的内容,但如果不是所有元素都以小时为单位计算,我想将单元格留空。我会尝试你的两个建议并让你知道!

标签: excel if-statement excel-formula


【解决方案1】:

根据您上次的评论,您可以尝试:

D7中的公式:

=IF(COUNTIFS(B2:B6,"<>Hours",B2:B6,"*")=0,SUM(D2:D6),"")

【讨论】:

  • 谢谢,这似乎有效!但如果你能想出一个解决方案,我还有另一个曲线球要扔。为了使使用此表的过程易于使用,当我在 A 列中输入一个元素时,该行的其余信息将自行填写。我无法在评论中解释这一切,但其要点是 B 列中的单元格包含公式 IFERROR(VLOOKUP('Backend'!$A1, 'Backend'!$A$1:$F$99, 2, FALSE), "") 而不是实际文本本身,因此该公式不起作用。
  • 我不明白为什么这个公式不起作用。即使通过公式输出,它仍然应该完成它的工作。
  • 嗯,那我不知道问题出在哪里。如果我手动将“小时”写入 B 列,则解决方案有效,但当它们是公式时则无效......这是真正的表格,也许我错过了一些东西 link
  • 可能有前导零或尾随零?您可以通过以下方式反驳:=IF(COUNTIFS(B2:B6,"&lt;&gt;*Hours*",B2:B6,"*")=0,SUM(D2:D6),"")、@AnžeOberčMrzel
  • 不确定,但我检查了COUNTIFS(B2:B6,"&lt;&gt;*Hours*",B2:B6,"*") 返回的值。弄清楚它返回的范围内不是“小时”的单元格的数量,所以我只是将公式的那部分重新设计为COUNTIFS(B2:B6,"&lt;&gt;*Hours*",B2:B6,"*")-COUNTBLANK(B2:B6)=0,这似乎有效(不知道是否有一种更简单的编写方法,但这并不是非常重要),所以感谢所有帮助:)
猜你喜欢
  • 1970-01-01
  • 2018-01-20
  • 1970-01-01
  • 1970-01-01
  • 2018-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多