is there an equal fxn for 'InStr' in excel. Not Find or Search

C

Clausius

I find "InStr" quite usefull in Access and am curious if there is an
equivalent in excel. I've tried Find and Search but they don't return the
actual string of interest, they just tell you true or false (return 1 or 0).
 
A

Arvi Laanemets

Hi

From Excel VBA help (about InStr VBA function):
InStr Function: Returns a Variant (Long) specifying the position of the
first occurrence of one string within another.
Syntax: InStr([start, ]string1, string2[, compare])

From Excel help (about FIND worksheet function):
FIND finds one text string (find_text) within another text string
(within_text), and returns the number of the starting position of find_text,
from the first character of within_text. You can also use SEARCH to find one
text string within another, but unlike SEARCH, FIND is case sensitive and
doesn't allow wildcard characters.
Syntax: FIND(find_text,within_text,start_num)


As you see, none of them returns a string (and neither does Access InStr
function) - all of them return the starting position of one string in
another.


Arvi Laanemets



Clausius said:
I find "InStr" quite usefull in Access and am curious if there is an
equivalent in excel. I've tried Find and Search but they don't return the
actual string of interest, they just tell you true or false (return 1 or
0).
 
S

swatsp0p

There may be better ways, but this will work.

Assuming you are looking for the string "Data" in cell C22 (containing
"All Data Available)", use this formula:

=IF(FIND("Data",C22)>0,MID(C22,FIND("Data",C22,1),LEN("Data")),"oops")

Returns "Data" if found, otherwise returns "oops"

note: a cell reference can be used instead of the actual string,
assuming the string "Data" in in cell C26:

=IF(FIND(C26,C22)>0,MID(C22,FIND(C26,C22,1),LEN(C26)),"oops")

returns "Data"

also note that Find is case sensitive, e.g. "data" in C26 will return
"oops".


HTH

Bruce
 
Top