プロが教えるわが家の防犯対策術!

宜しくお願い致します。
A列にランダムな数字が入力されている。(重複する数字はなく、空セルなし)
B列にランダムな数字が入力されている。(重複する数字があり、空セルあり)

ここで、B列に入力されているA列のセルの数字を全部B列降順に抽出したいのです。(以下のような場合です)

   A   B
1  7  200
2  2  100
3  5 
4  3  100 
5  8   50
これを以下のようにする方法を教えて下さい。
200 7
100 2
100 3
 50 8

A 回答 (6件)

#3の回答にはE列の参照セルに勘違いがありました



エラー処理も入れた関数なら以下のように修正してください。

D列:=IF(COUNT(B:B)>=ROW(A1),LARGE(B:B,ROW(A1)),"")

E列=IF(COUNT(B:B)>=ROW(A1),INDEX(A:B,MATCH(D1,D:D,0)+COUNTIF($D$1:D1,D1)-1,1),"")

ちなみに上記の式はどこの行に貼り付けてもOKです。
    • good
    • 0
この回答へのお礼

御回答ありがとうございます。
E列が循環になったのが残念です。でも御検討下さりまして感謝致します。

お礼日時:2005/04/09 21:18

こんにちは。

maruru01です。

D、E列に抽出するとします。
D1に、

=IF(COUNT($B$1:$B$10)<ROW(A1),"",INT(LARGE(INDEX($B$1:$B$10+1/(ROW($B$1:$B$10)+1),),ROW(A1))))

E1に、

=IF(COUNT($B$1:$B$10)<ROW(A1),"",INDEX(A:A,ROUND(1/MOD(LARGE(INDEX($B$1:$B$10+1/(ROW($B$1:$B$10)+1),),ROW(A1)),1),)-1))

と入力して、D1:E1を下の行へコピーします。

なお、データ範囲は適宜変更して下さい。
    • good
    • 0
この回答へのお礼

素晴らしい。まさに求めていたのはこれです。質問の内容は簡単に説明しましたが、実はとんでもなく複雑であり、ポイントは次々と行が足されるためにその都度ソートをかける手間を省きたかったのです。

お礼日時:2005/04/09 21:17

Bに数値が重複していますから、逆のそれに対応する数値を抽出するには関数では無理になります。



どうしても自動でセルに書き出したいのであればVBA、又は、作業域を作るなら出来ると思います。

例えば、

C列に  =IF(B1="","",B1*10+COUNTIF($B$1:B1,B1))  などのように数値を加工したものをつくり
(整数でなかったら別に考える)

D列には  「D1」 =IF(ISERROR(LARGE(C:C,ROW())),"",LARGE(C:C,ROW()))  で並べ替える。

そしてE列で戻し  =IF(ISERROR(INT(D1)/10),"",INT(D1/10))

F列で対応したAの値を書き出す。  =IF(D1="","",INDEX(A:C,MATCH(D1,C:C,0),1))

100に対応する値がひっくり返ってしまいましたが、あとは良いと思います。
    • good
    • 0
この回答へのお礼

御回答ありがとうございます。
なるほどVBAという方法もありますね。

お礼日時:2005/04/09 20:22

D列とE列に抽出するなら



D列:=LARGE(B:B,ROW(A1))
E列:==INDEX(A:B,MATCH(B1,B:B,0)+COUNTIF($D$1:D1,D1)-1,1)
    • good
    • 0

関数でも何でもないですが…



1.B1からA5を範囲選択(アクティブセルB1)

2.降順で並び替えボタンクリック

求めている事と違っていたらごめんなさい

この回答への補足

その方法は私も知っていますが、関数で実施したいのです。

補足日時:2005/04/08 22:53
    • good
    • 0
この回答へのお礼

御回答ありがとうございます。

お礼日時:2005/04/08 22:53

関数ではなくB列に対してオートフィルタで「空白以外のセル」を選択して。

。。
その後B列を降順で並べ替えるのではダメなんでしょうか??

この回答への補足

関数での方法を教えて下さい。

補足日時:2005/04/08 22:55
    • good
    • 0
この回答へのお礼

御回答ありがとうございます。

お礼日時:2005/04/08 22:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!