Problem description & analysis:
In the table below, the 1st column is subject and columns after it are test scores arranged in order.
A | B | C | D | E | |
1 | Art | 0 | 3.67 | 6.2 | 7.8 |
2 | History | 3.78 | 6.21 | 7.2 | 9.8 |
3 | Maths | 5.6 | 6.3 | 6.6 | 8.9 |
Task: Specify a subject and a score and, according to the specified values, find the first cell value that is equivalent to or greater than the score under the subject. For example, when the parameters are Maths and 6.5, the expected return result is 6.6.
Solution:
Use SPL XLL to do this:
=spl("=?1.select@1(~1==?2).m(2:).select@1(~>=?3)",A1:E3,"Maths",6.5)
As shown in the picture below:
Explanation:
select@1 function find the first eligible member that meets the condition. m(2:) gets members from the 2ndto the last. ~1 is the 1st member and ~ represents the current member.
Feel free to download SPL XLL and explore the data processing journey on your own⬇️
SPL download address: esProc Desktop Download
Plugin Installation Method: SPL XLL Installation and Configuration
References to other rich Excel operation cases: Desktop and Excel Data Processing Cases
SPL Programming (YouTube FREE courses): https://www.youtube.com/playlist?list=PLQeR-IhHo7qNCw6o7PW8YfHvRx8pgzZso