pd.read_excel usecols not working similarly when input with parse_cols sim

[excel_test.xlsx](https://github.com/pandas-dev/pandas/files/1581993/excel_test.xlsx)
#### Code Sample, a copy-pastable example if possible

```
   parsed_cols = 'BX, D:E, AO:AR, BY, F:K, BW, AW, AZ:BQ'
   parsed_cols2 = ['BX', 'D:E', 'AO:AR', 'BY', 'F:K', 'BW', 'AW', 'AZ:BQ']
   parsed_cols3 = 'BX,D:E,AO:AR,BY,F:K,BW,AW,AZ:BQ'
   excel_file ="./excel_test.xlsx"
   
   input_df1 = pd.read_excel(excel_file, sheet_name = "sheet1", header=0, index_col=0,\
                            parse_cols = parsed_cols, verbose=True, engine= None)#
   #works
   try:
   input_df2 = pd.read_excel(excel_file, sheet_name = "sheet1", header=0, index_col=0,\
                            usecols = parsed_cols, verbose=True, engine= None)#
   except KeyError as k:
        print(k)
        pass
 #doesn't work: ValueError: 'A' is not in list: here I guess that it takes this as an iterator instead of splitting it based on commas


   try:
   input_df3 = pd.read_excel(excel_file, sheet_name = "sheet1", header=0, index_col=0,\
                            usecols = parsed_cols2, verbose=True, engine= None)#
   except KeyError as k:
        print(k)
        pass
   #doesn't work: ValueError: 'BX' is not in list. I think that it tries to match column header. Still passing header = None also fails. Column BX is really in the file as you can check for yourself

   try:
   input_df4 = pd.read_excel(excel_file, sheet_name = "sheet1", header=0, index_col=0,\
                            usecols = parsed_cols3, verbose=True, engine= None)#
   except KeyError as k:
        print(k)
        pass
[excel_test.xlsx](https://github.com/pandas-dev/pandas/files/1581945/excel_test.xlsx)

 #doesn't work: ValueError: 'A' is not in list: here I guess that it takes this as an iterator instead of splitting it based on commas

input_df5 = pd.read_excel(excel_file, sheet_name = "sheet1", header=0, index_col=0,\
                       usecols = ["column_1","column_77"], verbose=True, engine= None)#
Reading sheet 0
#works

input_df5_2 = pd.read_excel(excel_file, sheet_name = "sheet1", header=None, index_col=0,                         usecols = ["column_1","column_77"], verbose=True, engine= None)#
#FAILS: ValueError: 'column_77' is not in list

input_df5_3 = pd.read_excel(excel_file, sheet_name = "sheet1", header=None, index_col=0,\
                              usecols = ["1","77"], verbose=True, engine= None)#
#FAILS: ValueError: '1' is not in list


 input_df6 = pd.read_excel(excel_file, sheet_name = "sheet1", header=0, index_col=0,\
                              usecols = [0,76], verbose=True, engine= None)#
Reading sheet 0

#works

input_df7 = pd.read_excel(excel_file, sheet_name = "sheet1", header=0, index_col=0,\
                         usecols = "column_1,column_77", verbose=True, engine= None)#
#fails: ValueError: 'o' is not in list

input_df8 = pd.read_excel(excel_file, sheet_name = "sheet1", header=0, index_col=2,\
    ...:                          usecols = "column_1,column_77", verbose=True, engine= None)#
#fails: ValueError: 'o' is not in list. For a moment I believed that it was related to index_col, but it doesn't do... Doesn't work either with index_col=1. If a subset of data is selected with usecols, index_col is based on the subset, but it doesn't change with string input

 input_df9 = pd.read_excel(excel_file, sheet_name = "sheet1", header=0, index_col=0,\
:                          usecols = "A,BX", verbose=True, engine= None)#
input_df10 = pd.read_excel(excel_file, sheet_name = "sheet1", header=None, index_col=0,                                                      usecols = ['A','BX'], verbose=True, engine= None)#

#BOTH FAILS. I am running out of ideas. I know how to make it work with use_cols, but as much as possible I'd like to keep the string input as it was based on another subroutine, and modifying this to output int lists is tedious and uncalled for at the moment. What Is strange is that it works with real header names when header=0 is passed, but not with header=None
```
Hello,
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_excel.html
states that use_cols has been changed to supercede to parse_cols which has been deprecated since version 0.21.
So I decided to adapt my code, changing the keyword parse_cols to usecols to parsed_cols
my original input would be parsed_cols variable, the other versions being tries to adapt to what I supposed from documentation.
The problem telling that I ask for a column that is not in the columns name.
The docs states: "If string then indicates comma separated list of Excel column letters and column ranges (e.g. “A:E” or “A,C,E:F”). Ranges are inclusive of both sides."
For example, it either tells for except that "A" or "BX" are not in the columns. It doesn't seem related to index_col, as changing it may yield similar output.

I joined the excel_file based on the original layout and checked that it work properly (input_df1).

It is not an unsolvable problem, just that for this particular type of input, it doesn't work as advertised in docs neither like the old parse_cols keyword. If code has been copy pasted from an older subroutine, variable names could interact or have been messed up?

Maybe my different tries will point you out to the solution, as you know the code better.

Thanks for your help.
Best regards
EDIT: I don't seem to be able to paste the excel file, so please find it there: http://dl.free.fr/cW9jOuNzu