public String avgOverColumnRange(int[] cols)
	{
		//determine type of value in 1st cell
		String type = getColumnType(cols);

		ArrayList<String> concat = new ArrayList<String>();

		for(int index : cols)
		{
			List<String> temp = getColumn(index).subList(0, ROWS);

			for(String s : temp)
				concat.add(s);
		}

		//if this is a value we can sum
		if (type.equals("int"))
		{
			int[] cells = Common.convertStringListToIntArray(concat);
			return Cast.DoubleToString(StatsOps.Average(cells));
		}
		else if (type.equals("float"))
		{
			float[] cells = Common.convertStringListToFloatArray(concat);
			return Cast.FloatToString(StatsOps.Average(cells));
		}
		else if (type.equals("double"))
		{
			double[] cells = Common.convertStringListToDoubleArray(concat);
			return Cast.DoubleToString(StatsOps.Average(cells));
		}
		else if (type.equals("String"))
			return "";
		else
			return "NaN";
	}