之前参加一个测试的时候,遇到一个试题,说怎么样计算在过去24小时时间内的销售数据。注意这里是过去的24小时,不是过去的一天也不是昨天。这里就是一个滑动时间窗,然后对滑动时间窗内部的数据进行一个聚合运算。

先看初始数据:

Date Hour Amt
2016-02-18 11 50
2016-02-18 14 30
2016-02-18 19 20
2016-02-18 7 100
2016-02-18 10 40
2016-02-18 19 20
2016-02-18 21 60

这里我们有当天的小时时间,但是没有完整的datetime时间,所以需要 转换一下:

1. 使用下面的命令新建一个列DateTime:

=TEXT(G25,"yyyy-mm-dd ")&TEXT(H25&":00:00","hh:mm:ss")

Date Hour DateTime Amt
2016-02-18 11 2016-02-18 11:00:00 50
2016-02-18 14 2016-02-18 14:00:00 30
2016-02-18 19 2016-02-18 19:00:00 20
2016-02-18 7 2016-02-18 07:00:00 100
2016-02-18 10 2016-02-18 10:00:00 40
2016-02-18 19 2016-02-18 19:00:00 20
2016-02-18 21 2016-02-18 21:00:00 60

2. 上一步之后,我们需要了解怎么做时间窗,好,我们再新建一列,叫做过去一天之前的现在时间 YesTime:

=DateTime-1,同时保证DateTime是时间,可以Ctrl+c,然后alt+v+v,直接赋值,如果没有最后am或者pm的后缀就使用 =DateTime-0

Date Hour DateTime YesTime Amt
2016-02-18 11 2016-02-18 11:00:00 2016-02-17 11:00:00 50
2016-02-18 14 2016-02-18 14:00:00 2016-02-17 14:00:00 30
2016-02-18 19 2016-02-18 19:00:00 2016-02-17 19:00:00 20
2016-02-18 7 2016-02-18 07:00:00 2016-02-17 07:00:00 100
2016-02-18 10 2016-02-18 10:00:00 2016-02-17 10:00:00 40
2016-02-18 19 2016-02-18 19:00:00 2016-02-17 19:00:00 20
2016-02-18 21 2016-02-18 21:00:00 2016-02-17 21:00:00 60

3. 然后我们使用YesTime作为时间窗的threshhold去做一个sum

=SUMIFS($G$51:$G$57,$E$51:$E$57,">"&F52, $E$51:$E$57,"<="&E52)

其中$G$51:$G$57 是Amt列,$E$51:$E$57是DateTime列,F52是昨天的同一时间,E52是现在。

Date Hour DateTime DateTime-0 YesTime Amt SumRoll
2016-02-17 11 2016-02-17 11:00:00 2016-02-17 11:00:00 2016-02-16 11:00:00 50 150
2016-02-17 14 2016-02-17 14:00:00 2016-02-17 14:00:00 2016-02-16 14:00:00 30 180
2016-02-17 19 2016-02-17 19:00:00 2016-02-17 19:00:00 2016-02-16 19:00:00 20 200
2016-02-17 7 2016-02-17 07:00:00 2016-02-17 07:00:00 2016-02-16 07:00:00 100 100
2016-02-18 10 2016-02-18 10:00:00 2016-02-18 10:00:00 2016-02-17 10:00:00 40 140
2016-02-18 19 2016-02-18 19:00:00 2016-02-18 19:00:00 2016-02-17 19:00:00 20 60
2016-02-18 21 2016-02-18 21:00:00 2016-02-18 21:00:00 2016-02-17 21:00:00 60 120

OK。点到为止。

谢谢

EXCEL中的滑动时间窗使用相关推荐

  1. 计算机函数中数与数之间的冒号,如何在数字之间插入冒号以使其在Excel中自动成为时间格式?...

    如何在数字之间插入冒号以使其在Excel中自动成为时间格式? 当您在工作表单元格中插入时间格式时,您是否曾经每次输入冒号都感到烦恼? 在本文中,我将讨论在输入数字以使其在Excel中自动成为时间格式时 ...

  2. Sentinel滑动时间窗限流算法原理及源码解析(中)

    文章目录 MetricBucket MetricEvent数据统计的维度 WindowWrap样本窗口实例 范型T为MetricBucket windowLengthInMs 样本窗口长度 windo ...

  3. 【小工具】滑动时间窗统计单位时间内访问频率

    起因 想要完成一个个人轻量级微服务框架,负载均衡和接口安全都需要一个这样的工具来统计访问频率,那么就选择了一种比较传统的方式来实现,其他博客中有提供一些方式,但设计较为简单,不能满足我的需求,所以再起 ...

  4. Sentinel滑动时间窗限流算法

    Sentinel系列文章 Sentinel熔断限流器工作原理 Sentinel云原生K8S部署实战 Sentinel核心源码解析 时间窗限流算法 如图 10-20这个时间窗内请求数量是60小于阈值10 ...

  5. PHPExcel对于Excel中日期和时间类型的处理

    PHPExcel是一款优秀的处理Excel文件读写的开源PHP Library,能够给我们提供强大的Excel读写能力,本文针对Excel处理过程中关于日期和时间类型的处理进行深入的讨论.PHPExc ...

  6. Sentinel滑动时间窗限流算法原理及源码解析(上)

    文章目录 时间窗限流算法 滑动时间窗口 滑动时间窗口算法改进 滑动时间窗口源码解析 时间窗限流算法 10t到16t 10个请求 16t-20t 50个请求 20t-26t 60个请求 26t到30t ...

  7. Excel中关于日期时间的小知识小技巧,你还记得多少?

    点赞再看,养成习惯:星星之火,可以燎原. 微信搜索[亦心Excel]关注这个不一样的自媒体人. 本文 GitHub https://github.com/hugogoos/Excel 已收录,包含Ex ...

  8. 在Excel中快速输入时间精确到秒

    Excel双击表格就可以快输输入时间 一: 按alt+f11,在当前工作表上双击,进入代码编辑窗口, 输入: Private Sub Worksheet_BeforeDoubleClick(ByVal ...

  9. Sentinel滑动时间窗限流算法原理及源码解析(下)

    文章目录 对统计数据如何使用 获取之前统计好的数据 对统计数据如何使用 流控快速失败 获取之前统计好的数据

最新文章

  1. 因为这个工具,我在 GitHub 搜索源码的时间缩短了 50%!
  2. 电子书推荐--《Python灰帽子》,python黑客编程
  3. Java为啥不建议用通配符_为什么在Java导入语句中使用通配符不好?
  4. 开发人员如何了解用户和需求
  5. boost::hana::remove_range用法的测试程序
  6. cad在线转换_CAD转PDF批量转换怎么转?教你一次性操作,一看就会
  7. shebang_Shebang来Java了吗?
  8. [转载] 在IPython中重新加载模块 importlib
  9. 【PMP】pmp练习题及解析
  10. html磁贴模板,文本磁贴模板(列表文件夹)(HTML)
  11. 职能型、矩阵型、项目型组织结构的优缺点
  12. wordpress修改后台站点地址后无法打开的解决办法
  13. 2019 ICPC 徐州 H题 Yuuki and a problem
  14. 什么是大数据以及大数据的相关技术?
  15. python遍历文本文件统计字符个数_用python获取txt文件中关键字的数量
  16. Makefile 文件的编写
  17. Numerical Optimization和Convex optimization 两本书的选择?
  18. 面试笔记:面经-瓜子
  19. 云南师范大学计算机基础教学,云南师范大学841信息技术基础(含计算机文化基础、多媒体技术基础)考研复习经验...
  20. angular命令集

热门文章

  1. 两类的回应随机性检验
  2. 红外线测速仪 简易实现
  3. redis源码 -ziplist
  4. 【备考】计算机python二级过考指南(考点+典例)
  5. JPG图片压缩成PNG图片怎么压缩,压缩的方法
  6. android studio : Invalid revision: 3.18.1-g262b901-dirty
  7. 2019-06-05 Java学习日记 day26 网络编程
  8. 服务器配置推荐,如何选择服务器配置
  9. 常见的5种项目管理问题类型
  10. 颜色视觉理论:三色学与四色学