3 Variable Progressive Tax

fscardoelli

New Member
Joined
Jul 12, 2017
Messages
3
Hello,

I have been trying to solve a problem that involves using three different variables (Depth, Production level, and Year) to retrieve a number from a table.

What I want is, given a certain production level (which can be any number), a depth (which will be one of the three options below), and a year (which will be either 1,2,3, or 4+) to find the value in the third column ("Deduction") of the appropriate table below.

I have tried using IF/OR, IF/AND, and INDEX/MATCH functions, but so far have had no luck. I would greatly appreciate any help with this problem!

OnshoreShallow Water (<400m Depth)Deep Water (>400m Depth)
Year 1Year 1Year 1
Prod Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRate
0.031.000.0%0.061.900.0%0.092.900.0%
31.062.045010.0%61.992.890010.0%92.9123.8135010.0%
62.092.967520.0%92.8123.8112520.0%123.8154.7157520.0%
92.9123.890030.0%123.8154.7135030.0%154.7185.7180030.0%
123.8154.7102935.0%154.7185.6147935.0%185.7216.6192935.0%
>154.7118140.0%>185.6163140.0%>216.6208140.0%
Year 2Year 2Year 2
Prod Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRate
0.024.100.0%0.051.600.0%0.072.200.0%
24.155.035010.0%51.682.575010.0%72.2103.1105010.0%
55.086.057520.0%82.0113.497520.0%103.1134.1127520.0%
86.0116.980030.0%113.4144.4120030.0%134.1165.0150030.0%
116.9147.892935.0%144.4175.3132935.0%165.0195.9162935.0%
>147.8108140.0%>175.3148140.0%>195.9178140.0%
Year 3Year 3Year 3
Prod Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRate
0.017.200.0%0.034.400.0%0.051.600.0%
17.248.225010.0%34.465.350010.0%51.682.575010.0%
48.279.147520.0%65.396.377520.0%82.5113.497520.0%
79.1110.070030.0%96.3127.295030.0%113.4144.4120030.0%
110.0140.982935.0%127.2158.1107935.0%144.4175.3132935.0%
>140.998140.0%>158.1123140.0%>175.3148140.0%
Year 4Year 4+Year 4+
Prod Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRate
0.010.300.0%0.020.600.0%0.031.000.0%
10.341.315010.0%20.651.630010.0%31.061.945010.0%
41.372.237520.0%51.682.552520.0%61.992.867520.0%
72.2103.160030.0%82.5113.475030.0%92.8123.790030.0%
103.1134.072935.0%113.4144.487935.0%123.7154.7102935.0%
>134.088140.0%>144.4103140.0%>154.7118140.0%

<colgroup><col width="68" style="width:51pt"> <col width="65" style="width:49pt" span="13"> </colgroup><tbody>
</tbody>
 

Excel Facts

Fastest way to copy a worksheet?
Hold down the Ctrl key while dragging tab for Sheet1 to the right. Excel will make a copy of the worksheet.
You need a single table,
depth,year,RngStart,RngEnd,Deduct,Rate

put all tables into the sheet. Make a custom function that gets the input values ,
reads the table, then returns the value.
 
Last edited:
Upvote 0
Welcome to the forum.

As long as you make sure that the tables are the same size and are positioned exactly the same relative to each other, you can do it.

Consider this sheet:

Excel 2012
ABCDEFGHIJKLMN
1OnshoreShallow Water (<400m Depth)Deep Water (>400m Depth)
2
3Year 1Year 1Year 1
4Prod Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRate
503100.00%061.900.00%092.900.00%
6316245010.00%61.992.890010.00%92.9123.8135010.00%
76292.967520.00%92.8123.8112520.00%123.8154.7157520.00%
892.9123.890030.00%123.8154.7135030.00%154.7185.7180030.00%
9123.8154.7102935.00%154.7185.6147935.00%185.7216.6192935.00%
10154.7118140.00%185.6163140.00%216.6208140.00%
11
12Year 2Year 2Year 2
13Prod Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRate
14024.100.00%051.600.00%072.200.00%
1524.15535010.00%51.682.575010.00%72.2103.1105010.00%
16558657520.00%82113.497520.00%103.1134.1127520.00%
1786116.980030.00%113.4144.4120030.00%134.1165150030.00%
18116.9147.892935.00%144.4175.3132935.00%165195.9162935.00%
19147.8108140.00%175.3148140.00%195.9178140.00%
20
21Year 3Year 3Year 3
22Prod Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRate
23017.200.00%034.400.00%051.600.00%
2417.248.225010.00%34.465.350010.00%51.682.575010.00%
2548.279.147520.00%65.396.377520.00%82.5113.497520.00%
2679.111070030.00%96.3127.295030.00%113.4144.4120030.00%
27110140.982935.00%127.2158.1107935.00%144.4175.3132935.00%
28140.998140.00%158.1123140.00%175.3148140.00%
29
30Year 4+Year 4+Year 4+
31Prod Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRate
32010.300.00%020.600.00%03100.00%
3310.341.315010.00%20.651.630010.00%3161.945010.00%
3441.372.237520.00%51.682.552520.00%61.992.867520.00%
3572.2103.160030.00%82.5113.475030.00%92.8123.790030.00%
36103.113472935.00%113.4144.487935.00%123.7154.7102935.00%
3713488140.00%144.4103140.00%154.7118140.00%
38

