• ベストアンサー

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

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

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答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/17068)
回答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

  • Excel関数で表の列番号取得について

    初めまして。 Excelの下記のような表から行ごとに○がついている列の番号を 関数で取得したいのですが、よい方法が思いつかないので質問させていただきました。 (ネットで調べても、行2と列Bが交差するセルに○をつける関数、ばかりが出てきてしまい、 知りたい情報にたどり着けませんでした) 【表】   A B C 1  2   ○ 3 ○ 【取得したい内容】 1 について○がついていないことをしりたい 2 について○がついている「B」を取得したい 3 について○がついている「A」を取得したい どうぞ、お知恵をお貸しください。

  • 列に番号を打つ

    セルA3から1から順番に番号を付けようと思います。(A3=1,A4=2,A5=3,・・・・・・・)条件はこんな条件です。B列に何かデーターが入った時に(データーがない時は隣のA列は空白です)隣のA列に番号が付く。最初にデーターが入るのはセルB3から順番に下に入っていきます。データーはどこまで入るか決まっていません。A3のセル(=if(B3="","",A2+1))に関数を書くことが出来ません。(A列のセルにデーターがあるとB列にデーターがうまくコピーされません)つまりB3にデーターが入ってからA3に番号を打つようにVBAでよろしくお願いします。

  • 複数列の値を条件に応じて別の列に合わせて表記したい

    エクセルで困っています。 以下、現在の表にあるように、 A列に、任意の番号 B列に、任意の番号にひもづく所属番号 があるとき、C列に上から、 B列番号を表記し、その下のセルに、 B列の所属番号が同じA列の番号をすべて順番に表記していきたいとき、 どのような関数を使えば可能でしょうか。 INDEXやMATCH、ROW等を考えてみましたがうまくできません。。。 また、もし可能でしたら、後学のために関数式の意味も 合わせて教えていただければ、大変大変助かります<(_ _)> ≪補足情報≫ ・A列の所属をVlookupでB列に表記させてあります。 ・A列の数値はA列内で重複しません。 ・A列の数値はB列の所属番号内で昇順に表記されています。 ・B列の所属番号設定数は変動します。  (以下の例では、所属番号1が3つ、2が4つ・・・ですが1が5つ等になる可能性もあります) ↓現在の表↓    A   B 1  1   1 2  10  1 3  15  1 4  2   2 5  6   2 6  8   2 7  20  2 8  3   3 9  9   3 10 18  3 ↓このようにしたいです。↓    A   B  C 1  1   1  1 2  10  1  1 3  15  1  10 4  2   2  15 5  6   2  2 6  8   2  2 7  20  2  6 8  3   3  8 9  9   3  20 10 18  3  3     ・  ・  3     ・  ・  9     ・  ・  18           ・           ・           ・ ちなみに、C列の表記はA、B列と行数が合っていなくて構いません。 マクロやVBAがわからないので、関数で教えていただければありがたいです。 何卒よろしくお願いします<(_ _)> ※エクセル2010を使用しています。

  • B列の値がA列にあるかを調べる関数

    excel2010を使っています。 題名の通りなのですが、B列にある値がA列にあるかを関数を使って求めたいと思います。 B列に290個、A列に259個の値が入力されていて、 ・B列にあってA列にないもの ・A列にあってB列にないもの の両方を見つけ出したいのですが、よい関数を教えてください。exact関数ではダメでした。

  • エクセルで文字列検索の関数

    エクセルのワークシート関数で質問です。 「A1セルに、文字列、A、B、Cの何れかを含み、かつCDを含まない」ことを調べる関数です。 素直に、 =AND(ISNUMBER(FIND("A",A1)),ISNUMBER(FIND("B",A1)),ISNUMBER(FIND("C",A1)),NOT(ISNUMBER(FIND("CD",A1)))) と長ったらしく書けば取得できることはわかるのですが、もっと簡潔なやり方がありそうな気がします。 どうか教えてください。

  • Excel関数で大きい値を出したいのですがなかなか上手くいきません。

    エクセルの関数式で、質問です。    A列   B列   C列 1  番号   版数   結果 2 ○○○×   A     NG     3 ○×○○   A     OK 4 ○○○×   B     OK 表現が難しいので、上手く伝わるか分かりませんが、 A列に同じ番号があり重複するが、 B列の版数が違い尚且つ、最新の版数をC列に表示するようにしたいのです。 上記の場合だと、 3列目は番号と版数が他と重複するものがないので結果はOK。 2列目と4列目は番号は重複してるが版数をみれば、 4列目が新しいので、2列目の結果はNG、4列目の結果はOK。 と、言う感じです。 現在、番号と版数を一緒に入力してた為、 古い版数と新しい版数の判別が付きませんでしたので、 新しい版数のみを表示できるような関数式を教えて頂けないでしょうか? 過去の履歴も検索したのですが、該当するものが見つからなかったので、 質問させて頂きました。 Excelのバージョンは2003になります。 皆様の、知恵をお貸し頂けたら幸いです。

  • excelで文字列を検索する関数を教えてください。

    いつもお世話になります。 エクセルの関数で、シートAのセルA1に入っている文字列をシートBのC列から探し出し、同じ文字列があればTrueをなければFalseを返す関数を教えてください。 わからないながらも色々調べてみたのですが、検索にはVLOOKUPがよく使われているようですが、シートBのC列は、データの並べ替えができないので、VLOOKUPは、使えないのです。 よろしくお願いします。

  • エクセル関数を使ってシート1のC列にシート2の分類番号を入れたいのです

    エクセル関数を使ってシート1のC列にシート2の分類番号を入れたいのですが IF,VLOOKUP,COUNTIFなどでトライしましたがうまくいきません。 詳しい方に、ご教示願えましたら幸いです。どうぞ宜しくお願いいたします。 シート1のデータ A列に取引先番号、B列に品名およびほかの文字が混じっています。 シート2のデータ A列に取引先番号、B列に品名、C列に分類番号 尚、A列とB列は&検索条件、且つB列はあいまい検索になります。

  • エクセルで別シートの値を取得したいです。

    エクセルで質問があります。 別シートからセル値を取得したいです。 ただ、セル番地は行番号、列番号で指定し、 行、列番号はセルに入力してある値を使いたいです。 例 Aシート(値格納シート) B1セル値=1000 -------------- Bシート(値取得シート) A列=行番号入力 B列=列番号入力 C列=Aシートの取得関数 A2セル値=1 B2セル値=2 C2セル=1000(取得値) C2セルの関数に、A2とB2の値を使って Aシートのセル値を取得したいです。 よろしくお願いします。

  • エクセルの同じ行の違う列を返す関数

    エクセルの同じ行の違う列を返す関数 エクセルの関数について質問があります。 例えば、以下のようなデータがあったとして、 左からA列、B列、上から1行、2行・・・5行目に 0.1  32 0.2  9 0.3  15 0.4  2 0.5  21 といったデータがあるときに、例えば MIN(B1:B5)はB4の5とわかった場合に、 この時のA4の数値を知りたいのです。 データが膨大だとその数値をさがすだけで大変です。 よろしくお願いします。

専門家に質問してみよう