- ベストアンサー
一致した行を返したい
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に入れる数式を是非教えてください
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
次の方法は如何でしょうか。 =SMALL(IF((A2:A100=A1)*(B2:B100=B1),ROW(A2:A100),999),1) 配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。
その他の回答 (3)
- harapeco7
- ベストアンサー率54% (33/61)
計算に1列使用してもいいならば こんな処理はいかがでしょうか? D1へ(D列が計算列となります。) =A1*0.9854541564+B1*0.9542541935 を入力しD7までオートフィル。 C1へ =MATCH(D1,D2:$D7,0) を入力しC7までオートフィル。 C列の結果が #N/A ならば該当無しです。(if文で簡単に処理できます。)
お礼
ありがとうございます No2のお礼内容に訂正があります =SMALL(IF((A2:A100=A1)*(B2:B100=B1),ROW(A2:A100),999),1)-ROW(A1) で完全動作しました この場を借りて報告することをお許しください
- mshr1962
- ベストアンサー率39% (7417/18945)
>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が表示される場合は一致した行がない。
お礼
説明不足でした Aの値とBの値の組み合わせが完全一致している行を 下の行から探し、それが何番目の行にあたるのか? ということです
- zap35
- ベストアンサー率44% (1383/3079)
質問の例なら =LARGE(INDEX((A2:A7=A1)*(B2:B7=B1)*ROW(A2:A7),),SUMPRODUCT((A2:A7=A1)*(B2:B7=B1)*1))-1 で「3」が得られます。式の最後で1を引いているのは検索開始行が2行目からだからです。
お礼
ありがとうございます C1に式をいれたら無事3が返ってきました コピーしてC2にいれたところ4ではなく5が返ってきました
お礼
ありがとうございます 思いどおりに動作しました