人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Excelの質問です。各列の値をランダムに組み合わせたいのですが、単純にA列B列C列の値をD1,E1,F1にランダムに表示させることは可能でしょうか。(A列B列C列はそれぞれ20行程です)できれば繰り返して値を更新したいのですがこの場合マクロなど必要でしょうか。可能な限り簡単な方法をご教授願います。

●質問者: nacka
●カテゴリ:コンピュータ 学習・教育
✍キーワード:D1 Excel F1 マクロ ランダム
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● arhbwastrh
●70ポイント ベストアンサー

A,B,Cの各列はそれぞれ20行と仮定して説明します。

1.A21?A40までにAと入力。次に、A41?A60までにBと入力。A61?A80までにCと入力します。

2.B21?B80に=RAND()と入力します。

3.C21?C40にそれぞれ、=$A$1、=$A$2・・・と入れます。C41?C60にそれぞれ=$B$1・・・C61?C80も同様に入力します。

4.D列の1?20にそれぞれ=$C$21、=$C$22・・と入力します

5.E列の1?20にそれぞれ=$C$41・・と上記と同様に入力します。

6.F列の1?20にそれぞれ=$C$61・・・と上記と同様に入力します

※※※

これで準備は完了です。後はA21?C80を選択し、並べ替えで最優先されるキー列A、2番目に優先されるキー列Bとし、並べ替えを実行します。

すると、D,E,Fの各列にランダムで数字が表示されます。

※※※

なお、この並べ替え作業は面倒なので、マクロの記録を使ってショートカットを割り当てると便利です。

やり方→ツール→マクロ→新しいマクロの記録

ここで、Ctrl+□の部分に任意のアルファベットを入力

→※※※の部分を実行→記録終了で完了です。

不明な点があれば補足しますので、その旨コメントに記載してください。

◎質問者からの返答

すみませんちょっと質問の仕方がわるかったようです。

例えばA列には野菜の名前、B列には果物の名前、C列にはお菓子の名前がそれぞれ20種類づつあり、A列、 B列、C列から一つずつランダムに抽出し、組み合わせしたいということです。


2 ● tomot99
●30ポイント

A1?A20の中からランダムに一つのセルの内容をD1に表示する。

B1?B20の中からランダムに一つのセルの内容をE1に表示する。

C1?C20の中からランダムに一つのセルの内容をF1に表示する。

ということでよろしいのでしょうか?

D1

=OFFSET(A1,RANDBETWEEN(0,20),0)

E1

=OFFSET(B1,RANDBETWEEN(0,20),0)

F1

=OFFSET(C1,RANDBETWEEN(0,20),0)

RANDBETWEEN(0,20)の20を行数と一致させてください

「繰り返して」ということですが簡単に繰り返す場合は再計算のF9キーで可能です

◎質問者からの返答

すごくいいです!でも#NAME?と表示されてしまいます。


3 ● arhbwastrh
●0ポイント

それでも使えるような仕組みになっています。


4 ● arhbwastrh
●0ポイント

一応サンプルを作ったのでアップしておきます。

http://sund1.sakura.ne.jp/uploader/upload.html

UP1425.txtをダウンロードしてくださいね。

※拡張子をxlsにしてください。

マクロを有効にしないと使えません。

コントロールキー+Aで実行できるようにしてあります。


5 ● arhbwastrh
●0ポイント

何どもすみません。tomot99氏が補足を書かれていないようなので、参考までに私の方で補足させて頂きます。

まず、このRANDBETWEEN関数はアドオンを追加しなければいけません。

ツール→アドイン→分析ツールにチェック

これでアドオンをインストールします。

この手順を踏むことによって使えるようになります。

それと

=OFFSET(A1,RANDBETWEEN(0,20),0)は絶対参照しないとデータがずれます。また、0でなく1からスタートしないといけないので・・・

=OFFSET($A$1,RANDBETWEEN(1,20),0)

これが正しいものになります。

ただ、この式を使うと、同じものを抽出することがあります。

(A1を2回抽出しちゃったり、A2を一回も抽出しないことがある)


(ちなみに、私が書いた回答ですが、ランダムで抜き出せるようにしてあります。また、同じものを抽出することは無いような仕組みです)

複数回の回答、失礼いたしました。

◎質問者からの返答

UPしていただいたものが実用できそうですので使わせて頂きます。

有難う御座いました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