First extract a unique sorted master list of tags, using both files.
then, pass both file through a transform so values between 10 and 14 (15 must be a typo?, ranges are 5 and 6 wide?) are converted to "10-14", etc., sort them all by range and tag, run through uniq -c, and now you have your counts in "ct tag range" form and range, tag order. Using the master list of tags, build the lines for each range present in tag order. If you know all the tags and ranges ahead of time, you can also use associative vectors keyed on "tag+range" to accumulate values and then spit out the totals without sorting, using awk, bash, ksh.