• ベストアンサー

Excel HLOOKUPで一致したセルの列番号

Excelの関数で、HLOOKUPの関数を使うと セルの値が出てきますが、値ではなくセル番地(列番号)を表示する方法はないでしょうか。 以下のようにシート(SHEET1)を作成しました。  |A  | B | C | D | E | ――――――――――――――――――――― 1|日付 | Bさん   | Aさん   | ――――――――――――――――――――― 2|4/1|   |   |早退 |1.0| 3|4/2|遅刻|1.0|   |   | 4|4/3|   |   |遅刻 |0.5| 他のシートに”Aさん”のそれぞれの集計を 出すように関数(SUMIF)を作成したのですが、 どうしても列番号が必要? 関数またはVBAでなにかよい方法はないでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 列位置を出すのは、No.1の方の回答のように、MATCH関数です。 あとは、これをSUMIFで使用する方法ですが、 仮にSheet2のA1に「Aさん」と入力されている場合に、Aさんの早退時間の合計を出すのは、 =IF(COUNTIF(Sheet1!$1:$1,A1),SUMIF(INDEX(Sheet1!$1:$65536,,MATCH(A1,Sheet1!$1:$1,0)),"早退",INDEX(Sheet1!$1:$65536,,MATCH(A1,Sheet1!$1:$1,0)+1)),"") という数式で出来ます。

doraradora
質問者

お礼

ありがとうございました。 MATCH関数を使用するとは、 気づきませんでした。 参考になりました。 ポイントは、数式を書いていただいた 「maruru01」さんに良回答とさせていただきます。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

BとC、DとE、FとG、HとI、・・・をセル結合して BにA、DにB、FにC、HにD・・といれた時 =MATCH("C",$A$1:$I$1,0)で6と出ます。 F列が6番目の列であるからです。”C”のところにセル =MATCH(A10,$A$1:$I$1,0)として、A10にCを入れているケースも同じです。 こう言う問題ではないでしょうか。

doraradora
質問者

お礼

ありがとうございました。 MATCH関数を使用するとは、 気づきませんでした。 参考になりました。

関連するQ&A