View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.misc
Lars-Åke Aspelin[_3_] Lars-Åke Aspelin[_3_] is offline
external usenet poster
 
Posts: 1
Default Find duplicate values in an array

On Sat, 13 Feb 2010 12:59:15 -0800, Bony Pony
wrote:

Hi everyone,
21:00 on a Saturday night and I'm struggling with this!

I have textual data in cells C158:L177

Unfortunately these are not all unique values ...

I want to get the address of each dearched instance.

In cell C179 I want to enter a search text which exists in the data.

In D179 I want the address of the first instance, E179 the address of the
second etc.

For unique values the formula:
=ADDRESS(SUMPRODUCT(--($C$158:$L$177=C179)*ROW($C$158:$L$177)),SUMPRODUC T(--($C$158:$L$177=C179)*COLUMN($C$158:$L$177)),4)

works like a dream but for multiple instances, it doesn't work.

I can do this with VBA in a heartbeat but I am determined to do it with a
non array entered function.

Please can anyone hekp?

Kind regards,
Bony


I don't think it will be possible without an array entered formula.
But if you can accept an array formula, try this formula in cell D159.

=IF(COLUMN()-COLUMN($C159)COUNT(IF(my_data=$C$179,1000*ROW(my_ data)+COLUMN(my_data))),"",
ADDRESS(INT(SMALL(IF(my_data=$C$179,1000*ROW(my_da ta)+COLUMN(my_data)),COLUMN()-COLUMN($C159))/1000),
MOD(SMALL(IF(my_data=$C$179,1000*ROW(my_data)+COLU MN(my_data)),COLUMN()-COLUMN($C159)),1000),4))

Note: This is an array formula that should be confirmed with
CTRL+SHIFT+ENTER rather than just ENTER.

my_data is just an abbreviation for you data range, you may replace it
with $C158:$L177 (please observe the $) if you don't want to name your
data range.

Copy the formula from D159 as far to the right as you need to list the
addresses of the most frequent multiple data.

Hope this helps / Lars-Åke