Contact

FINDB Function (Gnumeric)

Text Beginner Gnumeric

Find case-sensitive UTF-8 byte positions with FINDB in Gnumeric. Check starting offsets, empty searches, multibyte text and extraction examples.

Verification status: Cached October 14, 2026 evidence; no new application run on October 15. 18 selected expressions were recalculated with Gnumeric 1.12.57 ssconvert. Formula identities and raw CSV fields were checked; Gnumeric 1.12.62 was source-checked only; GUI display and native output types were not verified. How formula examples are checked

Quick answer: =FINDB("v","Lévy") produced 4 in Gnumeric 1.12.57.

Availability and version history

  • Introduced: First introduction is unestablished; the exact function is present in 1.12.57 source.
  • Supported in: Registered in Gnumeric 1.12.62; no retirement is established.
  • Last functioning version: Selected calculations are verified in 1.12.57. The newest functioning release is unverified; source registration in 1.12.62 does not establish newer runtime results.
  • Scope: Desktop Gnumeric with its String Functions plugin. English comma-separated formulas are shown.
  • Checked: October 14, 2026. Tables use 1.12.57 ssconvert under C.UTF-8; 1.12.62 was source-inspected only.

What FINDB returns

FINDB returns the one-based byte position of a literal, case-sensitive match. The optional starting byte restricts where searching begins; the reported position is still relative to the whole original string. Versioned function help.

Syntax and arguments

=FINDB(needle,haystack[,start_byte])
  • needle: Required literal text to find. FINDB does not interpret wildcard patterns.
  • haystack: Required text to search.
  • start_byte: Optional one-based starting byte, default 1. It must lie within the source’s byte length.

Brackets indicate optional arguments; do not type them. Current worksheet implementation.

Reproducible examples

The native column records recalculated CSV field content. Quotes delimit readable text; "" means an empty field expected to be text from the callback. They do not certify the exported cell type. The independent column checks the stated character mapping, UTF-8 byte operation or decimal conversion.

Formula Gnumeric 1.12.57 CSV result Independent reference
=FINDB("v","Lévy") 4 4
=FINDB("é","Lévy") 2 2
=FINDB("v","Lévy",3) 4 4
=FINDB("B","A中B") 5 5
=FINDB("😀","A😀B") 2 2
=FINDB("B","A😀B") 6 6
=FINDB("n","Cancún") 3 3
=FINDB("n","Cancún",4) 7 7

Practical worksheet

=FINDB("v","Lévy") returns 4, because é occupies two bytes. FIND’s character index for v is 3, so these positions are not interchangeable. In a worksheet with Lévy in A2, use =FINDB("é",A2) when the next operation also expects a byte position.

Advanced interpretation and checks

The saved =MIDB("Lévy",FINDB("é","Lévy"),LENB("é")) returns é. The search supplies byte 2 and the length supplies two bytes, so both units agree.

In Cancún, searching for n from the default start finds byte 3; starting at byte 4 finds the later n at byte 7. The result is an absolute position, not a distance from the start argument.

Boundaries and troubleshooting

Uppercase V does not match lowercase v. A missing match, start below 1, or start beyond the final byte gives #VALUE!. For the tested nonempty string an empty needle returns the valid starting position, but an empty source still fails the start-range check.

When the selected start falls inside é, the inspected implementation advances to the following character boundary. Thus starting at byte 3 skips é but can still find v. Positive fractional starts are truncated after validation in the tested cases. F2 contains Lévy. Use SEARCH for a character-based case-insensitive search; it does not produce a byte index.

Formula Gnumeric 1.12.57 CSV result
=FINDB("é","Lévy",3) #VALUE!
=FINDB("V","Lévy") #VALUE!
=FINDB("v","Lévy",5) #VALUE!
=FINDB("","Lévy") 1
=FINDB("","Lévy",5) 5
=FINDB("","Lévy",6) #VALUE!
=FINDB("","",1) #VALUE!
=FINDB("v","Lévy",2.9) 4
=FINDB("é",F2) 2

Official evidence and checking scope

The source snapshots and native results below were retained from October 14, 2026. The recovered guide was checked against those saved records on October 15; neither the application nor a newer release was executed again.

The complete FINDB callback is byte-identical between the two inspected releases. Both stale and uncached SUM controls recalculated correctly. Saved native XML retains the function identities. No GUI result display, other locale, native output-type certification or newer-release execution is claimed.