• ベストアンサー

値を検索して列番号を返す関数

エクセルの関数で A1 A2  あ い となっている時、「い」は何列目なのかを取得する関数はありますか? 「B」ではなく、「2」というように列番号を返したいです。 よろしくお願いします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

=MATCH("い",$A$1:$A$2,0) これで2を返します。

qwfgjo
質問者

お礼

縦と横を間違えてましたが 参照を変えたらできました。 ありがとうございます。

その他の回答 (5)

  • takesun
  • ベストアンサー率40% (22/54)
回答No.6

>「B」ではなく、「2」というように列番号を返したいです。 ご質問から察するに「A2」の部分は「B1」の間違いではないかな? であれば、=MATCH("い",A1:B1)で2が得られます。 範囲がA1:A2だったとしても =MATCH("い",A1:A2)で2が得られます。 外していましたら、もう少しご質問内容を 詳しくお願いします。

qwfgjo
質問者

お礼

そうです。 すいません。 ありがとうございます。参考になりました。

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

例がおかしいのでは無いですか。A1,A2と縦方向にデータを作っておいて >い」は何列目なのかを、はおかしいでしょう。何行目に有るかは、 MATCH関数を使う。 Googleででも照会のこと。 この関数を知っているかどうかだけの質問。この関数は関数の勉強で中級以上では多用される。 第2引数の検査範囲の取り方によって、答えが変わるから注意。A1:Ax とするか(存在すれば答えは行番号に一致したものが返る)データが始まる例えばA3:Axとするかで。

qwfgjo
質問者

お礼

例が間違っていました。 A2ではなくB1に「い」と入れてました。 失礼しました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

MATCH関数は違った列や行を範囲に含めることはできません。マクロでなければ一気に求めることはできないでしょう。 関数で行うには例えば2行目からデータがあるとしてA1セルに次の式を入力し右横方向にオートフィルドラッグします。該当の列に列番号が表示されます。 =IF(COUNTIF(A2:A10000,"い")>0,COLUMN(A1),"") 上記の例ではA1セルに式を入力して、横方向にオートフィルドラッグして該当の列を求めていますが、A1セルに式を入力して下方向にオートフィルドラッグして列番号を求めるためには次の式をA1セルに入力して下方向にーオートフィルドラッグします。その場合には初めにA列を新たの挿入して式を入力することになりますね。 =IF(COUNTIF(B1:XX1,"い")=0,"",MATCH("い",B1:XX1,0)) MATCH関数では、該当するデータがない場合にはエラーとなります。エラー表示などをなくするためには上記のようにCOUNTIF関数などを使うとよいでしょう。

qwfgjo
質問者

お礼

ありがとうございます。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

No.1です! 何度もごめんなさい・・・ あちゃぁ~~~! エラーになってしまいましたか? #N/A は 関数の中に値がみつからないという意味だと思いますので、 MATCH関数の検査範囲の指定などは「い」の行になっていますかね? 尚、先ほどの回答のデータ範囲はA1~C2の間違いでしたけど 大勢には影響はないように思われます。 そして回答画面の数式をそのままExcelのSheet上にコピー&ペーストしても ちゃんと「2」が表示されましたけど・・・ ん~~~ 原因がチト、分かりません。 どうもこの程度の回答でごめんなさいね。m(__)m

qwfgjo
質問者

お礼

すいません、、、今気づきましたが、 A1 B1 あ  い としたかったのでした。。。 あほなこと言って なんかすいません。 ありがとうございました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 行番号ではなくて・・・列番号なのですね? 一例ですが・・・ 表は A1セルから右に 1行目から A1  A2  A3 あ  い  う となっていると仮定して・・・ 「い」の列番号を取得したいということで回答させていただきます。 A1~B3セルに先ほどのデータがあるとします。 表示させたいセルに =COLUMN(INDEX(A1:C2,,MATCH("い",A2:C2,0))) としてみてください。 尚、エラー処理はしていません。 以上、参考になれば幸いですが、 的外れの回答なら無視してくださいね。m(__)m

qwfgjo
質問者

お礼

んん?? すいません。#N/Aになってしまいました。。。。ご回答いただいたのにすいません。

関連するQ&A