View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.worksheet.functions
Gord Dibben Gord Dibben is offline
external usenet poster
 
Posts: 22,906
Default Detect strings in a range

A VLOOKUP table does not have to be sorted alphabetically if you use the fourth
argument of FALSE which will return #N/A if string not found

=VLOOKUP(cellref,TableRange,tablecol,FALSE)

Assume your table is A1:B10 and you enter the string in C1

in D1 enter =VLOOKUP(C1,$A$1:$B$10,2,FALSE)

To return a blank if false use an error trap.

=IF(ISNA(VLOOKUP(C1,$A$1:$B$10,2,FALSE)),"",VLOOKU P(C1,$A$1:$B$10,2,FALSE))

On another sheet

=IF(ISNA(VLOOKUP(C1,Sheet1!$A$1:$B$10,2,FALSE)),"" ,VLOOKUP(C1,Sheet1!$A$1:$B$10,2,FALSE))

Less typing if you designate a named range for the Sheet1!$A$1:$B$10

Select that range on Sheet1 and InsertNameDefine

Give it a name like MyTable

Then formula becomes........

=IF(ISNA(VLOOKUP(C1,MyTable,2,FALSE)),"",VLOOKUP(C 1,MyTable,2,FALSE))


Gord Dibben MS Excel MVP

On Sun, 30 Dec 2007 14:52:01 -0800, Rich57
wrote:

I have a duty rota consisting of a range of cells containing names. The first
column of the range contains dates. The column headings are the duties.
I want to present this information in a different way for the benefit of
those on duty. I want to construct a new table, ideally on a different
worksheet, containing a list of names down column 1, the duties across the
column headings in row 1, and dates in the rows. I want the people to be able
to look at this table to find out quickly which dates they are responsible
for.
I began by trying to use VLOOKUP until I foiund that this requires an
alphabetically-sorted table.
I can explain the function like this:
I want to match a string within a range of cells.
If true, I want to print the contents of the row in the date column.
If false, I want a blank cell.