<colgroup><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col></colgroup><thead>
</thead><tbody>
</tbody>
Sheet1



I copied your tables, and made one tiny change to it, by removing the > in front of the last range value of each sub-table.

Then I built the inquiry on Sheet2 (you can put it anywhere of course) like this:

Excel 2012
ABCD
1Onshore
2Shallow Water (<400m Depth)
3Deep Water (>400m Depth)
4
5DepthYearProductionRate
6Deep Water (>400m Depth)35510%

<colgroup><col><col><col><col><col></colgroup><thead>
</thead><tbody>
</tbody>
Sheet2

Worksheet Formulas
CellFormula
A1=Sheet1!A1
A2=Sheet1!F1
A3=Sheet1!K1
D6=VLOOKUP(C6,OFFSET(Sheet1!$A$5:$D$10,(B6-1)*9,(MATCH(A6,$A$1:$A$3,0)-1)*5),4)

<thead>
</thead><tbody>
</tbody>

<tbody>
</tbody>



A1:A3 is a mini-table I created for 2 purposes. First, I used it for Data Validation in A6. So the user can easily select the depth he wants with a drop-down. Next, it's used in the formula in D6. B6 could easily be a drop-down too if you want. So enter the values in A6:C6, then enter the formula in D6, and you should have what you want.

Hope this helps!
 
Upvote 0
Welcome to the forum.

As long as you make sure that the tables are the same size and are positioned exactly the same relative to each other, you can do it.

Consider this sheet:

Excel 2012
ABCDEFGHIJKLMN
1OnshoreShallow Water (<400m Depth)Deep Water (>400m Depth)
2
3Year 1Year 1Year 1
4Prod Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRate
503100.00%061.900.00%092.900.00%
6316245010.00%61.992.890010.00%92.9123.8135010.00%
76292.967520.00%92.8123.8112520.00%123.8154.7157520.00%
892.9123.890030.00%123.8154.7135030.00%154.7185.7180030.00%
9123.8154.7102935.00%154.7185.6147935.00%185.7216.6192935.00%
10154.7118140.00%185.6163140.00%216.6208140.00%
11
12Year 2Year 2Year 2
13Prod Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRate
14024.100.00%051.600.00%072.200.00%
1524.15535010.00%51.682.575010.00%72.2103.1105010.00%
16558657520.00%82113.497520.00%103.1134.1127520.00%
1786116.980030.00%113.4144.4120030.00%134.1165150030.00%
18116.9147.892935.00%144.4175.3132935.00%165195.9162935.00%
19147.8108140.00%175.3148140.00%195.9178140.00%
20
21Year 3Year 3Year 3
22Prod Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRate
23017.200.00%034.400.00%051.600.00%
2417.248.225010.00%34.465.350010.00%51.682.575010.00%
2548.279.147520.00%65.396.377520.00%82.5113.497520.00%
2679.111070030.00%96.3127.295030.00%113.4144.4120030.00%
27110140.982935.00%127.2158.1107935.00%144.4175.3132935.00%
28140.998140.00%158.1123140.00%175.3148140.00%
29
30Year 4+Year 4+Year 4+
31Prod Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRateProd Range (000 b/d)DeductionRate
32010.300.00%020.600.00%03100.00%
3310.341.315010.00%20.651.630010.00%3161.945010.00%
3441.372.237520.00%51.682.552520.00%61.992.867520.00%
3572.2103.160030.00%82.5113.475030.00%92.8123.790030.00%
36103.113472935.00%113.4144.487935.00%123.7154.7102935.00%
3713488140.00%144.4103140.00%154.7118140.00%
38

<tbody>
</tbody>
Sheet1



I copied your tables, and made one tiny change to it, by removing the > in front of the last range value of each sub-table.

Then I built the inquiry on Sheet2 (you can put it anywhere of course) like this:

Excel 2012
ABCD
1Onshore
2Shallow Water (<400m Depth)
3Deep Water (>400m Depth)
4
5DepthYearProductionRate
6Deep Water (>400m Depth)35510%

<tbody>
</tbody>
Sheet2

Worksheet Formulas
CellFormula
A1=Sheet1!A1
A2=Sheet1!F1
A3=Sheet1!K1
D6=VLOOKUP(C6,OFFSET(Sheet1!$A$5:$D$10,(B6-1)*9,(MATCH(A6,$A$1:$A$3,0)-1)*5),4)

<tbody>
</tbody>

<tbody>
</tbody>



A1:A3 is a mini-table I created for 2 purposes. First, I used it for Data Validation in A6. So the user can easily select the depth he wants with a drop-down. Next, it's used in the formula in D6. B6 could easily be a drop-down too if you want. So enter the values in A6:C6, then enter the formula in D6, and you should have what you want.

Hope this helps!

Hello Eric,

Thank you so much for your help! This solved the problem and is exactly what I was looking for, very helpful!

Best,
 
Upvote 0

Forum statistics

Threads
1,215,430
Messages
6,124,846
Members
449,194
Latest member
HellScout

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top