• 締切済み

エクセルで 任意の単語を重複なしで抽出したい

エクセルに入力した単語の行 ※(例えば G行2列から G行101列までの100個) の中から 5つの単語をランダムに出力したい  ※(例えば A2 B2 C2 D2 E2 へ) ・ここで おなじ列の中では 単語の重複を避けたい ・出力は A2 B2 C2 D2 E2  、 A3 B3 C3 D3 E3、、、、、、、、、、  と、任意の量にふやしたい エクセルにまだ詳しくないので、少し優しめに解答もらえると嬉しいです よろしくお願いします    

みんなの回答

  • yosifuji20
  • ベストアンサー率43% (2675/6115)
回答No.2

N1の式を訂正します N1には次の式を入れます N1=COUNTA(N2:N101)-COUNTIF(N2:N101,0)  これはN2:N101のゼロでないデータの件数を表します。 P2:P101の式がなかったので下記に書きます P2=INT(RAND()*N$1)+2 P3以下のセルはドラッグで下にコピーします これはデータ件数以内でランダムな整数を発生する式です。 さらにQ2:Q101に下記の式を追加します。 Q2=INDEX(N$2:N$101,P2,1,1) Q3以下のセルはドラッグで下にコピーします なお今回は「セルP1の抽出したい件数を入力すれば」は省略します。不要です。 以上でマクロ実行後にQ2:Q101に重複のないランダムなデータが出てきます。 式の意味はヘルプでご自分でお調べください。

  • yosifuji20
  • ベストアンサー率43% (2675/6115)
回答No.1

考え方だけ説明します。 元のデータがG2:G101にあるとして J2:J101に下記の式をドラッグしながら貼り付けます。 =IF(I2=I1,0,I2) 当然J101は =IF(I101=I100,0,I101)という式になります。 N1には次の式を入れます N1=COUNTA(N2:N101)-COUNTIF(N2:L101,0)  これはN2:N101のゼロでないデータの件数を表します。 次に下記の手順をマクロで記録します。 G2:G101を選択 これをコピーしてから編集→形式を選択して貼り付け→値 でI2:I101に貼り付け J2:J101を選択 これをコピーしてから編集→形式を選択して貼り付け→値 L2:L101に貼り付け L2:L101を選択 データ→並べ替え→降順 L2:L101を選択 コピー→N2:N101に貼り付け マクロ終了 以上で、N2:N101に重複のないデータが上から並びます。 セルP1の抽出したい件数を入力すれば、P2:P101にランダムにその件数以内の番号が出てきます。 その番号のデータを選べば答えになります。 これをどう選ぶかはあなたが考えてください。 ご質問の処理は式だけではかなり困難です。 マクロを使えば決まった処理は自動的に実行しますから、式さえ上記のように設定すれば答えはいつでも出ます。 マクロの作り方は ツール→マクロ→あたしいマクロの記録 でできます。

関連するQ&A