• ベストアンサー

一致した行を返したい

excel2007を使っています おしえてください    A   B   C 1   1   3 2   2   8 3   2   3 4   1   3 5   7   8 6   2   8 7   1   3 このような表がありA1の1と同じ1をA列2行目から検索 B1の3と同じ3をB列2行目から検索 どちらも値が一致した行(検索開始行から数えて何番目)をC1に返したい (この場合3と6がありますが早く一致した3を返したい) C2は4となります Cに入れる数式を是非教えてください

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

次の方法は如何でしょうか。 =SMALL(IF((A2:A100=A1)*(B2:B100=B1),ROW(A2:A100),999),1) 配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。

t_o_m
質問者

お礼

ありがとうございます 思いどおりに動作しました

その他の回答 (3)

  • harapeco7
  • ベストアンサー率54% (33/61)
回答No.4

計算に1列使用してもいいならば こんな処理はいかがでしょうか? D1へ(D列が計算列となります。) =A1*0.9854541564+B1*0.9542541935 を入力しD7までオートフィル。 C1へ =MATCH(D1,D2:$D7,0) を入力しC7までオートフィル。 C列の結果が #N/A ならば該当無しです。(if文で簡単に処理できます。)

t_o_m
質問者

お礼

ありがとうございます No2のお礼内容に訂正があります =SMALL(IF((A2:A100=A1)*(B2:B100=B1),ROW(A2:A100),999),1)-ROW(A1) で完全動作しました この場を借りて報告することをお許しください

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

>A1の1と同じ1をA列2行目から検索、B1の3と同じ3をB列2行目から検索 >どちらも値が一致した行(検索開始行から数えて何番目)をC1に返したい A1=A4、B1=B3なので3と2だからC1=2になりませんか? A2=A3、B2=B5なので1と3だからC2=1になりませんか? 上記でいいなら =MIN(IF(COUNTIF(A2:A$65535,A1),MATCH(A1,A2:A$65535,0),99999),IF(COUNTIF(B2:B$65535,B1),MATCH(B1,B2:B$65535,0),99999)) 99999が表示される場合は一致した行がない。

t_o_m
質問者

お礼

説明不足でした Aの値とBの値の組み合わせが完全一致している行を 下の行から探し、それが何番目の行にあたるのか? ということです

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

質問の例なら  =LARGE(INDEX((A2:A7=A1)*(B2:B7=B1)*ROW(A2:A7),),SUMPRODUCT((A2:A7=A1)*(B2:B7=B1)*1))-1 で「3」が得られます。式の最後で1を引いているのは検索開始行が2行目からだからです。

t_o_m
質問者

お礼

ありがとうございます C1に式をいれたら無事3が返ってきました コピーしてC2にいれたところ4ではなく5が返ってきました