御質問文中の説明が今一つ不明瞭ですので、はっきりとは判らない点が幾つかありますが、推測します処、
「Sheet1に1から1900までの連番が入力されている列(何列かは判りませんが)があり、
その連番が振られている列とは別の列に数値のデータが入力されていて、
Sheet1の連番の中で、Sheet2のA2セルに入力した番号と同じ(連番の)番号がある行から、
Sheet1の連番の中で、Sheet2のB2セルに入力した番号と同じ(連番の)番号がある行にかけての、
別の列(連番ではなく、データが入力されている方の列)のデータの中から、
100個のデータをランダムに取り出したい。
但し、データの中には同じ値のものが重複して入力されている場合もあり、取り出した値の中には重複しているものが無い様にしたい。」
と考えれば宜しいのでしょうか?
もしそれで宜しいのでしたら、以下の様にされると宜しいかと思います。
今仮に、Sheet1のA2~A1901のセル範囲に1~1900の連番が入力されていて、Sheet1のB2~B1901のセル範囲に重複した部分もある何らかのデータが入力されているものとします。
又、Sheet3のA列を作業列として使用するものとします。
まず、Sheet3のA2セルに次の数式を入力して下さい。
=IF(OR(INDEX(Sheet1!$B:$B,ROW())="",COUNT(Sheet2!$A$2,Sheet2!$B$2)<2,ISERROR(1/(MATCH(Sheet2!$A$2,Sheet1!$A:$A,0)<=MATCH(Sheet2!$B$2,Sheet1!$A:$A,0)))),"",IF(OR(ROW()<MATCH(Sheet2!$A$2,Sheet1!$A:$A,0),ROW()>MATCH(Sheet2!$B$2,Sheet1!$A:$A,0),COUNTIF(INDEX(Sheet1!$B:$B,MATCH(Sheet2!$A$2,Sheet1!$A:$A,0)):INDEX(Sheet1!$B:$B,ROW()),INDEX(Sheet1!$B:$B,ROW()))>1),"",RAND()))
次に、Sheet3のA2セルをコピーして、Sheet3のA3~A1901の範囲に貼り付けて下さい。
次に、Sheet2のC2セルに次の数式を入力して下さい。
=IF(ROWS($2:2)>COUNT(Sheet3!$A:$A),"",INDEX(Sheet1!$B:$B,MATCH(SMALL(Sheet3!$A:$A,ROWS($2:2)),Sheet3!$A:$A,0)))
次に、Sheet2のC2セルをコピーして、Sheet2のC3~C101の範囲に貼り付けて下さい。
以上です。
尚、この方法では、Excelで何らかの計算が行われる度に、データをSheet1の指定範囲の中のどのセルから取り出して、どの様な順番で並べるのかが、ランダムに変化しますので、もし、取り出したデータを残しておく場合には、Sheet2のC2~C101のセル範囲をコピーして、適当なセル範囲に「値のみを」貼り付けておかれる事を御勧め致します。