diff --git a/src/PhpSpreadsheet/Calculation/LookupRef.php b/src/PhpSpreadsheet/Calculation/LookupRef.php index f5553af4..359fa164 100644 --- a/src/PhpSpreadsheet/Calculation/LookupRef.php +++ b/src/PhpSpreadsheet/Calculation/LookupRef.php @@ -720,8 +720,12 @@ class LookupRef (!is_numeric($lookup_value) && !is_numeric($rowData[$firstColumn]) && (strtolower($rowData[$firstColumn]) > strtolower($lookup_value)))) { break; } - $rowNumber = $rowKey; - $rowValue = $rowData[$firstColumn]; + // remember the last key, but only if datatypes match + if ((is_numeric($lookup_value) && is_numeric($rowData[$firstColumn])) || + (!is_numeric($lookup_value) && !is_numeric($rowData[$firstColumn]))) { + $rowNumber = $rowKey; + $rowValue = $rowData[$firstColumn]; + } } if ($rowNumber !== false) {