Difference between revisions of "Documentation/How Tos/Calc: FIND function"
From Apache OpenOffice Wiki
< Documentation | How Tos
Javier Lopez (talk | contribs) |
m |
||
| (7 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
| − | {{ | + | {{DISPLAYTITLE:FIND function}} |
| − | + | {{Documentation/CalcFunc TextTOC | |
| − | + | |ShowPrevNext=block | |
| − | + | |PrevPage=Documentation/How_Tos/Calc:_EXACT_function | |
| − | | | + | |NextPage=Documentation/How_Tos/Calc:_FIXED_function |
| − | + | }}__NOTOC__ | |
| − | | | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
== FIND == | == FIND == | ||
Returns the position of a string of text within another string. | Returns the position of a string of text within another string. | ||
| Line 43: | Line 15: | ||
: <tt>'''startposition'''</tt> (optional) is the position from which the search starts. | : <tt>'''startposition'''</tt> (optional) is the position from which the search starts. | ||
| − | : The search is case-sensitive. | + | : The search is case-sensitive. For case-insensitive search, see '''SEARCH()'''. |
| + | |||
| + | : The search will '''not''' use regular expressions. For searching with regular expressions, see '''SEARCH()'''. | ||
: A failed search gives the <tt>'''#VALUE!'''</tt> error. | : A failed search gives the <tt>'''#VALUE!'''</tt> error. | ||
| + | |||
| + | : In '''Tools - Options - OpenOffice.org Calc - Calculate''' the setting for <i>Search criteria = and <> must apply to whole cells</i> has no effect. | ||
=== Example: === | === Example: === | ||
<tt>'''FIND("yo"; "Yoyo")'''</tt> | <tt>'''FIND("yo"; "Yoyo")'''</tt> | ||
| − | : returns <tt>'''3'''</tt>. | + | : returns <tt>'''3'''</tt>. The search is case-sensitive. |
<tt>'''FIND("cho"; "choochoo"; 2)'''</tt> | <tt>'''FIND("cho"; "choochoo"; 2)'''</tt> | ||
| Line 63: | Line 39: | ||
:: <tt>'''IF( ISNUMBER( FIND("xyz","abcdef",1) ) , "Substring Present", "ERR: Missing Substring" )'''</tt>. | :: <tt>'''IF( ISNUMBER( FIND("xyz","abcdef",1) ) , "Substring Present", "ERR: Missing Substring" )'''</tt>. | ||
::: returns <tt>'''"ERR: Missing Substring"'''</tt> (... allowing the IF() to function, and not propagating the error from the FIND() function. | ::: returns <tt>'''"ERR: Missing Substring"'''</tt> (... allowing the IF() to function, and not propagating the error from the FIND() function. | ||
| − | :: NOTE: In practice, it may be more maintainable to use ISNUMBER() to avoid negative logic, and it is more | + | :: NOTE: In practice, it may be more maintainable to use ISNUMBER() to avoid negative logic, and it is more indicative of the evaluation desired: if the substring has a position, then ISNUMBER() is TRUE, else ISNUMBER() is FALSE. |
| − | {{ | + | {{SeeAlso|EN| |
* [[Documentation/How_Tos/Calc: REPLACE function|REPLACE]] | * [[Documentation/How_Tos/Calc: REPLACE function|REPLACE]] | ||
* [[Documentation/How_Tos/Calc: SEARCH function|SEARCH]] | * [[Documentation/How_Tos/Calc: SEARCH function|SEARCH]] | ||
Latest revision as of 15:29, 2 February 2024
FIND
Returns the position of a string of text within another string.
Syntax:
FIND(findtext; texttosearch; startposition)
- returns the character position of the first occurrence of findtext within texttosearch.
- startposition (optional) is the position from which the search starts.
- The search is case-sensitive. For case-insensitive search, see SEARCH().
- The search will not use regular expressions. For searching with regular expressions, see SEARCH().
- A failed search gives the #VALUE! error.
- In Tools - Options - OpenOffice.org Calc - Calculate the setting for Search criteria = and <> must apply to whole cells has no effect.
Example:
FIND("yo"; "Yoyo")
- returns 3. The search is case-sensitive.
FIND("cho"; "choochoo"; 2)
- returns 5.
FIND("xyz","abcdef",1)
- returns #VALUE!.
- NOTE: This is an error condition, which must be 'handled' if used as the argument to another function.
- IF( FIND("xyz","abcdef",1) , "Substring Present", "ERR: Missing Substring" )
- returns #VALUE! which is not very useful, therefore we could use either ISERROR() or ISNUMBER() for example:
- IF( ISERROR( FIND("xyz","abcdef",1) ) , "ERR: Missing Substring", "Substring Present" ).
- returns "ERR: Missing Substring" (... allowing the IF() to function, and not propagating the error from the FIND() function.
- IF( ISNUMBER( FIND("xyz","abcdef",1) ) , "Substring Present", "ERR: Missing Substring" ).
- returns "ERR: Missing Substring" (... allowing the IF() to function, and not propagating the error from the FIND() function.
- NOTE: In practice, it may be more maintainable to use ISNUMBER() to avoid negative logic, and it is more indicative of the evaluation desired: if the substring has a position, then ISNUMBER() is TRUE, else ISNUMBER() is FALSE.
See Also