Excelで列名が2段重ねになっている場合のDataTableの回し方

UiPath Studio Community Edition初心者ユーザです。

INPUT.xlsxを開いて、1行ずつデータを読み込み、WebでBMI計算と2都市間移動の所要時間計算を行い、Webに表示された結果をOUTPUT.xlsxに書き込むワークフローを作成中です。
INPUT.xlsxとOUTPUT.xlsxは、同じフォーマットです。(添付画像参照)

添付画像を見ていただければ分かりますが、INPUT.xlsxは、1行目にアプリ名が存在し、2行目に列名が存在します。
従って、Excelを1行ごとに回す場合、1行目と2行目の2段重ねになっている列名でDataTableを抽出する必要があります。

ここから質問内容の説明に入ります。
まず、INPUT.xlsxの1行目列名”BMI計算”でフィルタリングして、フィルタリング結果からさらに1行目”BMI計算”を削除すれば
下記のUiPath構文が使えることは分かるのですが、もしかして、INPUT.xlsxの1行目列名”BMI計算”でフィルタリングするだけで、そのまま下記のUiPath構文が使えますか?

条件分岐
Not String.IsNullOrEmpty(indtインプットデータ行_BMI計算(inint対象行)(“身長”).ToString)
注1:"身長"はINPUT.xlsxの2行目列名
注2:indtインプットデータ行_BMI計算は、INPUT.xlsxを1行目列名”BMI計算”でフィルタリングして、引数としてサブルーチンに渡されたDataTable

3行目からヘッダなしでreadRangeして、あとはcolumn1,column2とか
カラム指定で作業するのはなしでしょうか?
表のフォーマットが変わらないならそれでもいい気がしますが・・
頓珍漢な回答でしたらごめんなさい。

おっしゃっている方法でもできますが、column1,column2とか指定したくないため、列名で指定できないか模索しています。複数のアプリで同じ列名の場合もあるため、アプリ名+列名で検索したいのです。Object変数を使えば確かできたはずです。

ならばReadRangeした後に列名変更するというのはなしでしょうか?
列名変更するのにColumn1とかを指定するのがそもそもダメとなれば、だめですが。だめかな。

二行目からヘッダーありで読む?