The Excel FINDB function locates one text string inside another and returns the position of its first byte — case-sensitively, just like FIND. It exists for double-byte character set (DBCS) languages — Japanese, Chinese, and Korean — where each native character occupies 2 bytes when such a language is the system default, so byte positions outrun character positions. Working in English or any other single-byte language? FINDB behaves exactly like FIND — just use FIND.
Syntax
| Argument | Description | |
|---|---|---|
find_text | Required | The text to look for. Case-sensitive; no wildcards (that’s SEARCHB’s department). |
within_text | Required | The string to search inside. |
start_num | Optional | The byte position to start searching from. Default is 1. |
Available in: all Excel versions. Byte counting activates only when a DBCS language (Japanese, Chinese Simplified/Traditional, or Korean) is the system default language; otherwise positions are character positions and FINDB returns exactly what FIND would.
FINDB vs FIND: byte positions vs character positions
On a Japanese-locale system the digit "2" in 東京2026 is the 3rd character but the 5th byte, because each kanji ahead of it spans two bytes:
| A | B | C | |
|---|---|---|---|
| 1 | Text in A2: 東京2026 | Formula | Result (Japanese locale) |
| 2 | byte positions: 東=1–2, 京=3–4, "2"=5 | =FINDB("2", A2) | 5 |
| 3 | =FIND("2", A2) | 3 | |
| 4 | =FINDB("a", "Dallas") | 2 — same as FIND |
The whole point of a byte position is to hand it to the other B functions. Extract everything after a separator, in bytes:
Like FIND, FINDB is case-sensitive and errors when the text is missing — wrap with IFERROR for clean output:
Try it: char vs byte position finder
Type a string and something to find, then toggle the system locale to see character and byte positions drift apart.
Errors & common pitfalls
Pitfall: never feed FINDB’s result to character-based functions. A FINDB position is in bytes; MID, LEFT, and REPLACE count characters. On DBCS text the units disagree and the extraction lands in the wrong place. Keep the families pure: FINDB→MIDB/LEFTB/REPLACEB, FIND→MID/LEFT/REPLACE.
Pitfall: results depend on the system language. The same formula returns 5 on a Japanese-locale PC and 3 on a US-locale PC — the file didn’t change, the byte-counting rules did. Shared workbooks need that assumption documented.
Working in English? Use FIND. On single-byte locales FINDB adds nothing over FIND — and FIND keeps your formulas portable.
#VALUE! — text not found (or case mismatch). FINDB is case-sensitive and wildcard-blind: searching for "abc" in "ABC" fails. Use SEARCHB for case-insensitive or wildcard matching, and IFERROR to soften missing-text errors.
Practice workbook
Frequently asked questions
What's the difference between FINDB and FIND?
What's the difference between FINDB and SEARCHB?
? and *. Both return byte positions.Why does FINDB give me the same answer as FIND?
Is start_num in FINDB measured in bytes too?
=FINDB("2", A2, 5) starts scanning at byte 5. A common pattern chains finds: =FINDB("-", A2, FINDB("-", A2) + 1) locates the second hyphen, all in byte units.Master functions like this in one day
This page covers one function. Our Excel Formulas and Functions class covers the 30 that matter most — live, hands-on, taught by professionals in Dallas–Fort Worth, Houston, Austin, Oklahoma City, Denver, or online.
See the Formulas & Functions Class