マイクロソフトのエクセルの操作方法について質問します。


複数個存在する数値のうち、それらを重複しないようにひとつづつ選びたいとき、どのような操作(又は関数)をすればよいでしょうか。

具体的に言いますと、


A列に「0001」という数値(コード)を持つ行が3行あるが、次の数値「0002」は6行ある、次の数値「0003」は12個あるのだが、さらにその次の数値「0004」は2個しかない、というケースで、個々の数値はランダムに出現している、という状態です。



わかりにくい場合はさらにご質問に付加して説明をいたしますので、よろしくお願いいたします。






回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2008/01/11 14:28:50
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:garyo No.1

回答回数1782ベストアンサー獲得回数96

意味が良くわからないです。

A列に0001×3、0002×6、0003×12、0004×2のデータがありそれをランダムに並べるという意味でしょうか?

0004

0001

0002

0001

0003

0001

0002

0003

0002

0002

0002

0003

0003

0004

0002

・・・

数学でいう所の重複順列や重複組合せのようなものでしょうか。

1.元になる以下のコードは事前に与えられていて、それをランダムにするわけでしょうか?

そうであれば範囲が判ればスワップ(2つのセルをランダムに選んで交換)を繰り返せばランダムになります。

0001×3、0002×6、0003×12、0004×2

2.それとも以下のコードも自動生成するわけでしょうか。例えばコード1(0001)がn件、コード2(0002)がm件、・・・という情報を元に特定の列にランダムになったものを生成するわけでしょうか

0001×3、0002×6、0003×12、0004×2

http://q.hatena.ne.jp/answer

id:rikuzai No.2

回答回数1366ベストアンサー獲得回数141

ポイント50pt

意外に提示のような処理には色々な方法があります。

いくつか挙げますのでお好きなものを。


説明はA列に該当のデータが入っていると定義しておきます。


  • フィルタを使用する
    • A列のデータが入っている範囲を選択してから「データ」→「フィルタ」→「フィルタオプションの設定」をクリック
    • 選択されている範囲が正しいことを確認してから、「重複するレコードは無視する」にチェックをしてOK
    • 重複行が非表示になるので、別Sheetに値を取り出したい時は、範囲をコピーして別Sheetに値貼り付けをする。

  • フィルタ&関数
    • B1セルに=COUNTIF(A$1:A1,A1)と記入して該当行まで数式をコピー貼り付けする。
    • B列にはA列の値を元に上から最初にでてきた値に1、以降出現順に数字が増えて表示されるので、A:Bをフィルタし、B列を「1」で抽出する。

  • ピボットテーブル
    • データ範囲を選択し、「データ」→「ピボットテーブルとピボットグラフレポート」をクリック。
    • 特に設定など不要なら「次へ」を三回クリックしていくと別にピボットSheetが作成される。
    • ピボットテーブルのフィールドリストから該当のデータを選択して、行範囲に追加する。
    • 重複のないデータが表示される。同じフィールドを値範囲に追加して「データの個数」で集計すると、出現数もカウントできる。

http://www.relief.jp/itnote/


以上ご参考まで。

id:stgwin

拙い質問でしたが趣旨をご理解頂きありがとうございます。とても助かります。早速実行してみます。

2008/01/11 13:53:21
id:Beck65 No.3

回答回数29ベストアンサー獲得回数1

ポイント30pt

ピボットテーブルを使えば簡単に出来ます。

A列のデータの先頭行の上に項目名(例えば、“コード”)を入れ、項目名とデータを「使用するデータの範囲」として指定し、レイアウトで行を“コード”、データを“データの個数/コード”に指定してピボットテーブルを作成すれば、コードを重複しないようにひとつづつ選べます。

後はコードをコピーして他でも使えます。

この方法の利点は、ピボットテーブルでデータの個数をカウントしていますので、元データのデータ数と一致していることを確認することで漏れがないことを確認できます。

http://q.hatena.ne.jp/answer

id:stgwin

ありがとうございます。ピボットテーブルを使って作業することがないものですから全く気がつきませんでした。早速ためしてみます。

2008/01/11 14:05:43
id:edatrash No.4

回答回数25ベストアンサー獲得回数1

ポイント30pt

「ひとつづつ選びたい」とおっしゃる意味が分かりにくいのですが、

1.データ→集計で「グループの基準」でA列を選択すると、A列に存在するデータ毎の集計ができます。

2.データ→フィルタオプションで「重複するレコードは無視」をチェックすれば、A列に存在するデータのリストを抽出できます。

3.http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/d_bas.htm

こちらにあるような各種データベース関数を使って、元のリストをデータベースとしてA列にあるデータ毎にデータの個数やB列にある数値の平均などの列を加えお好みの表を作成できます。

id:stgwin

ありがとうございます。ご教示いただいた内容が質問の回答となります。早速実行してみます。

2008/01/11 14:27:21

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません