You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过数据透视图基于登录/登出记录统计在线用户数?

解决方法:先处理数据增量,再统计累计在线人数

直接用数据透视表的登录/登出状态没法直接算出在线人数,核心是要先把每个操作转化为在线人数的变化量,再通过累计求和得到任意时间点的在线人数,具体步骤如下:

1. 给原始数据添加「在线增量」辅助列

在你的表格里新增一列(比如列E,表头设为Online Change),用公式判断每个操作对在线人数的影响:

  • 登录(Log in)会让在线人数+1,登出(Log out)会让在线人数-1
  • 公式示例(假设Status在B列,第一行是表头,从第二行开始计算):
    =IF(B2="Log in", 1, -1)
    
    下拉填充所有行后,你的数据会变成:
    IdStatusDateOnline Change
    ALog in01.01.2018 01:44:031
    ALog out01.01.2018 02:57:03-1
    CLog in01.01.2018 01:55:031
    CLog out01.01.2018 01:59:03-1

2. 生成完整的时间序列(包含你关心的特定时间点)

在线人数只会在登录/登出时刻变化,中间时间段人数保持不变。所以我们需要整理出所有关键时间点:

  • 先把原始数据里的所有Date值复制到一个新列(比如列D)
  • 手动添加你需要查询的时间点(比如01.01.2018 01:56:00)
  • 选中这列数据,点击「数据」→「删除重复值」,然后按时间升序排序

3. 计算每个时间点的累计在线人数

在时间序列旁边新增一列(比如列E,表头设为Total Online),用公式计算到当前时间点为止的累计在线人数:

  • 公式示例(假设原始Date在C列,Online Change在E列,时间序列在D列):
    =SUMPRODUCT(--(C$2:C$5<=D2), E$2:E$5)
    
    下拉填充后,你就能看到每个时间点的在线人数:
    DateTotal Online
    01.01.2018 01:44:031
    01.01.2018 01:55:032
    01.01.2018 01:56:002
    01.01.2018 01:59:031
    01.01.2018 02:57:030

4. 创建折线图展示在线人数

选中时间序列列和累计在线人数列,插入折线图,就能直观看到任意时间点的在线人数变化,包括你关心的01:56时刻有2位用户在线。


内容的提问来源于stack exchange,提问作者Catalin Vasilescu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 03:54:17