| Modifier and Type | Class and Description |
|---|---|
| private static class | LookupUtils.
Encapsulates some standard binary search functionality so the unusual Excel behaviour can be clearly distinguished. |
| private static class | |
| private static class | |
| public static class | LookupUtils.
Enumeration to support 4 valued comparison results. |
| public static interface | |
| private abstract static class | |
| public static enum | |
| private static class | |
| private static class | |
| public static enum | |
| private static class | |
| private static class | |
| private static class | |
| public static interface | LookupUtils.
Represents a single row or column within an |
| Modifier and Type | Field and Description |
|---|---|
| private static Map | |
| private static Map |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| private static int | binarySearchIndexOfValue(LookupUtils.
|
| public static LookupUtils. | |
| pack-priv static LookupUtils. | |
| public static LookupUtils. | |
| private static LookupUtils. | |
| public static LookupUtils. | Returns: null if the supplied area is neither a single row nor a single column
|
| public static LookupUtils. | |
| private static int | findLastIndexInRunOfEqualValues(LookupUtils.
Once the binary search has found a single match, (V/H)LOOKUP steps one by one over subsequent values to choose the last matching item. |
| private static int | Returns: usually -1, signifying that the BinarySearchIndex has been narrowed to the new mid index. Zero or greater signifies that an exact match for the lookup value was found'mid' index (value which has the wrong type) midIx, boolean the data is sorted in reverse order reverse)Excel seems to handle mismatched types initially by just stepping 'mid' ix forward to the first compatible value. |
| public static int | lookupFirstIndexOfValue(ValueEval lookupValue, LookupUtils.
|
| private static int | Returns: zero based index into the vector, -1 if value cannot be foundthe value to be found in column or row vector lookupComparer,the values to be searched. For VLOOKUP this is the first column of the
tableArray. For HLOOKUP this is the first row of the tableArray. vector,Finds first (lowest index) matching occurrence of specified value. |
| private static int | lookupIndexOfValue(LookupUtils.
|
| private static int | Returns: zero based index into the vector, -1 if value cannot be foundthe value to be found in column or row vector lookupComparer,the values to be searched. For VLOOKUP this is the first column of the
tableArray. For HLOOKUP this is the first row of the tableArray. vector,Finds last (greatest index) matching occurrence of specified value. |
| public static LookupUtils. | |
| private static int | performBinarySearch(LookupUtils.
Excel has funny behaviour when the some elements in the search vector are the wrong type. |
| public static boolean | resolveRangeLookupArg(ValueEval
must not be rangeLookupArg, int srcCellRow, int srcCellCol)nullResolves the last (optional) parameter (range_lookup) to the VLOOKUP and HLOOKUP functions. |
| public static int | Returns: column or row index as a zero-based value, never negative.Processes the third argument to VLOOKUP, or HLOOKUP (col_index_num or row_index_num respectively). |
| public static TwoDEval | resolveTableArrayArg(ValueEval eval)
The second argument (table_array) should be an area ref, but can actually be a cell ref, in which case it is interpreted as a 1x1 area ref. |
| public static LookupUtils. | |
| public static int | xlookupIndexOfValue(ValueEval lookupValue, LookupUtils.
|