前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel 同一分类下进行跨行计算

Excel 同一分类下进行跨行计算

原创
作者头像
朱迪
发布2024-05-09 11:07:11
620
发布2024-05-09 11:07:11
举报
文章被收录于专栏:Excel疑难杂症Excel疑难杂症

例题描述

Excel 文件记录不同用户的事件发生时间,数据已按 USER ID 和 DATE 列排序,部分数据如下:

A

B

C

1

USER ID

EVENT ID

DATE

2

1

4

2020-01-01

3

1

5

2020-01-05

4

1

6

2020-01-13

5

2

7

2020-01-03

6

2

8

2020-01-05

7

2

9

2020-01-06

现在要计算事件真假列isTrue,规则是:同一个USER ID内,第1起事件一定为真,从第2起事件开始,如果与上一真事件的间隔大于等于10天,则该事件为真,其他事件均为假。结果应当如下:

A

B

C

D

1

USER ID

EVENT ID

DATE

isTrue

2

1

4

2020-01-01

1

3

1

5

2020-01-05

0

4

1

6

2020-01-13

1

5

2

7

2020-01-03

1

6

2

8

2020-01-05

0

7

2

9

2020-01-06

0

解法及简要说明

使用 Excel 插件 SPL XLL

在 D1 单元格写入公式:

=spl("=E(?).new(if('USER ID'!='USER ID'[-1],(t=DATE,1),if(DATE-t>=10,(t=DATE,1),0)):isTrue)",A1:C7)

如图:

..
..

简要说明:

如果本行的 USER ID 与上一行不同,则说明当前行是组内第 1 起事件,此时赋值 isTrue=1,同时临时变量 t= 本行 DATE。如果本行的 USER ID 与上一行相同,则进入组内计算,用临时变量和本行的日期计算间隔,大于等于 10 时赋值 isTrue=1,同时修改临时变量 t= 本行 DATE。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档