Today, we will learn an interesting array formula trick to test if a list is sorted or not.
During last one week, I got 2 requests from different clients for some excel related work. Both of them had one thing in common. To test whether a list is sorted or not. So I got thinking, how do I know if a list is sorted or not without visually scanning it.
Of course, the answer is in a formula.
Let us say you have a list of values (text, numbers or mixed) like this:

Assuming your values are in the range B2:B8
Write the formula =AND(B2:B7<=B3:B8) and press CTRL+Shift+Enter to make it an array formula.
The result will be true if the list in B2:B8 is sorted in ascending order, false otherwise.
How does this formula work?
Very simple. Assuming your list has n values, it check first n-1 values with their next values to see if each value is less than or equal to its next value. If all of them are true, the AND formula returns TRUE. See this illustration:

Download Example Workbook
I have made a simple example file to illustrate this technique. Go ahead and play with it.
Click here to download example workbook – Excel Array Formula to check if a list is sorted or not.
How would you write formula for this?
As fun homework, go ahead and figure out an alternative formula for this. Then come back and post it comments. Let us see how many different ways we can get the same result.
Go!













11 Responses to “Who is the most consistent seller? [BYOD]”
The Date column in the sample file is Text not Dates
[…] http://chandoo.org/wp/2015/02/18/calculating-consistency-in-excel/?utm_source=feedburner&utm_med… […]
Great Chandoo. Keep it up, Looking forward more from BYOD..
Thanks
With Excel 2013 the pivot table could be connected to the data model which provides a distinct count.
This will do for invoice count
=COUNTIF(F:F,H12)
Instead of
=COUNTIFS(sales[SELLER],$H12)
Excellent document. How did you make the last graphic? Witch app. Thanks for answer.
Can someone tell me what =countif(sales[date],sales[date]) is counting? The value is 19. Its found in the =SUMPRODUCT(IF(sales[SELLER]=H12,1/COUNTIFS(sales[SELLER],H12,sales[date],sales[date]),0))
Hi Chris,
=countif(sales [date],sales[date]) function is counting the unique dates in the table.
Vândalo
Excellent document!
Can you explain more about the calculation on Weighted consistency? More specific the small number is 0,00001 ?
How come the number should be smaller if there is more sellers?
Hi,
Not understood this formula: {=SUMPRODUCT(IF(sales[SELLER]=H12,1/COUNTIFS(sales[SELLER],H12,sales[date],sales[date]),0))}
Please explain.
Thanks.