Don't save regular numeric data in cell arrays, you cannot compute with them and you have to go through notation- and computation-heavy concatenations each time you need to perform some computation. Instead, create a cell array for the non-numeric or non-regular content, and a numeric array for the numeric content:

>> months = {'Jan' 'Feb' 'Mar' 'Apr' 'May' 'Jun' 'Jul' 'Aug' 'Sep' 'Oct' 'Nov' 'Dec'} ;

>> data(1,:) = [6.7 7.5 8.5 9.5 10.4 10.9 11.2 10.5 9.1 7.6 6.3 6.5] ;

>> data(2,:) = [9.0 9.6 9.9 9.4 8.8 8.0 7.3 7.2 7.7 8.6 8.6 8.5] ;

Now data is a 2D array of all measures; one row per location, and 12 columns for 12 months. Then you can use functions like MEAN and SUM for computing what you need. Note that they take a second argument that defines the direction along which they must operate. Months are along dim 2, so:

>> mean( data, 2 )

ans =

8.7250

8.5500

gives you monthly means. Then you can apply some relational operation between the data and these means:

>> data > mean( data, 2 )

ans =

2×12 logical array

0 0 0 1 1 1 1 1 1 0 0 0

1 1 1 1 1 0 0 0 0 1 1 0

and even count the number of true (1) using a sum:

>> sum( data > mean( data, 2 ), 2 )

ans =

6

7

EDIT : Note that data>mean(data,2) hides an automatic expansion (a feature that is not supported by MATLAB versions < 2016b), because data is a nLoc x 12 array and the means are a nLoc x 1 column vector. The way to explicitly perform it is to use BSXFUN, which is not really the first thing that you should be learning in MATLAB. If the expansion is not supported, you can loop through months for example, or repeat the means to form an array that matches the size of data:

>> means = repelem( mean(data,2), 1, 12 ) ;

>> sum( data > means, 2 )

ans =

6

7