簡體   English   中英

Excel VLOOKUP日期范圍拆分

[英]Excel VLOOKUP Date Range Split

提前感謝您的時間和考慮。

我熟悉excel中VLOOKUP功能的概念,並希望得到一些幫助。 我在excel中有多個表,並且在輸入我們的內部業務代碼時,已成功使用VLOOKUP命令來執行諸如使用業務的全名,地址等填充單元格。 我目前的問題是這個。

我有覆蓋表,表明保險公司X在給定的日期范圍內涵蓋了公司Y. 我有數據表明Y公司在另一個特定日期范圍內的收益為Z美元。 這些日期通常不能很好地匹配。 我想得出與每家保險公司相關的總收入總和。

例如,Y公司於1980年1月1日至1980年4月15日由保險公司A和保險公司B於1980年4月16日至1981年6月20日承保。 公司Y從1980年1月1日至1980年3月31日賺取250.00美元,因此保險公司A承保250.00美元,保險公司B承保0.00美元,因為日期范圍不包括保險公司B承保的任何時間。公司Y從04獲得$ 1000.00 / 01/1980年至1980年12月31日,明年沒有收入。 保險公司A承保15天,保險公司承保260天保險。因此保險公司A承保54.55美元((15/275)* 1000),保險公司B承保945.45美元((260/275)* 1000)。總結$ 304.55保險公司A ,保險公司B. $ 945.45

我該怎么做呢? 如果這超出了excel的功能,你會建議做什么呢? 非常感謝你的幫助,花時間回答這里的問題表示贊賞。

應該注意的是,我的覆蓋表已經完成。 我必須輸入的數據是業務,收益期開始和結束日期以及該期間的總收入。 覆蓋表包括業務,保險公司,保險期限開始和結束日期。 它們位於不同的工作簿上,但我很熟悉如何在其他工作簿上引用外部數據。

以下是數據結構的示例。 https://docs.google.com/spreadsheets/d/1nSotP9TYgyKeL0y_CeQXEwfs-ygaPW17LSMf9NOh6GY/edit?usp=sharing

假設我們有兩個表:1-INSURERS TABLE:

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|

然后我們將在2-table的末尾添加一些額外的輔助列:

 #|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]填寫:

=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)

要獲得結果,我們應該創建3表“RESULT TABLE”:

#|           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)

對於Sample Excel,請單擊此處

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM