When you connect to the excel page with excel you should see this option:
If you select to turn on the data interpreter Tableau will attempt to figure it out for you. Alternatively if you have the ability to open the excel sheet you can select the data continuing in row 18 as a Table and if you name it as I did Table 1, you can connect to it. Now because you have no headers immediately above them you will need to rename your columns using this method. (not fun right). Depending what edition of tableau you use and what version of excel you may benefit from finding this as well: Installing the Tableau Add-In for Reshaping Data in Excel | Tableau Software .
You could also make another sheet of course with copying and pasting or even doing this with formulas and eventually VBA if its the only fix.
Finally using some sort of ETL tool if you know it will always be row 15 or row 18 or the name of the first header etc. As long as you have some logic you can use an ETL tool to pull this out site unseen and make a new excel sheet for you to connect too.
You can use the Legacy Connection and Custom sql query with excel file. Set field names using alias "column 1 as Header1" and use where clause to limit to rows with data.
Go onto the landing page of Tableau desktop, choose excel option to import the excel file in Tableau interface. You'll see a pop up window to choose the excel file, select the excel file which you want to work upon and while select Open -> Select Dropdown and click on -> Open with legacy connection.
You'll able to see the custom sql query option.