Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Post History
One way is to create a lookup table (sorted ascending) and take advantage of VLOOKUP's is_sorted parameter to opt for "the nearest match (less than or equal to the search key)". Say a table like so...
Answer
#5: Post edited
- One way is to create a lookup table (sorted ascending) and take advantage of [VLOOKUP](https://support.google.com/docs/answer/3093318)'s `is_sorted` parameter to opt for "*the nearest match (less than or equal to the search key)*".
- Say a table like so:
- <pre>0 0
- 5 1
- 10 2
- 15 3
- 20 4
- 25 5</pre>
- with the Named Range `Table`. Then a formula such as:
=vlookup(F6,Table,2)+H7- to determine the supplement and add it to `H7`.
- This approach could be versatile where changes to the ranges are required and more manageable than adapting a nested IF formula. The table is reasonably intuitive as quite similar to the requirement as expressed in the source question. It would be more so if the columns were switched over, but VOOKUP is simpler than an INDEX/MATCH pair and requires the `search_key` to be on the left of the `range`.
- However, where the steps are uniform (of `5` each here) a separate table is not required:
- =H7+choose(1+min(int(F7/5),5),0,1,2,3,4,5)
- applying [CHOOSE](https://support.google.com/docs/answer/3093371), and a (slightly) shorter formula is possible:
- =H7+min(int(F7/5),5)
- This adds to `H7` the rounded down to integer ([INT](https://support.google.com/docs/answer/3093490)) result of dividing `F7` by the range 'width' (each step is `5`), capped at `5` ([MIN](https://support.google.com/docs/answer/3094017)).
- The above applies to Excel as well.
- One way is to create a lookup table (sorted ascending) and take advantage of [VLOOKUP](https://support.google.com/docs/answer/3093318)'s `is_sorted` parameter to opt for "*the nearest match (less than or equal to the search key)*".
- Say a table like so:
- <pre>0 0
- 5 1
- 10 2
- 15 3
- 20 4
- 25 5</pre>
- with the Named Range `Table`. Then a formula such as:
- =vlookup(F7,Table,2)+H7
- to determine the supplement and add it to `H7`.
- This approach could be versatile where changes to the ranges are required and more manageable than adapting a nested IF formula. The table is reasonably intuitive as quite similar to the requirement as expressed in the source question. It would be more so if the columns were switched over, but VOOKUP is simpler than an INDEX/MATCH pair and requires the `search_key` to be on the left of the `range`.
- However, where the steps are uniform (of `5` each here) a separate table is not required:
- =H7+choose(1+min(int(F7/5),5),0,1,2,3,4,5)
- applying [CHOOSE](https://support.google.com/docs/answer/3093371), and a (slightly) shorter formula is possible:
- =H7+min(int(F7/5),5)
- This adds to `H7` the rounded down to integer ([INT](https://support.google.com/docs/answer/3093490)) result of dividing `F7` by the range 'width' (each step is `5`), capped at `5` ([MIN](https://support.google.com/docs/answer/3094017)).
- The above applies to Excel as well.
#4: Post edited
- One way is to create a lookup table (sorted ascending) and take advantage of [VLOOKUP](https://support.google.com/docs/answer/3093318)'s `is_sorted` parameter to opt for "*the nearest match (less than or equal to the search key)*".
- Say a table like so:
- <pre>0 0
- 5 1
- 10 2
- 15 3
- 20 4
- 25 5</pre>
- with the Named Range `Table`. Then a formula such as:
- =vlookup(F6,Table,2)+H7
- to determine the supplement and add it to `H7`.
- This approach could be versatile where changes to the ranges are required and more manageable than adapting a nested IF formula. The table is reasonably intuitive as quite similar to the requirement as expressed in the source question. It would be more so if the columns were switched over, but VOOKUP is simpler than an INDEX/MATCH pair and requires the `search_key` to be on the left of the `range`.
- However, where the steps are uniform (of `5` each here) a separate table is not required:
- =H7+choose(1+min(int(F7/5),5),0,1,2,3,4,5)
- applying [CHOOSE](https://support.google.com/docs/answer/3093371), and a (slightly) shorter formula is possible:
- =H7+min(int(F7/5),5)
This adds to `F7` the rounded down to integer ([INT](https://support.google.com/docs/answer/3093490)) result of dividing `F7` by the range 'width' (each step is `5`), capped at `5` ([MIN](https://support.google.com/docs/answer/3094017)).- The above applies to Excel as well.
- One way is to create a lookup table (sorted ascending) and take advantage of [VLOOKUP](https://support.google.com/docs/answer/3093318)'s `is_sorted` parameter to opt for "*the nearest match (less than or equal to the search key)*".
- Say a table like so:
- <pre>0 0
- 5 1
- 10 2
- 15 3
- 20 4
- 25 5</pre>
- with the Named Range `Table`. Then a formula such as:
- =vlookup(F6,Table,2)+H7
- to determine the supplement and add it to `H7`.
- This approach could be versatile where changes to the ranges are required and more manageable than adapting a nested IF formula. The table is reasonably intuitive as quite similar to the requirement as expressed in the source question. It would be more so if the columns were switched over, but VOOKUP is simpler than an INDEX/MATCH pair and requires the `search_key` to be on the left of the `range`.
- However, where the steps are uniform (of `5` each here) a separate table is not required:
- =H7+choose(1+min(int(F7/5),5),0,1,2,3,4,5)
- applying [CHOOSE](https://support.google.com/docs/answer/3093371), and a (slightly) shorter formula is possible:
- =H7+min(int(F7/5),5)
- This adds to `H7` the rounded down to integer ([INT](https://support.google.com/docs/answer/3093490)) result of dividing `F7` by the range 'width' (each step is `5`), capped at `5` ([MIN](https://support.google.com/docs/answer/3094017)).
- The above applies to Excel as well.
#3: Post edited
- One way is to create a lookup table (sorted ascending) and take advantage of [VLOOKUP](https://support.google.com/docs/answer/3093318)'s `is_sorted` parameter to opt for "*the nearest match (less than or equal to the search key)*".
- Say a table like so:
- <pre>0 0
- 5 1
- 10 2
- 15 3
- 20 4
- 25 5</pre>
- with the Named Range `Table`. Then a formula such as:
- =vlookup(F6,Table,2)+H7
- to determine the supplement and add it to `H7`.
- This approach could be versatile where changes to the ranges are required and more manageable than adapting a nested IF formula. The table is reasonably intuitive as quite similar to the requirement as expressed in the source question. It would be more so if the columns were switched over, but VOOKUP is simpler than an INDEX/MATCH pair and requires the `search_key` to be on the left of the `range`.
- However, where the steps are uniform (of `5` each here) a separate table is not required:
=F7+choose(1+min(int(F7/5),5),0,1,2,3,4,5)- applying [CHOOSE](https://support.google.com/docs/answer/3093371), and a (slightly) shorter formula is possible:
- =H7+min(int(F7/5),5)
- This adds to `F7` the rounded down to integer ([INT](https://support.google.com/docs/answer/3093490)) result of dividing `F7` by the range 'width' (each step is `5`), capped at `5` ([MIN](https://support.google.com/docs/answer/3094017)).
- The above applies to Excel as well.
- One way is to create a lookup table (sorted ascending) and take advantage of [VLOOKUP](https://support.google.com/docs/answer/3093318)'s `is_sorted` parameter to opt for "*the nearest match (less than or equal to the search key)*".
- Say a table like so:
- <pre>0 0
- 5 1
- 10 2
- 15 3
- 20 4
- 25 5</pre>
- with the Named Range `Table`. Then a formula such as:
- =vlookup(F6,Table,2)+H7
- to determine the supplement and add it to `H7`.
- This approach could be versatile where changes to the ranges are required and more manageable than adapting a nested IF formula. The table is reasonably intuitive as quite similar to the requirement as expressed in the source question. It would be more so if the columns were switched over, but VOOKUP is simpler than an INDEX/MATCH pair and requires the `search_key` to be on the left of the `range`.
- However, where the steps are uniform (of `5` each here) a separate table is not required:
- =H7+choose(1+min(int(F7/5),5),0,1,2,3,4,5)
- applying [CHOOSE](https://support.google.com/docs/answer/3093371), and a (slightly) shorter formula is possible:
- =H7+min(int(F7/5),5)
- This adds to `F7` the rounded down to integer ([INT](https://support.google.com/docs/answer/3093490)) result of dividing `F7` by the range 'width' (each step is `5`), capped at `5` ([MIN](https://support.google.com/docs/answer/3094017)).
- The above applies to Excel as well.
#2: Post edited
- One way is to create a lookup table (sorted ascending) and take advantage of [VLOOKUP](https://support.google.com/docs/answer/3093318)'s `is_sorted` parameter to opt for "*the nearest match (less than or equal to the search key)*".
- Say a table like so:
- <pre>0 0
- 5 1
- 10 2
- 15 3
- 20 4
- 25 5</pre>
- with the Named Range `Table`. Then a formula such as:
- =vlookup(F6,Table,2)+H7
- to determine the supplement and add it to `H7`.
- This approach could be versatile where changes to the ranges are required and more manageable than adapting a nested IF formula. The table is reasonably intuitive as quite similar to the requirement as expressed in the source question. It would be more so if the columns were switched over, but VOOKUP is simpler than an INDEX/MATCH pair and requires the `search_key` to be on the left of the `range`.
- However, where the steps are uniform (of `5` each here) a separate table is not required:
=F7+choose(1+min(int(E7/5),5),0,1,2,3,4,5)- applying [CHOOSE](https://support.google.com/docs/answer/3093371), and a (slightly) shorter formula is possible:
- =H7+min(int(F7/5),5)
- This adds to `F7` the rounded down to integer ([INT](https://support.google.com/docs/answer/3093490)) result of dividing `F7` by the range 'width' (each step is `5`), capped at `5` ([MIN](https://support.google.com/docs/answer/3094017)).
- The above applies to Excel as well.
- One way is to create a lookup table (sorted ascending) and take advantage of [VLOOKUP](https://support.google.com/docs/answer/3093318)'s `is_sorted` parameter to opt for "*the nearest match (less than or equal to the search key)*".
- Say a table like so:
- <pre>0 0
- 5 1
- 10 2
- 15 3
- 20 4
- 25 5</pre>
- with the Named Range `Table`. Then a formula such as:
- =vlookup(F6,Table,2)+H7
- to determine the supplement and add it to `H7`.
- This approach could be versatile where changes to the ranges are required and more manageable than adapting a nested IF formula. The table is reasonably intuitive as quite similar to the requirement as expressed in the source question. It would be more so if the columns were switched over, but VOOKUP is simpler than an INDEX/MATCH pair and requires the `search_key` to be on the left of the `range`.
- However, where the steps are uniform (of `5` each here) a separate table is not required:
- =F7+choose(1+min(int(F7/5),5),0,1,2,3,4,5)
- applying [CHOOSE](https://support.google.com/docs/answer/3093371), and a (slightly) shorter formula is possible:
- =H7+min(int(F7/5),5)
- This adds to `F7` the rounded down to integer ([INT](https://support.google.com/docs/answer/3093490)) result of dividing `F7` by the range 'width' (each step is `5`), capped at `5` ([MIN](https://support.google.com/docs/answer/3094017)).
- The above applies to Excel as well.
#1: Initial revision
One way is to create a lookup table (sorted ascending) and take advantage of [VLOOKUP](https://support.google.com/docs/answer/3093318)'s `is_sorted` parameter to opt for "*the nearest match (less than or equal to the search key)*". Say a table like so: <pre>0 0 5 1 10 2 15 3 20 4 25 5</pre> with the Named Range `Table`. Then a formula such as: =vlookup(F6,Table,2)+H7 to determine the supplement and add it to `H7`. This approach could be versatile where changes to the ranges are required and more manageable than adapting a nested IF formula. The table is reasonably intuitive as quite similar to the requirement as expressed in the source question. It would be more so if the columns were switched over, but VOOKUP is simpler than an INDEX/MATCH pair and requires the `search_key` to be on the left of the `range`. However, where the steps are uniform (of `5` each here) a separate table is not required: =F7+choose(1+min(int(E7/5),5),0,1,2,3,4,5) applying [CHOOSE](https://support.google.com/docs/answer/3093371), and a (slightly) shorter formula is possible: =H7+min(int(F7/5),5) This adds to `F7` the rounded down to integer ([INT](https://support.google.com/docs/answer/3093490)) result of dividing `F7` by the range 'width' (each step is `5`), capped at `5` ([MIN](https://support.google.com/docs/answer/3094017)). The above applies to Excel as well.