View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.worksheet.functions
javablood javablood is offline
external usenet poster
 
Posts: 14
Default IF, INDIRECT, & Wild cards

Biff,

I have a spreadsheet in which data from Access is updated for graphing
purposes. The data, which are analtyical results from environmental samples
and are in concentration units, e.g., mg/l, can either be detections (values)
or nondetections (contain a "U" signifying a less than condition). The
INDIRECT("'"&$T$1&"'!" & "h"&$N37) is used to capture the data from another
worksheet without a lot of hand entry. So, yes, what comes in from Access is
a text field because I am combining a concentration field (value) and a flag
field (U).

I was trying to account for the "U" in order to ignore those cells and only
get the value of a detected chemical. I have 12 chemicals from which I need
to extract the detections and I just paste the data from Access into a new
row, go to my 'calculation' worksheet to copy/paste the the formulas and
input the new row number, e.g., now in $N38, and voila I have my data. So I
do not think the count fn will work fro me and what I need. Thanks.
--
javablood


"T. Valko" wrote:

Not sure what you're trying to do here, but...

What is the result of:

INDIRECT("'"&$T$1&"'!" & "h"&$N37)

It looks like it might be a TEXT number since you're using the VALUE
function:

VALUE(INDIRECT("'"&$T$1&"'!" & "h"&$N37))

If that's the case you might be able use this and save a few keystrokes.

=IF(COUNT(-INDIRECT("'"&$T$1&"'!H"&$N37)),--INDIRECT("'"&$T$1&"'!H"&$N37),INDIRECT("'"&$T$1&"' !H"&$N37))

--
Biff
Microsoft Excel MVP


"javablood" wrote in message
...
I think I answered my own question with this:

=IF(ISERROR(VALUE(INDIRECT("'"&$T$1&"'!" & "h"&$N37))),
INDIRECT("'"&$T$1&"'!" & "h"&$N37), VALUE(INDIRECT("'"&$T$1&"'!" &
"h"&$N37)))

Thanks for your help!
--
javablood


"javablood" wrote:

Jacob,

Brilliant! thanks.

But if I have another letter, say "J" I tried:
=IF(ISERROR(SEARCH("U",INDIRECT("'"&$T$1&"'!"&"d"& $N37))),
VALUE(INDIRECT("'"&$T$1&"'!"&"d"&$N37)),
IF(ISERROR(SEARCH("J",INDIRECT("'"&$T$1&"'!"&"d"&$ N37))),
VALUE(INDIRECT("'"&$T$1&"'!"&"d"&$N37)),
INDIRECT("'"&$T$1&"'!"&"d"&$N37)))
but it did not work, I get #VALUE. It must be something about the
ISERROR
that I do not know.

Instead of trying to account for whatever letters there may be, is there
a
way to search/detect for no letters or just a number to be able to pull
the
value from that?
--
javablood


"Jacob Skaria" wrote:

Try the below instead

=IF(ISERROR(SEARCH("u",INDIRECT("'"&$T$1&"'!" &
"h"&$N37))),VALUE(INDIRECT("'"&$T$1&"'!" & "h"&$N37)),
INDIRECT("'"&$T$1&"'!"
&
"h"&$N37))

If this post helps click Yes
---------------
Jacob Skaria


"javablood" wrote:

I have the following formula in a worksheet cell that captures data
from
another worksheet:

=IF(INDIRECT("'"&$T$1&"'!" & "h"&$N37) = "*U*",
INDIRECT("'"&$T$1&"'!" &
"h"&$N37), VALUE(INDIRECT("'"&$T$1&"'!" & "h"&$N37)))

This works great if there is no "U" in the referred to cell because a
number
is returned but if there is a "U" in the referred to cell, #VALUE! is
returned!

If I just use =INDIRECT("'"&$T$1&"'!" & "h"&$N37), it works fine
whether
there is a "U" or not in the referred to cell, e.g., 10U will be
returned but
a 50 will be returned as text and I need a number if there is no "U".
Hence,
my need for the IF statement. The referred to cells come from an
Access
database query where I had to combine two fields to create one field
for
Excel.

Does anyone have an idea of what I may be doing wrong?

TIA
--
javablood