Difference between revisions of "Documentation/How Tos/Calc: SEARCH function"
From Apache OpenOffice Wiki
< Documentation | How Tos
m |
|||
(10 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
− | __NOTOC__ | + | {{DISPLAYTITLE:SEARCH function}} |
+ | {{Documentation/CalcFunc TextTOC | ||
+ | |ShowPrevNext=block | ||
+ | |PrevPage=Documentation/How_Tos/Calc:_ROMAN_function | ||
+ | |NextPage=Documentation/How_Tos/Calc:_SUBSTITUTE_function | ||
+ | }}__NOTOC__ | ||
== SEARCH == | == SEARCH == | ||
Line 16: | Line 21: | ||
: A failed search gives the <tt>'''#VALUE!'''</tt> error. | : A failed search gives the <tt>'''#VALUE!'''</tt> error. | ||
− | : In | + | : In {{menu|Tools|Options|OpenOffice Calc|Calculate}} the setting for <i>Search criteria = and <>must apply to whole cells</i> has no effect. |
=== Example: === | === Example: === | ||
Line 28: | Line 33: | ||
: returns <tt>'''3'''</tt>, if regular expressions are enabled. The "." stands for any single character in a regular expression, so <tt>'''"t.n"'''</tt> matches <tt>'''"ten"'''</tt>. | : returns <tt>'''3'''</tt>, if regular expressions are enabled. The "." stands for any single character in a regular expression, so <tt>'''"t.n"'''</tt> matches <tt>'''"ten"'''</tt>. | ||
− | + | <tt>'''SEARCH("xyz","abcdef",1)'''</tt> | |
− | ''' | + | : returns <tt>'''#VALUE!'''</tt>. |
− | ''' | + | : NOTE: This is an error condition, which must be 'handled' if used as the argument to another function. |
− | ''' | + | : <tt>'''IF( SEARCH("xyz","abcdef",1) , "Substring Present", "ERR: Missing Substring" )'''</tt> |
− | ''' | + | :: returns <tt>'''#VALUE!'''</tt> which is not very useful, therefore we could use either <tt>'''ISERROR()'''</tt> or <tt>'''ISNUMBER()'''</tt> for example: |
+ | :: <tt>'''IF( ISERROR( SEARCH("xyz","abcdef",1) ) , "ERR: Missing Substring", "Substring Present" )'''</tt>. | ||
+ | ::: returns <tt>'''"ERR: Missing Substring"'''</tt> (... allowing the IF() to function, and not propagating the error from the SEARCH() function. | ||
+ | :: <tt>'''IF( ISNUMBER( SEARCH("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 SEARCH() 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. | ||
− | |||
− | + | {{SeeAlso|EN| | |
+ | * [[Documentation/How_Tos/Calc: REPLACE function|REPLACE]] | ||
+ | * [[Documentation/How_Tos/Calc: FIND function|FIND]] | ||
+ | * [[Documentation/How_Tos/Calc: SUBSTITUTE function|SUBSTITUTE]] | ||
+ | * [[Documentation/How_Tos/Calc: EXACT function|EXACT]] | ||
− | [[Documentation/How_Tos/Calc: Functions listed alphabetically| | + | * [[Documentation/How_Tos/Regular Expressions in Calc|Regular Expressions in Calc]] |
− | [[Documentation/How_Tos/Calc: Functions listed by category| | + | |
+ | * [[Documentation/How_Tos/Calc: Text functions|Text functions]] | ||
+ | |||
+ | * [[Documentation/How_Tos/Calc: Functions listed alphabetically|Functions listed alphabetically]] | ||
+ | * [[Documentation/How_Tos/Calc: Functions listed by category|Functions listed by category]]}} | ||
+ | [[Category: Documentation/Reference/Calc/Text functions]] |
Latest revision as of 15:39, 2 February 2024
< {{#switch:Previous Page | Previous Section = Previous Section | Next Section = Next Section | Previous Page = Previous Page | Next Page = Next Page | }} | {{#switch:Next Page | Previous Section = Previous Section | Next Section = Next Section | Previous Page = Previous Page | Next Page = Next Page | }} > |
SEARCH
Returns the position of a string of text within another string.
Syntax:
SEARCH(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 not case-sensitive.
- The search will use regular expressions, if they are enabled (Tools - Options - OpenOffice.org Calc - Calculate).
- A failed search gives the #VALUE! error.
- In {{#if: Tools |Tools}}{{#if: Options | → Options}}{{#if: OpenOffice Calc | → OpenOffice Calc}}{{#if: Calculate | → Calculate}}{{#if: | → {{{5}}}}}{{#if: | → {{{6}}}}}{{#if: | → {{{7}}}}}{{#if: | → {{{8}}}}}{{#if: | → {{{9}}}}}{{#if: | → {{{10}}}}} the setting for Search criteria = and <>must apply to whole cells has no effect.
Example:
SEARCH("yo"; "Yoyo")
- returns 1. The search is case-insensitive.
SEARCH("cho"; "choochoo"; 2)
- returns 5.
SEARCH("t.n"; "often")
- returns 3, if regular expressions are enabled. The "." stands for any single character in a regular expression, so "t.n" matches "ten".
SEARCH("xyz","abcdef",1)
- returns #VALUE!.
- NOTE: This is an error condition, which must be 'handled' if used as the argument to another function.
- IF( SEARCH("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( SEARCH("xyz","abcdef",1) ) , "ERR: Missing Substring", "Substring Present" ).
- returns "ERR: Missing Substring" (... allowing the IF() to function, and not propagating the error from the SEARCH() function.
- IF( ISNUMBER( SEARCH("xyz","abcdef",1) ) , "Substring Present", "ERR: Missing Substring" ).
- returns "ERR: Missing Substring" (... allowing the IF() to function, and not propagating the error from the SEARCH() 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.
{{#switch:EN
| RU = Смотрите также:
| UA = Дивіться також:
| EN = See Also
| PT = Ver também
| #default = See Also
}}