Spreadsheet: 870562d1717060981-multi-variable-lookup-flow-work-sheet-solution
Sheet: Flow table

 |  | °F
Model | gpm | 30 | 50 | 70 | 90 | 110
9 | 1.5 | 1.9 | 1.8 | 1.7 | 1.6 | 1.5 |  | pressure drop in psi |  |  | Model | °F | PSI | gpm |  |  | End goal
9 | 2 | 3.5 | 3.4 | 3.2 | 3.1 | 3 |  |  |  |  | 9 | 30 | 1.9 | 1.5
9 | 3 | 6.9 | 6.5 | 6.3 | 6 | 5.7 |  |  |  |  | 9 | 30 | 3.5 | 2 |  |  |  | Input |  |  | Output |  | Closest Temp
9 | 4 | 12 | 11.4 | 11 | 10.8 | 10.5 |  |  |  |  | 9 | 30 | 6.9 | 3 |  |  | Model | 24 |  | GPM |  |  |  |  | Diff | Weight | 30 | 50 | 70 | 90 | 110
12 | 1.5 | 0.3 | 0.3 | 0.3 | 0.3 | 0.3 |  |  |  |  | 9 | 30 | 12 | 4 |  |  | Temperature | 53 |  |  |  |  | Pressure Below
12 | 2.5 | 1 | 1 | 1 | 1 | 1 |  |  |  |  | 9 | 50 | 1.8 | 1.5 |  |  | Pressure drop | 4.2 |  |  |  |  | Pressure Above
12 | 3.5 | 1.7 | 1.7 | 1.7 | 1.6 | 1.6 |  |  |  |  | 9 | 50 | 3.4 | 2
12 | 4.5 | 2.5 | 2.4 | 2.4 | 2.4 | 2.3 |  |  |  |  | 9 | 50 | 6.5 | 3
15 | 2 | 0.6 | 0.6 | 0.6 | 0.6 | 0.6 |  |  |  |  | 9 | 50 | 11.4 | 4
15 | 3 | 1.6 | 1.6 | 1.6 | 1.6 | 1.6 |  |  |  |  | 9 | 70 | 1.7 | 1.5 |  |  | End goal example
15 | 4 | 2.6 | 2.6 | 2.6 | 2.6 | 2.5 |  |  |  |  | 9 | 70 | 3.2 | 2
15 | 5 | 3.7 | 3.7 | 3.6 | 3.6 | 3.5 |  |  |  |  | 9 | 70 | 6.3 | 3 |  |  |  | Input |  |  | Output
18 | 3 | 1.6 | 1.6 | 1.5 | 1.5 | 1.4 |  |  |  |  | 9 | 70 | 11 | 4 |  |  | Model | 24 |  | GPM | 7
18 | 4 | 2.9 | 2.9 | 2.8 | 2.8 | 2.7 |  |  |  |  | 9 | 90 | 1.6 | 1.5 |  |  | Temperature | 53
18 | 5 | 4.2 | 4.2 | 4.1 | 4 | 3.9 |  |  |  |  | 9 | 90 | 3.1 | 2 |  |  | Pressure drop | 4.2
18 | 6 | 6 | 5.8 | 5.7 | 5.6 | 5.5 |  |  |  |  | 9 | 90 | 6 | 3
24 | 3 | 1.1 | 1.1 | 0.9 | 0.8 | 0.6 |  |  |  |  | 9 | 90 | 10.8 | 4
24 | 4.5 | 2.1 | 2 | 1.8 | 1.7 | 1.5 |  |  |  |  | 9 | 110 | 1.5 | 1.5 |  |  | It would be nice to extrapolate between two pressure drop values. In the example above 4.2 falls halfway between 6 and 8 gpm, so we output 7
24 | 6 | 4.1 | 4 | 3.8 | 3.7 | 3.5 |  |  |  |  | 9 | 110 | 3 | 2
24 | 8 | 4.5 | 4.4 | 4.1 | 3.9 | 3.7 |  |  |  |  | 9 | 110 | 5.7 | 3 |  |  | It would be nice to extrapolate between two temperature values, however its not as important since it typically makes a small difference and we're not needing that level of accuracy.
30 | 4 | 1.5 | 1.4 | 1.3 | 1.2 | 1.1 |  |  |  |  | 9 | 110 | 10.5 | 4 |  |  | It would be ok just to take the closest value.
30 | 6 | 3 | 2.8 | 2.7 | 2.5 | 2.3 |  |  |  |  |  |  |  |  |  |  | Any temperature value outside of 30-110 would just return an error, so I don't need to worry about those cases
30 | 8 | 5.1 | 4.8 | 4.5 | 4.2 | 3.9
30 | 10 | 7.7 | 7.2 | 6.8 | 6.3 | 5.8
36 | 5 | 1 | 1 | 0.9 | 0.8 | 0.8 |  |  |  |  | I was thinking I could re arrange the table into something like above
36 | 7 | 2.1 | 1.9 | 1.8 | 1.7 | 1.6 |  |  |  |  | And maybe that would be easier to write a formula for.
36 | 9 | 3.6 | 3.3 | 3 | 2.8 | 2.6
36 | 12 | 6.3 | 5.9 | 5.5 | 5.1 | 4.8
42 | 5 | 0.8 | 0.7 | 0.7 | 0.7 | 0.6
42 | 8 | 2.1 | 2.1 | 1.9 | 1.8 | 1.7
42 | 11 | 4.2 | 4.1 | 3.8 | 3.5 | 3.3
42 | 14 | 7.6 | 6.7 | 6.3 | 5.8 | 5.4
48 | 6 | 1.1 | 1 | 1 | 0.9 | 0.8
48 | 9 | 2.3 | 2.1 | 2 | 1.9 | 1.7
48 | 12 | 3.9 | 3.7 | 3.4 | 3.2 | 3
48 | 16 | 6.7 | 6.3 | 5.9 | 5.5 | 5.1
60 | 9 | 2.4 | 2.2 | 2.1 | 2 | 1.8
60 | 12 | 3.9 | 3.6 | 3.4 | 3.2 | 2.9
60 | 15 | 5.7 | 5.3 | 5 | 4.7 | 4.3
60 | 20 | 9.5 | 8.9 | 8.3 | 7.8 | 7.2
70 | 12 | 3 | 2.8 | 2.6 | 2.4 | 2.2
70 | 15 | 4.4 | 4 | 3.8 | 3.5 | 3.3
70 | 18 | 6 | 5.5 | 5.1 | 4.8 | 4.4
70 | 24 | 9.7 | 9.1 | 8.5 | 7.9 | 7.3