0

我没有做过excel编程。我有一张如下表:

Excel部分

CreatedTime Id 
05/04/2015 1000 
05/10/2015 1000 
05/12/2015 1000
05/01/2015 1001
05/05/2015 1001
05/03/2015 1002
05/13/2015 1002

我想要的是:

CreatedTime Id  Days_Between_Actions
05/04/2015 1000 4
05/10/2015 1000 6
05/12/2015 1000 2
05/01/2015 1001 1
05/05/2015 1001 4
05/03/2015 1002 3
05/13/2015 1002 10

此公式适用于与每个 'Id' 对应的条目,每个 'Id' -> 的第一个条目除外=IF(A3 = "05/01/2015",1,DAYS(A3,A2))。但是对于与每个“Id”对应的第一个条目,公式必须是=IF(A2 = "05/01/2015",1,DAYS(A2,"05/01/2015")+1).

  1. 有更简单的方法吗?
  2. 我目前必须对第一个条目使用一个公式,对与“Id”对应的其他条目使用另一个公式,这使得将其传播到整个表非常困难。我可以使用一个公式吗?

SQL 部分

我正在使用类似 -> 的查询select distinct convert (date, CreatedTime) as CreatedTime, Id from database.table where createdtime between '2015-05-01 00:00:00' and '2015-05-15 23:59:59' order by Id, CreatedTime

  1. 那么,有没有更简单的方法可以通过更改查询来获得我想要的东西?
4

1 回答 1

2

excel中的一种解决方案,在所有行中只有一个公式:
=IF(A2 = "05/01/2015",1,DAYS(A2,IF(B2=B1,"04/30/2015",A1))

于 2015-05-27T19:46:35.490 回答