• ベストアンサー

エクセルでセルの位置を求める

エクセルの表から複数の条件に合ったセルの位置を求めたいのですが・・・ たとえば ・|A|B| 1|3|1| 2|3|2| 3|5|1| 4|5|2|<--この行(4)を求める 5|6|1|・・・・ ・・・・・ の様な表の場合A列が5でB列が2の行(この場合4)を求めたいのですが よろしくお願いいたします。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

#3>回答の関数が理解できませんが sumproduct関数は、いわゆる内積みたいな計算をする関数です。 セル範囲1の内容:1,2,3 セル範囲2の内容:2,4,8 みたいな時、対応する各項目を掛け算してその各項目を足し算します。 つまり上の例では、 1*2+2*4+3*8を求めます。 #3の場合セル範囲の要素が1つしか指定していませんが、その時でも使えます。 セルの値の集合に対して処理するようなことがsumproductを使って実現できます。 普通の関数はセルの範囲のそれぞれの値を扱うことができないのですが、 配列数式という形で扱うことができます。 これは、似たようなことができますが、 入力(SHFIT+CTRL+ENTERで入力)や編集(また前記の方法で入力しなければならない)が面倒です。 #3の式では (A1:A5=5)*(B1:B5=2)*ROW(A1:A5)は、 sum( (A1=5)*(B1=2)*ROW(A1), (A2=5)*(B2=2)*ROW(A2), (A3=5)*(B3=2)*ROW(A3), (A4=5)*(B4=2)*ROW(A4), (A5=5)*(B5=2)*ROW(A5)) を指定したのと同じ効果があります。 (A1=5)のような条件式が成立する時 計算につかうと1になるので、 条件が1つだけ成立する時 成立する項目以外は、0になるので 総和を求めると、条件が成立した時の row(X)になることになります。 ROW(セル)は、そのセルがある行を求める関数です。

kin_kin
質問者

お礼

大変丁寧なご回答をありがとうございました。この説明でよく理解ができました。また何かありましたらよろしくお願いいたします。

その他の回答 (3)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

=SUMPRODUCT((列Aの範囲=5)*(列Bの範囲=2)*ROW(列A又はBの範囲どっちでもいいです)) 例 =SUMPRODUCT((A1:A5=5)*(B1:B5=2)*ROW(A1:A5))

kin_kin
質問者

お礼

お礼が遅くなりまして申し訳ございません。 ご回答の関数が理解できませんが、求める行の値を得られました。ありがとうございました。また何かありましたらよろしくお願いいたします。

noname#8185
noname#8185
回答No.2

=indirect(address(行番号,列番号)) です。

kin_kin
質問者

お礼

お礼が遅くなりまして申し訳ございません。 関数もマクロ(VBA)もあまり理解していなく質問の内容も不足していました。この場合何処かのセルにお教えいただいた関数を入力しても求める行(4)は得られないのですが、行番号・列番号には何をセットすればよろしいのですか?もし、お時間が取れましたらよろしくお願いいたします。

回答No.1

補足をお願いします。 どこかのセルに行番号が表示されればよいのでしょうか? それとも、マクロの中で取得したいということでしょうか?

kin_kin
質問者

補足

補足が遅くなりまた質問の内容が大きく不足していて誠に申し訳ございません。 マクロでなく何処かのセルに条件に合う行(列を含んでもOKです)を表示させたいのです。よろしくお願いいたします。

