ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1212|回复: 6

如何根据5个字段,只有4个有数据为正常,不等于4为异常

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-10-15 11:33 | 显示全部楼层 |阅读模式

刷卡时间1
刷卡时间2刷卡时间3刷卡时间4刷卡时间5数据模拟结果
09:0612:1915:0817:33正常
07:0812:2414:0617:39正常
14:1017:37207异常
08:2312:2115:10238异常
14:2916:56147异常


请教:如上图 如何根据5个字段,只有4个有数据为正常,不等于4为异常 不等于4即刷卡次数超过四次或低于四次均为异常,只有刷卡时间1,刷卡时间2,刷卡时间3,刷卡时间4,都有数据为正常。如何用sql来实现模拟结果呢。谢谢

TA的精华主题

TA的得分主题

发表于 2014-10-18 21:48 | 显示全部楼层
  1. SELECT *,iif(ISNULL(刷卡时间1)+ISNULL(刷卡时间2)+ISNULL(刷卡时间3)+ISNULL(刷卡时间4)+ISNULL(刷卡时间5)=-1,"正常","异常") as 结果 FROM 你的表
复制代码
你的表第四条记录(即刷卡时间5为:238的记录)不是有4个刷卡时间吗,怎么还判定为异常?

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-10-19 11:14 | 显示全部楼层
谢谢。
一天正常刷卡时间为四次,上下午各两次,完整的应该是前四次。如有第五次,说明他刷卡5次。
SQL = "SELECT *,iif(时间1 >  '%  08:30 % ',  '正常 ',  '异常 ' ) as 结果 FROM  [Sheet$a2:z] where   刷卡日期  = '" & data & " '"
SQL = "SELECT *,iif(时间1 >  '  08:30  ',  '正常 ',  '异常 ' ) as 结果 FROM  [Sheet$a2:z] where   刷卡日期  = '" & data & " '"
上面两种写法都不正确,是全部
请教各位:::如何修改


再请教:刷卡时间> 09:30如何写。

TA的精华主题

TA的得分主题

发表于 2014-10-19 20:12 | 显示全部楼层
问题1:
日期时间常量,请用#表示。如:时间1大于09:30,对应表达式为:时间1>#9:30#

问题2:
“上面两种写法都不正确,是全部”这句没看懂。全部的意思是指每个刷卡时间都单独进行判断,然后根据判断,只要存在一次异常,即返回结果为异常;还是只按1楼的“如上图 如何根据5个字段,只有4个有数据为正常,不等于4为异常 不等于4即刷卡次数超过四次或低于四次均为异常,只有刷卡时间1,刷卡时间2,刷卡时间3,刷卡时间4,都有数据为正常。”来理解。
若是对每个刷卡时间进行异常判断,只要一个为异常,结果即为异常,那么,请提供你的班次时间。
若是按
“如上图 如何根据5个字段,只有4个有数据为正常,不等于4为异常 不等于4即刷卡次数超过四次或低于四次均为异常,只有刷卡时间1,刷卡时间2,刷卡时间3,刷卡时间4,都有数据为正常。”
来理解,则语句为:
  1. SELECT *,IIF(ISNULL(刷卡时间5),IIF(ISNULL(刷卡时间1)+ISNULL(刷卡时间2)+ISNULL(刷卡时间3)+ISNULL(刷卡时间4)=0,"正常","异常"),"异常") FROM 你的表
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-10-19 22:55 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
是这样的:
上午刷两次卡: 刷卡时间1  为空   或刷卡时间1 >=9:30   刷卡时间2  为空   或刷卡时间2>=12:50     
下午刷两次卡: 刷卡时间3为空   或刷卡时间3 >=15:10   刷卡时间4  为空   或刷卡时间4>=19:00  
这四次刷卡记录中有一个不合,则   该员当天刷卡记录为异常。  四个中只要有一个就算异常。
由于个别员工,刷卡时可能在 8:30 刷一次, 9:10刷一次。 11:30 刷一次 下午 14:00刷一次, 18:00刷一次。这时该员工当天就有5条记录。这个员工的记录也应该是异常
当然超这了5次更是异常了。
   

TA的精华主题

TA的得分主题

发表于 2014-10-22 11:26 | 显示全部楼层
IIF(ISNULL(刷卡时间5),IIF(刷卡时间1<#9:30#)+IIF(刷卡时间2<#12:50#)+IIF(刷卡时间3<#15:10#)+IIF(刷卡时间4<#19:00#)=-4,"正常","异常"),"异常")

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-10-27 11:05 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 07:47 , Processed in 0.035208 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表