如何根据用餐时间自动判断餐别?

标签:
matchlookup时间日期查找匹配分类归属 |
分类: 实例解析 |
【思路】
Excel中的日期和时间都是数值,如将6:00设置为常规格式后显示0.25,计算过程是6/24。
1、为了避免公式中的常量数组出现小数,将每种餐别的起始时间(5:30、11:30、17:30)扩大48倍,得到11、23、35
http://s1/mw690/7e8300dbt7b618c4bf940&690
2、利用Match模糊查询,在常量数组{11;23;35}查询用餐时间,当找不到查找值时会查询小于或等于查找值的最大值,然后返回其在第二参数中的相对位置
3、利用Column可以返回单元格引用的列号的功能,配合相对引用时列号依次增大,使Column(A1)向右填充时变为Column(B1)和Column(C1),依次返回1、2、3
4、判断第二步和第三步返回的结果,如果一致则说明该用餐时间归属于相应餐别,标示为"√"
第二种方法使用Lookup在常量数组{11,"早餐";23,"午餐";35,"晚餐"}中查询,思路一致,不再赘述。
http://s16/mw690/7e8300dbt7b618c79bf5f&690
【公式】
C2单元格输入公式后,向右向下填充至黄色区域
方法1:
=IF(MATCH($B2*48,{11;23;35})=COLUMN(A1),"√","")
方法2:
=IF(LOOKUP($B2*48,{11,"早餐";23,"午餐";35,"晚餐"})=C$1,"√","")
附件下载:根据用餐时间自动判断餐别