I am working on a worksheet that has been imported into excel from an
antiquated mainframe and so the resulting excel worksheet carries the headers
and footer from the mainframe. Basically, these header and footer prevent
the worksheet from functioning like a data sheet. I want to filter out the
rows with meaningful data. Each of the rows that contain meaningful data has
a text field of 4 characters in column B.
This is what I’ve been working with:
=INDEX(A$15:E$51, SMALL(IF(B$15:B$51 = SDXS or BNDX or UNVI or BEER or WAGE
or UBEN, ROW($1:$37)), ROW(15)))
I don’t understand how the second ROW call (ROW(15)) functions. If the data
in column B is on the list (SDXS or BNDX or UNVI or BEER or WAGE or UBEN) I
want to return all the data for that same row.
Dave F - 02 Apr 2007 19:34 GMT
Why don't you create a helper column in which you test for the presence of
these four-character strings, and filter on that?
If your data goes from column A to E, then in column F enter the formula
=IF(OR(B1="SDXS",B1="BNDX",B1="UNVI",B1="BEER",B1="WAGE"),1,"")
Filter on the 1, copy the filtered records, and paste in a new spreadsheet?
Dave

Signature
A hint to posters: Specific, detailed questions are more likely to be
answered than questions that provide no detail about your problem.
> I am working on a worksheet that has been imported into excel from an
> antiquated mainframe and so the resulting excel worksheet carries the headers
[quoted text clipped - 9 lines]
> in column B is on the list (SDXS or BNDX or UNVI or BEER or WAGE or UBEN) I
> want to return all the data for that same row.
emonz - 02 Apr 2007 21:06 GMT
Good idea - thanks much!
> Why don't you create a helper column in which you test for the presence of
> these four-character strings, and filter on that?
[quoted text clipped - 19 lines]
> > in column B is on the list (SDXS or BNDX or UNVI or BEER or WAGE or UBEN) I
> > want to return all the data for that same row.
T. Valko - 02 Apr 2007 19:49 GMT
Assuming your formula was syntactically correct (which it isn't):
Where:
IF(B$15:B$51 = SDXS or BNDX or UNVI or BEER or WAGE
or UBEN
= TRUE
An array of row numbers is passed to the SMALL function via: ROW($1:$37)
Then: ROW(15)
Would pass the 15th smallest row number to the INDEX function.
Biff
>I am working on a worksheet that has been imported into excel from an
> antiquated mainframe and so the resulting excel worksheet carries the
[quoted text clipped - 15 lines]
> I
> want to return all the data for that same row.
Domenic - 02 Apr 2007 23:59 GMT
Let's assume that you want your results in Column G, starting at G15,
try the following formula that needs to be confirmed with
CONTROL+SHIFT+ENTER...
G15, copied down and across:
=INDEX(A$15:A$51,SMALL(IF(ISNUMBER(MATCH($B$15:$B$51,{"SDXS","BNDX","UNVI
","BEER","WAGE","UBEN"},0)),ROW($B$15:$B$51)-ROW($B$15)+1),ROWS(G$15:G15)
))
Hope this helps!
> I am working on a worksheet that has been imported into excel from an
> antiquated mainframe and so the resulting excel worksheet carries the headers
[quoted text clipped - 9 lines]
> in column B is on the list (SDXS or BNDX or UNVI or BEER or WAGE or UBEN) I
> want to return all the data for that same row.