0

I have a condition in an Excel IF-statement as follows:

INDIRECT(ADDRESS(ROW(ME3),MATCH("PremiumWaiver",$1:$1,0)))=1

where

INDIRECT(ADDRESS(ROW(ME3),MATCH("PremiumWaiver",$1:$1,0)))

eveluates to {1}.

Is there any way I can force this {1} into 1 such that

INDIRECT(ADDRESS(ROW(ME3),MATCH("PremiumWaiver",$1:$1,0)))=1

will return TRUE?

1
  • It shouldn't be returning an array. Is {1} what you're seeing in a cell if you just copy your partial formula somewhere else? Is it possibly a rounding issue if not all decimals are displayed? Does it result in true if you use the actual cell address instead of using indirect and address?
    – gtwebb
    Dec 6, 2013 at 23:45

2 Answers 2

1

It's ROW function that returns an array, you could replace by ROWS, e.g.

=INDIRECT(ADDRESS(ROWS($ME$1:ME3),MATCH("PremiumWaiver",$1:$1,0)))

or you can use a function like SUM around ROW

=INDIRECT(ADDRESS(SUM(ROW(ME3)),MATCH("PremiumWaiver",$1:$1,0)))

although I'm not really sure you need INDIRECT and ADDRESS at all, you can use INDEX or OFFSET, e.g.

=OFFSET($A$1,SUM(ROW(ME3))-1,MATCH("PremiumWaiver",$1:$1,0)-1)

0

if {1} means an array, then try the INDEX function:

INDEX(INDIRECT(ADDRESS(ROW(ME3),MATCH("PremiumWaiver",$1:$1,0))),1)=1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.