Well, “average” will return the average of a list of numbers. The problem is neither of those things are a list of numbers.
At least for the age ranges, if you made a new field with one number to represent the range (like 21 for 18-24), call it “UNO” then you could get a list of each UNO from each user, which would be a list of numbers. Then you could get the average of that. You could just use that average age, or convert it back into a range.
If you had a field somewhere (maybe in thing Town) that held a number representing the total number of users who selected that town, then you could search and sort based on that population field. The first result will be the one with the biggest number.