This article cointain two add-ins. One is for a case-sensitive search (named searchm), and the second is one for a non-case sensitive search (named searchnm).

As you read this article, one question raised in your mind might be that, in Excel, there already is a built-in function available, so what is the use of this module or in what way does it differ from built-in search functions that are available in Excel? Do I need one or more function to get the correct answer? That is easy for a programmer to answer, but creates a great headache for normal people.

### Example

In two string matches, the built-in search function is thin; it returns an index of matching strings, but what if it doesn't get a matching pattern? It genereates a #value! error to handle. You need one more function; this results in a complexity in use. The easy method is to use either of these two methods that directly result in either true or false, depending on the string follow pattern. With these add-ins, I provide a method of using it.

### Add-Ins for MS Excel to Match Two Case-Sensitive Strings (searchm and searchnm)

In both searchm and searchnm, the functions are as follows:

• # represents a single digit
• ? represents a single digit or char
• * represents a zero or many digits or chars

To perform a non-case sensitive, the add-in name is searchnm. Use Formula 1 to conduct a non-case sensitive search with searchnm.

#### Formula 1: Using searchnm

```1)=searchnm("a*a","aBBBa")                 ' Returns True.
2)=searchnm("[A-Z]" ,"F")                  ' Returns True.
3)=searchnm ("[!A-Z]","F" )                ' Returns False.
4)=searchnm ("a#a","a2a")                  ' Returns True.
5)=searchnm ("a[L-P]#[!c-e]" ,b.aM5b" )    ' Returns True.
6)=searchnm ("B?T*" , BAT123khg" )         ' Returns True.
7)=searchnm ( "B?T*" ,"CAT123khg")         ' Returns False.
```

In the case above, you may use a cell address that contains a string.

For searchm, the case-sensitive search, use Forumula 2.

#### Formula 2: Using searchm

``` 1)=searchm("a*a","aBBBa")                 ' Returns True.
2)=searchm("[A-Z]" ,"F")                  ' Returns True.
3)=searchm ("[!A-Z]","F" )                ' Returns False.
4)=searchm ("a#a","a2a")                  ' Returns True.
5)=searchm ("a[L-P]#[!c-e]" ,b.aM5b" )    ' Returns True.
6)=searchm ("B?T*" , BAT123khg" )         ' Returns True.
7)=searchm ( "B?T*" ,"CAT123khg")         ' Returns False.
8)=searchm("A*A","aBBBa")                 ' Returns False.
9)=searchm("[A-Z]" ,"F")                  ' Returns False.
10)=searchm ("A#A","a2a")                  ' Returns False.
```

In the case above, you may use a cell address that contains a string.