We help IT Professionals succeed at work.

on
could someone please explain what this formula is doing..?

{=MODE(IF(COUNTIF(A\$43:A43,DATA!J2:J65535)=0,DATA!J2:J65535+{0,0}))}
Comment
Watch Question

## View Solution Only

CERTIFIED EXPERT
Most Valuable Expert 2013
Commented:
MODE finds the most common number in a set of numbers. In this case, initially, it's finding the most common number in the range DATA!J2:J65535.

Assuming the formula starts in A44 and A43 is blank or has a text value then the IF function uses COUNTIF to count how many times each value in DATA!J2:J65535 appears in the cell A43 - that will presumably be zero for all of them so in A44 nothing is excluded and the formula gives the most common number.

In A45, though, the range in COUNTIF changes to include A44 so now any value in DATA!J2:J65535 that matches the top value already chosen in A44 is excluded, so you get the MODE without that value, i.e. the second most common number.

This repeats as you go down so you then get the 3rd most common number in A46, 4th in A47 until all numbers in the range are exhausted, then you'll get an #N/A error.

MODE gives an #N/A error if there are no repeated values so +{0,0} is used to "double-up" all values, thus ensuring there are no #N/A values returned even for numbers which only appear once in column J.

This is an "array formula" which needs to be confirmed with CTRL+SHIFT+ENTER

Is it working OK for you? Normally if copied down you need to make the J2:J65535 range "absolute", i.e. put \$ signs in like this

=MODE(IF(COUNTIF(A\$43:A43,data!J\$2:J\$65535)=0,data!J\$2:J\$65535+{0,0}))

I note that the formula will count blank cells as zeroes so unless the range is fully populated you might find, erroneously, that zero appears high up the list, if you don't want that then restrict the range to the populated part of Data!J2:J65535 or change to this version to exclude blanks

=MODE(IF(data!J2:J65535<>"",IF(COUNTIF(A\$43:A43,data!J2:J65535)=0,data!J2:J65535+{0,0})))

regards, barry

Commented:
thank you Barry for providing this great explination.  ( :
CERTIFIED EXPERT
Most Valuable Expert 2013

Commented:
Thank you. Sorry, I notice that the \$ signs weren't included in that last formula, so the suggested formula to copy down and exclude blanks should be

=MODE(IF(data!J\$2:J\$65535<>"",IF(COUNTIF(A\$43:A43,data!J\$2:J\$65535)=0,data!J\$2:J\$65535+{0,0})))

regards, barry