Has anyone tried more detail about speed test for value lookup formulas?
I tried myself but I doubt my experiment. Please see my screenshot.
The lookup formulas to compare: (1) INDEX-MATCH, (2) INDEX-XMATCH, (3) XLOOKUP.
Formula setting to compare: (1) whole column vs fixed range reference, (2) exact match vs binary search (ascending/descending), (3) single vs array input
We mainly work with large data (>100,000 rows), so we want to know the fastest lookup formula, but still using easiest input setting.
For us, preferrable setting are:
(1) whole column reference, because reference table size is changing and making dynamic reference is mouthful (e.g. OFFSET(B3,0,0,COUNTA(B:B)-2) instead of just B:B);
(2) exact match, because we dont have to sort the reference first;
(3) single input (and then auto-fill), because again input table size is changing and making dynamic reference is mouthful.
The fastest setting would probably be the opposite of all of these three preferrable settings,
but we are doing many unique kinds of analyses, we need to make new calculation/formula many times, so mouthful formula isn't preferrable to write and read/edit.
There are also other optimization techniques like xmatch only in one column then use offset (instead of index) in other columns, but I'd like to focus on direct use of these three formulas.
From my experiment (see my screenshot), it is found that INDEX-XMATCH (no. 3) is the fastest among preferred input setting.
But we actually want to use XLOOKUP (no. 5) because it is shortest to write, but it is awfully slow for non-array input.
So I wonder whether my experiment is correct? Like I worry if there is overhead to populate >100,000 rows during auto-fill but I dont think it is the case.
Btw I record time just by hand stopwatch.
Looking forward to your thoughts, thank you.
I tried myself but I doubt my experiment. Please see my screenshot.
The lookup formulas to compare: (1) INDEX-MATCH, (2) INDEX-XMATCH, (3) XLOOKUP.
Formula setting to compare: (1) whole column vs fixed range reference, (2) exact match vs binary search (ascending/descending), (3) single vs array input
We mainly work with large data (>100,000 rows), so we want to know the fastest lookup formula, but still using easiest input setting.
For us, preferrable setting are:
(1) whole column reference, because reference table size is changing and making dynamic reference is mouthful (e.g. OFFSET(B3,0,0,COUNTA(B:B)-2) instead of just B:B);
(2) exact match, because we dont have to sort the reference first;
(3) single input (and then auto-fill), because again input table size is changing and making dynamic reference is mouthful.
The fastest setting would probably be the opposite of all of these three preferrable settings,
but we are doing many unique kinds of analyses, we need to make new calculation/formula many times, so mouthful formula isn't preferrable to write and read/edit.
There are also other optimization techniques like xmatch only in one column then use offset (instead of index) in other columns, but I'd like to focus on direct use of these three formulas.
From my experiment (see my screenshot), it is found that INDEX-XMATCH (no. 3) is the fastest among preferred input setting.
But we actually want to use XLOOKUP (no. 5) because it is shortest to write, but it is awfully slow for non-array input.
So I wonder whether my experiment is correct? Like I worry if there is overhead to populate >100,000 rows during auto-fill but I dont think it is the case.
Btw I record time just by hand stopwatch.
Looking forward to your thoughts, thank you.