如何在Excel中计算“客户月份”

时间:2018-06-26 10:50:11

标签: excel google-sheets array-formulas

在任何给定日期计算客户月数的最简单方法是什么?

#   start   end
1   01/16   01/17
2   01/16   07/17
3   07/16   01/17

假设包括开始月份和结束月份。

我想要的结果是:

<= (start of) 01/16: total customer months = 0
e.g. (start of) 03/16 = 4 (2 customers for each 2 months)
e.g. (start of) 08/16 = 15 (2 customers for each 7 months, 1 customer for 1 month)
>= (start of) 07/17 = 36 (12 + 18 + 6)

1 个答案:

答案 0 :(得分:1)

  1. 将数据放入Excel表,其中TileContainer将包含成员资格的开始和结束时间

    enter image description here

  2. 创建以下函数以返回经过的客户成员身份计算

    Table1
  3. 为函数提供要检查的特定单元格范围。并做了! 从技术上讲,这是要回答的问题,但是请检查下面的部分以了解如何实现


  1. 实践(实际示例)。创建Private Function get_duration(ByVal checkdate As Range) As Integer Dim tbl As ListObject: Set tbl = Sheets("Sheet1").ListObjects("Table1") Dim duration_check As Integer Dim total_duration As Long total_duration = 0 For Each cell In tbl.ListColumns(1).DataBodyRange If (DateDiff("m", cell.Offset(0, 1), checkdate) <= 0) Then duration_check = DateDiff("m", cell, checkdate) If duration_check < 0 Then duration_check = 0 End If total_duration = total_duration + duration_check End If Next cell get_duration = total_duration End Function ,其中将包含您要检查的所有日期(我只是包括了您在问题示例中所描述的内容)

    enter image description here

  2. 创建一个简单的过程来遍历所有Table2,从而调用我们的CheckDate函数

    get_duration()
  3. 按您的问题提供预期的结果

    enter image description here