计算所有填充字段是否相同的公式,但忽略那些未填充的字段?

时间:2014-09-15 12:40:07

标签: excel vba excel-vba excel-formula excel-2010

我正在尝试使用一个公式,以便如果选区中所有已填充的单元格相等,则单元格将显示“Days”,但忽略那些等于0(或空白,以较容易者为准)的单元格。

我已经开始了所有我认为需要的领域(没有屏幕截图的代表,但我会尝试解释)

该表将根据在“小时”行中输入的小时计算假期,周一K16,周二L16等。

行标记如下:hours = manual entry,bank hols =两个日期之间的银行假日(工作表上的其他地方),银行营业时间=银行假日工作的总小时数,是工作日= if(小时= “0”, “0”, “1”)。

我想要的细胞会在这些细胞之下,但它不会特别重要,因为它无论如何都会被隐藏。

有没有办法弄清楚手动输入“小时”中的所有值是否相等,而忽略范围内的所有值,如果它们等于0(或为空白)。

从此我想显示“天”如果它们是相同的,否则显示“小时”。

我也知道这可能需要一些我目前正在考虑的VBA,但在这里得到一些反馈仍然很好。

3 个答案:

答案 0 :(得分:0)

假设我们想通过 A13 测试 A1

=IF(SUMPRODUCT((A1:A13<>"")/COUNTIF(A1:A13,A1:A13&""))=1,"Days","Hours")

空白将被忽略。

答案 1 :(得分:0)

试试这个:

=IF(COUNTIF(A1:E1,AVERAGEIFS(A1:E1,A1:E1,">"&0))=COUNTIF(A1:E1,">"&0),COUNTIF(A1:E1,">"&0)&" Days",SUM(A1:E1)&" Hours")

值在 A1:E1

编辑:编辑原始公式,请使用以上更正的公式

答案 2 :(得分:0)

假设您只检查一组线性数据IE:


HRS = 1
银行假日小时= 1
银行里面的人= 1

那么你可以试试

= IF(MOD(SUM(A2:C2),2),&#34;天&#34;&#34;小时&#34)

A2:C2是包含数据的行。 如果这需要对实际小时进行唯一检查,那么它当然不会使用除1或0以外的任何值。