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

如何提取90天内重复访客的到访日期与姓名(Excel表格场景)

90天内重复到访访客的提取方案

一、Excel公式手动处理法

万行数据用公式也能搞定,步骤简单:

  1. 全选数据,按B列(访客姓名)升序、A列(到访日期)升序排序,保证同一访客的日期按顺序排列。
  2. 在C2单元格敲入公式:=IF(B2=B1,DATEDIF(A1,A2,"d")<=90,""),下拉填充整列。
    • 逻辑:如果当前行和上一行是同一个人,就计算两次到访的间隔天数,≤90天就返回TRUE,否则留空。
  3. 筛选C列为TRUE的行,直接复制A、B列就是你要的结果。
    • 要是想把首次到访也包含进去,把公式改成=IF(B2=B1,DATEDIF(A1,A2,"d")<=90,TRUE)就行。

二、Power Query批量处理法

处理万行数据用Power Query更高效,不会卡顿:

  1. 选中数据区域,点「数据」选项卡→「从表格/区域」,把数据导入Power Query编辑器。
  2. 按姓名分组处理:
    • 点「转换」选项卡→「分组依据」,分组列选B列(访客姓名),新列名设为「到访记录」,操作选「所有行」。
    • 点击「到访记录」列的展开按钮,添加自定义列:=Table.AddIndexColumn([到访记录],"索引",0,1)。
    • 展开自定义列里的表格,再添一列计算间隔:=if [索引]>0 then Duration.Days([到访日期]-List.FirstN([到访记录][到访日期],[索引])) else null。
  3. 筛选「间隔天数」列≤90的行,删掉多余的辅助列,点「关闭并上载」把结果导回Excel。

三、Python脚本自动化处理

如果经常要做这类分析,写个Python脚本一劳永逸:

import pandas as pd

# 读取Excel数据,替换成你的文件路径
df = pd.read_excel("访客记录.xlsx")
# 把日期列转成日期格式,确保计算准确
df["到访日期"] = pd.to_datetime(df["到访日期"], format="%d/%m/%Y")
# 按姓名和日期排序
df = df.sort_values(by=["访客姓名", "到访日期"])
# 提取同一访客的上一次到访日期
df["上一次到访"] = df.groupby("访客姓名")["到访日期"].shift(1)
# 计算两次到访的间隔天数
df["间隔天数"] = (df["到访日期"] - df["上一次到访"]).dt.days
# 筛选间隔≤90天的记录,要是要包含首次到访就加 | df["上一次到访"].isna()
result = df[df["间隔天数"] <= 90][["到访日期", "访客姓名"]]
# 把日期转回原来的格式
result["到访日期"] = result["到访日期"].dt.strftime("%d/%m/%Y")
# 打印结果或者保存到Excel
print(result)
result.to_excel("重复到访结果.xlsx", index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 05:20:54