Why the default substring match will burn you
The first time I hit this, I had a sheet with email addresses: one row held `[email protected]`, another held `[email protected]`. A plain `createTextFinder('[email protected]')` matched the second row first because TextFinder defaults to substring matching — `subbob` contains the literal string `[email protected]` starting at character four.
Calling `.matchEntireCell(true)` switches the finder to a full-cell equality check. The match now requires the entire cell content to equal your target string, not just contain it. That one chained method is the difference between a lookup that sometimes works and one that always works.
The same trap catches numeric-looking strings. If column A has `26` in row 3 and `126` in row 7, searching for `'26'` without `matchEntireCell` returns row 7 first on some Sheets versions because `126` contains `26`.