计算字母中的数字

计算字母中的数字

我有一张包含以下输入的工作表:

0900-1800
0900-1800
DAYOFF
0900-1800
0900-1800

我的问题是如何仅计算具有时间的范围?例如,上面的数据应该计数 4,因为它只有 4 天有数字。

答案1

您可以添加第二列,其公式形式如下

=IF(ISNUMBER(VALUE(LEFT(A1,1))),1,0)

这将确定单元格的第一个字符是否A1为数字字符,在您的示例中,这对应于工作日。工作日将1在新列中表示为,其他日子将表示为0。请注意,此公式假设您的工作日总是用数字开始字段,免费日永远不会这样!

然后,您可以对这个新列求和以获得总工作日数。

选项 2

正如评论中提到的,您可以尝试使用该函数COUNTIF,该函数原则上允许计算具有某些特征的单元格,而无需临时列。问题是,据我所知,您无法充分利用单个公式的灵活性,因此我无法提出一个明确检查以数字字符开头的单元格的版本。不过,我找到了一个适用于您的示例的解决方案:

=COUNTIF(A1:A7;"<A")

我认为它统计了第一个字符的 ASCII 码小于字母“A”的单元格。请注意,这包括许多非字母字符,尤其是space!

选项 3包括使用数组公式,灵感来自MrExcel.com 上的每日提示

=SUM((A1:A5>="0")*(A1:A5<="9")*1)

这需要作为数组公式,即按下Ctrl+Shift+Enter而不是直接按 Enter。这个解决方案与我给出的第一个解决方案相同,但避免了多余的列。请注意,额外的列仍然具有优点,您可以单独手动验证每一天是否被正确分类。

相关内容