You didn't mention the type of data you are identifying (continuous, discrete?), but, a simple method to approach this would be to re-code the data into binary values and sum
each row to get the cumulative sum of the magnitude of steps -- the result is your trend strength. Once you have the run data, you can easily rank sort it and bin into percentiles of top and bottom trends per your cutoff thresholds (can use scale and qnorm and set to desired p-values accordingly if desired).
# find bottom and top 10% trends
bottomtrend<-which(run < cut)
toptrend<-which(run > cut)
> # display top and bottom 10% trend indices
 2 13 19 21 24 28 43 84
 12 22 38 62 76
*The above code assumes all columns are populated, but possibly (depending on your data) an approach would be to just set any empty columns to zero assuming time intervals are all aligned (this obviously, may not be the best, but it depends on the nature of the data). Without seeing the data, I can't point out a best method, but if they had no time alignment, then one could argue the shorter series with all ones is just as trending as the longer series with all ones. Some type of calibration needs to be applied in that case.
** as mentioned above, you can set threshold to p-values by scale and qnorm.
pbottomtrend<-which(z < pcut)
ptoptrend<-which(z > pcut)