Excel VLOOKUPdate范围分割

提前感谢您的时间和考虑。

我很熟悉excel中VLOOKUP函数的概念,希望有一点帮助。 我在Excel中有多个表格,并且在input内部业务代码时,使用VLOOKUP命令成功完成填充单元格的全名,地址等。 我目前的问题是这样的。

我有覆盖表表明保险公司X在给定的date范围内覆盖Y公司。 我有数据表明Y公司在另一个给定的date范围内赚取了Z美元的收入。 这些date往往不匹配很​​好。 我想得到每个保险公司总收入的总和。

例如,Y公司从1980年1月1日到1980年4月15日由保险公司A和从1980年4月16日到1981年6月20日的保险公司B承保。 Y公司从2001年1月1日至1980年3月31日赚取了250美元,因此保险公司A赔付250美元,由保险公司B赔付0.00美元,date范围不包括保险公司B承保的任何时间。公司Y从04年获得$ 1000美元/ 01/1980至12/31/1980,明年没有收入。 承保人A承保15天,保险人B承保260天。因此,保险人A承保的保险人A承保的54.55美元((15/275)* 1000),945.45美元((260/275)* 1000)。总计304.55美元的保险人A ,$ 945.45保险人B.

我怎么去做这个? 如果这是Excel的function之外的东西,你会推荐做什么呢? 非常感谢您的帮助,花时间回答这里的问题表示感谢。

应该指出,我的覆盖表已经完成。 我必须input的数据是业务,收入期间开始和结束date以及该期间的总收入。 覆盖表包括商业,保险公司,保险期间开始和结束date。 他们在不同的工作簿上,但我很熟悉如何引用其他工作簿上的外部数据。

这里是数据结构的一个例子。 https://docs.google.com/spreadsheets/d/1nSotP9TYgyKeL0y_CeQXEwfs-ygaPW17LSMf9NOh6GY/edit?usp=sharing

假设我们有两个表:1-保险人表:

Insurers | Begins | Ends | A |01/01/1980|04/15/1980| B |04/16/1980|06/20/1981| 

和2-EARNGINGS表:

  #|Amount | Begins | Ends | 1| 250 |01/01/1980|03/31/1980| 2| 1000 |04/01/1980|12/31/1980| 

然后我们将在两个表的末尾添加一些额外的辅助列:

  #|Amount | Begins | Ends | Days | A | B | 1| 250 |01/01/1980|03/31/1980|=[ends]-[begins]+1|[1-days for A]|[1-days for B]| 2| 1000 |04/01/1980|12/31/1980|=[ends]-[begins]+1|[2-days for A]|[2-days for B]| 

把这个公式计算成[1-days for A][1-days for A]来计算公司[2-days for B]用鼠标从[1-days for A][2-days for B]

 =IF(MIN(VLOOKUP(L$3,$B$4:$D$6,3,FALSE),$J4)-MAX(VLOOKUP(L$3,$B$4:$D$6,2,FALSE),$I4)+1>0,MIN(VLOOKUP(L$3,$B$4:$D$6,3,FALSE),$J4)-MAX(VLOOKUP(L$3,$B$4:$D$6,2,FALSE),$I4)+1,0) 

要得到结果,我们应该创build3表“结果表”:

 #| A | B | 1|[1-amount belongs to A]|[1-amount belongs to B]| 2|[2-amount belongs to A]|[2-amount belongs to B]| 

把这个公式写成[1-amount belongs to A]来计算公司的部分并用鼠标填充:

 =HLOOKUP(C$16,$G$3:$N$6,MATCH($B17,$G$3:$G$6,0),FALSE)/VLOOKUP($B17,$G$3:$N$6,5,FALSE)*VLOOKUP($B17,$G$3:$N$6,2,FALSE) 

理解,使用我的示例文件也有点复杂。 我希望我明白你的问题。

以下是你的例子。 你可以在sumproduct的帮助下做到这一点。 在这里输入图像说明

左边是你的保险人表。 右边是索赔表。 以下是您可以使用的公式。 如前面提到的。 它有点复杂,运作良好。

 =IFERROR(SUMPRODUCT(1*($G$2:$G$5>=C2)*($H$2:$H$5<=D2)*$I$2:$I$5),0)+IFERROR(SUMPRODUCT(1*($G$2:$G$5<C2)*($H$2:$H$5>D2)*(D2-C2+1)/($H$2:$H$5-$G$2:$G$5+1)*($I$2:$I$5)),0)+IFERROR(SUMPRODUCT(1*($G$2:$G$5>=C2)*($G$2:$G$5<=D2)*($H$2:$H$5>D2)*(D2-$G$2:$G$5+1)/($H$2:$H$5-$G$2:$G$5+1)*($I$2:$I$5)),0)+IFERROR(SUMPRODUCT(1*($H$2:$H$5<=D2)*($H$2:$H$5>=C2)*($G$2:$G$5<C2)*($H$2:$H$5-C2+1)/($H$2:$H$5-$G$2:$G$5+1)*($I$2:$I$5)),0) 

对于示例Excel 单击此处