関連するQ&A

  • エクセルで重複するセルを削除したい

    エクセル2000で同じ内容のセルが複数あったとき、ひとつだけを残し他を削除する方法を教えてください。 ただし少し条件があります。 データーは5列100行位からなっています。 A列にある重複したデーターのセルを削除したいのですが、A列は同一なのですがB列は異なっています。B列に数字が入っているセルとうでないセルがあるのですが、数字が入っているものを残したいのです。 具体例は次のとおりです。 A列に 「ホンダCIVIC」 B列 「-」と書かれた行と A列に 「ホンダCIVIC」 B列 「2」と書かれた行、 A列に 「ホンダCIVIC」 B列 「5」と書かれた行、 のA列だけを見ると重複した3行が有ったとします。 B列に「5」または「2」の入った行ひとつだけ残し、他を削除したいのです。 何かよい方法があればお教えください。よろしくお願いします。

  • 条件に合ったセルにカーソルを飛ばしたい

    こんにちわ お世話になります。 エクセルの表(列も行も項目が沢山あります)にデータを入力する時に、いちいちスクロールするのも大変です。 そこで、列の条件と行の条件をあるセルに入力したら条件に合ったセルにカーソルを飛ばすというようなことは出来ないでしょうか? 例えば  列の条件   お   行の条件(1) 2  →と条件をセルに入力  行の条件(2) C      あいうえおかきくけこさしすせそ・・・ 1 A   B   C  2 A   B   C      ■ ←ここにカーソルが移動    3 A   B   C   ・   ・   ・ こんな感じなのですが・・・ 何か良い案は無いでしょうか?

  • エクセルでセルの位置情報を返す数式を教えてください

    エクセルでセルの位置情報を返す数式を教えてください。 エクセルでセルの位置情報を返す数式を教えてください。 たとえば以下のような表がある場合、Offset関数でC4の値を 出したい場合は、offset(A1,3,2,1,1)となります。 しかし、A1のリストの位置が不明のためこの位置を反映することのできる 数式を教えていただけると助かります。 よろしくお願い致します。 A B C 1 リスト 2 あ 10 20 3 い 30 40 4 う 50 60

  • セルのグループ化

        A    B   C 1   日付  参加者 グループ 2   5月25日  A ☆ 3        B △ 4 5月26日 C □ 5 5月27日 D △ 6 E ☆ という表があったとします。 オートフィルタでA列を”5月25日”で引っ掛けた場合 行2はもちろんのこと、行3も一緒に出てくるようにしたいです。 また同様にB列を”B”で引っ掛けた場合 行3はもちろんのこと、行2も一緒に出てくるようにしたいです。 ~やりたいこと~ ・複数の図をグループ化するように、  複数のセルをグループ化したいです。 何か良い方法はありますでしょうか? ※A3のセルに”5月25日”と入力する以外 Excel 2003を使用しています。 他に不足情報がございましたら、ご指摘下さい。 宜しくお願いします。

  • Excelにて複数条件を満たす行の特定のセルの値を返す関数

    Excelにて複数条件を満たす行の特定のセルの値を返す関数を作りたいのですが、上手く行きません。 <Sheet1>   A列  B列  C列 1 2008/6/1 ★  320 2 2008/6/1 ☆  300 : : : Sheet2のA1に、「A列が2008/6/1で、B列が☆の場合、C列の値を返す」という関数を入れたいのですが、どうも上手く行きません。 良い式がありましたら教えて下さいm(_ _)m

  • Excelのセルの並べ替え方

    Excelでデータが A B C←セルの行 ------- 1|1 2|2 3|3 4|4 5|5 6|6 7|7 8|8 9|9 ↑セルの列 と並んでいるときに A B C ------- 1|1 2 3 2|4 5 6 3|7 8 9 と3つごとに並べ替えるにはどうすればいいですか教えてください

  • エクセルVBA 条件にあうときセルを塗りつぶすには?

    エクセルVBA 条件にあうときセルを塗りつぶすには? エクセルVBAについて教えてください。 _________A 列 _________B 列_________C列_________D列 -------------------------------------------- 1行| 基準値_________ 5_____________1____________8 2行| りんご____________1_____________9____________0 3行| みかん___________12___________5____________3 4行| ぶどう____________15___________7____________8 5行| バナナ____________3_____________1____________4 上図のようにデータがあります。 (実物は列行共に膨大です。また条件を4つ以上つける予定なので条件付書式は使えません) 各列の基準値に対して、セルの増減が、0以下のときに黄色に、5から8のとき大きくなるときに赤、9以上のときに青にセルの色を塗りつぶしたいです。 どのようにすればよいでしょうか? B列の場合、基準値が5です。 B2のセルの場合、基準値5と1(B2セル)の増減は-4です。 増減が0以下のときは黄色に、増減が5から8のときは赤に、増減が9以上のときに青にするので、このときは黄色に塗りつぶします。 B3のセルの場合、基準値5と12(B3セル)の増減は7です。 増減が5から8のとき赤に塗りつぶすので、このセルは赤に塗りつぶします。 B4のセルの場合、基準値5と15(B4セル)の増減は10です。 増減が9以上のとき青色に塗りつぶすので、このセルは青色に塗りつぶします。 C2のセルの場合は、C列の基準値は1(C1セル)です。 基準値1と9(C2のセル)の増減は8です。 増減が5から8のとき赤に塗りつぶすので、このセルは赤に塗りつぶします。 よろしくお願いいたします。

  • エクセル セルを選択で行の位置が判る方法

    エクセルで表を作る事が多いです。 セルで位置を選択すると行全体が色が変わるとか、ラインが出るとか 識別できる方法はないでしょうか? 例えば、セルB2を選択すると行2全体が判るような。

  • Excelの関数で、範囲内で条件と一致したセルの位置を取得するには

    Excelの関数で、範囲内で条件と一致したセルの位置を取得するには どうすればよろしいでしょうか? (例)  5行×5列にA~Yまでの25文字がランダムで配置されている場合、  「K」と「R」の位置(相対位置等)を取得したい。  ※範囲内に配置されている値は重複しません。 実際は20行程度×20列程度の範囲です。 ほとほと困り果てています。 よろしくお願いします。

  • エクセルで条件を付けたセルの個数

    エクセルで複数行の表を作りました。各行ごとに異なる条件付き書式を施し、適合結果のセルを書式設定のパターンで色づけしました。色付きのセルが縦(列)に何個あるかを表示させるにはどうすれば良いでしょうか。教えてください。