我在Excel中有数据,每行代表一个驱动程序的日志.在每行中有5列代表5种可能的违规类型.

我需要获取驱动程序的违规日志百分比.为此,我需要计算其中一列中具有非零数字的行数.我正在寻找一种方法让excel为我这样做.
我想添加第6列并将其称为违规计数.如果行中存在非零数字,我希望Excel将1添加到违规计数列.然后,我将能够对该列求和,以获得具有违规的日志总数.
有人能告诉我该怎么做吗?或者至少给我一个合适的搜索关键词?
我有一种情况,字符串中的第6和第7个字符需要等于'73'.我试过使用LIKE '%73%'但问题是有时SQL Server会遇到可能在字符串中的其他73s.有没有办法只搜索字符串中的第6和第7个字符?
非常感谢大家的帮助!
完全披露,我正在学习,我已经在互联网上搜索,我只是无法弄清楚我的问题.
我正在进行在线课程,并给出了以下示例:
select
DATENAME(MONTH, DATEADD(MONTH, MONTH(OrderDate), -1)) AS 'Month',
SUM(CASE WHEN YEAR(OrderDate) = 2005 THEN 1 ELSE 0 END) AS Orders,
SUM(CASE YEAR(OrderDate) WHEN 2005 THEN Totaldue ELSE 0 END) AS 'Total Value'
from
sales.salesorderheader
group by Month(orderdate)
order by Month(orderdate) ASC
Run Code Online (Sandbox Code Playgroud)
返回以下结果:
我明白了(我想)所以我开始搞乱代码以进一步理解Case语句.查看代码我认为Orders字段基本上是在一个月内查找所有订单,为每个订单分配1,然后将它们全部添加.因为每个人都分配了1我认为我可以将SUM更改为COUNT,我会得到相同的结果.
但是,这段代码:
select
DATENAME(MONTH, DATEADD(MONTH, MONTH(OrderDate), -1)) AS 'Month',
COUNT(CASE WHEN YEAR(OrderDate) = 2005 THEN 1 ELSE 0 END) AS Orders,
SUM(CASE YEAR(OrderDate) WHEN 2005 THEN Totaldue ELSE 0 END) AS 'Total Value'
from
sales.salesorderheader
group by …Run Code Online (Sandbox Code Playgroud)