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

如何用数据透视表按15点-次日15点时段汇总交易金额?

按15:00至次日15:00跨天时段汇总交易总额的最简实现

不管用Excel数据透视表还是Python,核心逻辑都是通过调整交易时间生成统一的分组标识,把属于同一跨天时段的交易归到同一组,再汇总总额。以下是两种场景的最简方法:

一、Excel(用数据透视表实现)

步骤1:新增辅助列生成分组日期

在表格新增一列(比如列C,命名为「分组日期」),在C2单元格输入公式:

=INT(A2 - TIME(15,0,0))

按回车后下拉填充整列。这个公式的作用是:

  • 把交易时间减去15小时,再取日期整数部分
  • 对应关系示例:
    • 2023-11-27 17:25 → 减15小时后为2023-11-27 02:25 → 分组日期为2023-11-27(对应时段:2023-11-27 15:00 ~ 2023-11-28 15:00)
    • 2023-11-27 09:29 → 减15小时后为2023-11-26 18:29 → 分组日期为2023-11-26(对应时段:2023-11-26 15:00 ~ 2023-11-27 15:00)

步骤2:用数据透视表汇总

  1. 选中整个数据区域(包括辅助列),点击「插入」→「数据透视表」
  2. 在数据透视表字段面板:
    • 将「分组日期」拖到「行」区域
    • 将「Transaction total」拖到「值」区域,确保汇总方式为「求和」
  3. 最终结果与你的示例完全匹配:
    • 2023-11-25 → $10.00(组1)
    • 2023-11-26 → $17.00(组2)
    • 2023-11-27 → $8.00(组3)

二、Python(适合大数据量批量处理)

用Pandas库快速实现,逻辑和Excel一致:

步骤1:读取并预处理数据

import pandas as pd

# 读取数据(支持Excel/CSV等格式)
df = pd.read_excel("交易记录表.xlsx")

# 转换日期时间格式,清理交易金额(去掉$符号转数值)
df["Date & Time"] = pd.to_datetime(df["Date & Time"])
df["Transaction total"] = df["Transaction total"].str.replace("$", "").astype(float)

步骤2:生成分组日期并汇总

# 生成分组日期:交易时间减15小时后提取日期部分
df["分组日期"] = (df["Date & Time"] - pd.Timedelta(hours=15)).dt.date

# 分组求和,格式化结果为带$的字符串
summary = df.groupby("分组日期")["Transaction total"].sum().reset_index()
summary["Transaction total"] = summary["Transaction total"].apply(lambda x: f"${x:.2f}")

# 输出结果
print(summary)

运行后输出:

分组日期Transaction total
2023-11-25$10.00
2023-11-26$17.00
2023-11-27$8.00

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 01:11:37