さまざまなサイトからの Excel ファイルを処理するために、これにバリエーションを加えます。
data = {{"h1", "h2"}, {1, 2}, {3, 4}, {5, ""}};
find[x_String] := Cases[Transpose[data], {x, __}]
In[]=find["h1"]
Out[]={{"h1", 1, 3, 5}}
不規則な種類のデータの場合は、通常、転置に適したものにするために十分にパディングできます。さらに、私のソースの一部は書式設定が面倒で、ヘッダーの大文字と小文字が変わることもあれば、ヘッダーの前に空の行があることもあります。
find2[x_String,data_List] :=
Cases[Transpose[data], {___,
y_String /;
StringMatchQ[StringTrim[y], x, IgnoreCase -> True], __}]
In[]=find2["H1",data]
Out[]={{"h1", 1, 3, 5}}
data2 = {{"", ""}, {"H1 ", "h2"}, {1, 2}, {3, 4}, {5, ""}};
In[]=find2["h1",data2]
Out[]={{,"H1 ", 1, 3, 5}}