• 締切済み

エクセル データ作成

エクセルの資料に関して A列   B列   C列  D列 Aさん  項目1 項目2 項目3 Bさん   Cさん Dさん Eさん ・・・ 仕事の割り振り表を作りたいです。 A列にはメンバーデータ(100人) A列のメンバーをB列C列D列の項目に ランダムで4人ずつ割り振りたいと思います。 それぞれ重複しないように全員を 割り振れる表を作成するにはどうしたらよいでしょうか? 説明がうまくできてないですがよろしくお願いします。

みんなの回答

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

お示しのデータがシート1に有って、A2セルから下方に100人の名前が入力されているとします。 そこでランダムに並べた名前をB,C,D列に並べるのですがそのためには複雑な操作が必要となりますので作業用のシートとしてシート2を用意します。 シート2では次のようにします。 初めにA1セルには次の式を入力してD1セルまでドラッグコピーしたのちに下方の25行目までドラッグコピーします。 =RAND() 次にE1セルには次の式を入力してH1セルまでドラッグコピーしたのちに下方の25行目までドラッグコピーします。 =RANK(A1,$A$1:$D$25,0) 次にI1セルには次の式を入力してL1セルまでドラッグコピーしたのちに下方の25行目までドラッグコピーします。 =IF(COUNTIF($E:$E,ROW(A1))>0,INDEX($E:$H,MATCH(ROW(A1),$E:$E,0),COLUMN(A1)),IF(COUNTIF($F:$F,ROW(A1))>0,INDEX($E:$H,MATCH(ROW(A1),$F:$F,0),COLUMN(A1)),IF(COUNTIF($G:$G,ROW(A1))>0,INDEX($E:$H,MATCH(ROW(A1),$G:$G,0),COLUMN(A1)),IF(COUNTIF($H:$H,ROW(A1))>0,INDEX($E:$H,MATCH(ROW(A1),$H:$H,0),COLUMN(A1)),"")))) 次にM1セルに次の式を入力してP1セルまでドラッグコピーしたのちに下方の100行目までドラッグコピーします。 =IF(COLUMN(A1)=1,ROW(A1),IF(COUNTIF(L1:$M1,SMALL($I1:$L1,COLUMN(A1)))=0,SMALL($I1:$L1,COLUMN(A1)),IF(AND(COLUMN(A1)=4,COUNTIF(L1:$M1,SMALL($I1:$L1,COLUMN(A1)-3))=0),SMALL($I1:$L1,COLUMN(A1)-3),IF(AND(COLUMN(A1)=3,COUNTIF(L1:$M1,SMALL($I1:$L1,COLUMN(A1)-2))=0),SMALL($I1:$L1,COLUMN(A1)-2),IF(AND(COLUMN(A1)=2,COUNTIF(L1:$M1,SMALL($I1:$L1,COLUMN(A1)-1))=0),SMALL($I1:$L1,COLUMN(A1)-1),IF(AND(COLUMN(A1)=2,COUNTIF(L1:$M1,SMALL($I1:$L1,COLUMN(A1)+1))=0),SMALL($I1:$L1,COLUMN(A1)+1),IF(AND(COLUMN(A1)=3,COUNTIF(L1:$M1,SMALL($I1:$L1,COLUMN(A1)+1))=0),SMALL($I1:$L1,COLUMN(A1)+1),""))))))) これでシート2での作業は終わります。 シート1に戻ってB2セルには次の式を入力してD2セルまでドラッグコピーしたのちに下方に101行目までドラッグコピーします。 =IF($A2="","",INDEX($A$2:$A$101,INDEX(Sheet2!$M:$P,MATCH(ROW(A1),Sheet2!$M:$M,0),COLUMN(B1))-1)) これでお望みの表が出来上がります。この表はシートにデータが入力されたりしますと瞬時に組み合わせが変わってしまいます。それを避けるためにはシート1のA列からD列までを範囲として選択したのちに「コピー」し、その後に例えばF1セルを選択してから「形式を選択して貼り付け」で「値」にチェックをして貼り付けをします。これによって組み合わせが変わることのない表が完成します。

関連するQ&A

  • Excel でのデータ集計

    下記問題ですが、どうもいい解決方法が見つからず、ご教授いただきたいと思います。 Excel の関数か、VBA で処理したいと思います。 Book1 A B C D E 1 a 2 b 3 c 4 d 5 e Book2 A B C D E 1 a ● 2 c ● 3 e 4 g ● 5 i Book1 の A 列に a,b,c,d,e があります。Book2 の A 列 のアルファベットが Book1 の A 列と重複しており、且つ B 列に ● がついている場合に、● の数をカウントしたいと思います。この場合の回答は 2 となれば解決です。ちなみに Book1、2 ともに、A 列内に重複はありません。 Excel での作業を考えており、関数か VBA かどちらかで問題ありません。 ご教授いただけますでしょうか。 よろしくお願いいたします。

  • エクセル2000での表の作成について

    仕事で困っています。よろしくお願いいたします。  あいう A123 B321 C 67 A45 D 59 E1 8 F123 ・ ・ ・ この列が1000行近くあり、いくつか重複がある。(上記の表でいえば Aのように) 上記のような表から  あいう 合計 A573 15 B321 6 C 67 13 D 59 14 E1 8 9 F123 6 こういう表をつくりたいと思っています。pibotをつかって  合計 A15 あ5     い7     う3 B6  あ3     い2     う1      こういう表はできたのですがレイアウトが気に入りません。 どなたかご教授ください。

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

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

  • 重複するデータの抽出について(エクセル)

    エクセル2003にて重複するデータの取り出しをしたいのですが、 わからないので教えてください。 例えば   A列   B列   C列    D列    E列・・・ 1  色  1回目  2回目  3回目   4回目 2  赤   あ    a      A       0 3  白   い    b      B       1 4  黄   う    c      C       2 5  黄   え    d      D       3 6  黒   お    e      E       4 7  赤   か    f      F       5 : このデータの中から、別のシートのA1に 赤と入力したら、B1にD列のA・Fを抽出 黄と入力したら、B1にD列のC・Dを抽出をしたいです。 VLOOKUP関数を使用してみたのですが、 赤と入力すると、D列のA(1番上のデータ)のみしか抽出出来ず、Fが抽出されません。 重複するデータがあるのはA列のみで、D列には重複するデータはありません。 わかりにくい文章ですみませんが、よろしくお願いします。

  • 【エクセル】重複データ抽出時にうまくいかない

    エクセル2003で、[データ]→[フィルタ]→[フィルタオプションの設定]で下記のように 設定して重複データを省きました、 ・「指定した範囲」にチェック ・「リスト範囲」に$A$1:$A$13を入力。 ・「抽出範囲」に$B$1を入力 ・「重複するレコードは無視する」にチェック の条件で実行すると。 [元データ]  A列 1 a 2 a 3 b 4 b 5 c 6 c 7 c 8 d 9 d 10 d 11 e 12 e 13 e が [フィルタ実行後]  A列  B列 1 a  a 2 a  a 3 b  b 4 b  c 5 c  d 6 c  e 7 c 8 d 9 d 10 d 11 e 12 e 13 e の様にB列でaが2つ出てしまいます。 なにが原因でしょうか?

  • エクセルのデータ結合について

    エクセルのB列に1~1000までの数字がランダムに500個入っています。 エクセルのC列にも1~1000までの数字がランダムに500個入っています。 同様の列が10行あります。 (B列以降には入っている数字と入っていない数字があります) A列には、1~1000までの数字が順番どおりに全て並んでいます。 次のような感じです。 (並べ替え前の文字列) A  B  C  D・・・  1  3   2  6 2  1   4  5 3  5   5  1 4  6   3 5        6       これを、下の列のように、B列以降の列の数字を並べ変えたいのですが、エクセルはこのような各行の並べ替えはできますでしょうか? 方法がありましたらご教示頂ければ幸いです。 よろしくお願いいたします。 (並べ替え後の文字列) A  B  C  D・・・  1  1     1 2     2 3  3   3 4     4 5  5   5  5 6  6     6

  • エクセル関数について教えてください!!

    エクセル関数について教えてください!! エクセルファイルに以下のようなデータがあります。 A列 B列 C列 あ  A10 100  あ  A10 110 あ  B10 120 い  C10 100 い  D10 100 う  E10 100 あ  B10 120 い  C10 100 A列:販売店 B列:コード C列:売り上げ金額 (合計8000件程度) 販売店毎での売り上げ金額を求めたいのですが、B列のコードが重複しています。 販売店+重複コードは1つに纏めての金額を求める関数を教えていただけますでしょうか。 イメージ あ  A10 210 あ  B10 240 い  C10 200 い  D10 100 う  E10 100 よろしくお願いしますm(_ _)m

  • excelのデータの移動?集約?をしたいです

    よろしくお願いします EXCEL2000を使用しています。OSはXPです。 データがランダムにA~O列 1~200行まであります この量は、その時その時変わるのですが だいだい、その範囲にあります そのランダムに入っているデータを空白のセルを除いて A列に並べたいのです 順番は1行目から横にあるデータを順番に下に並べ 次は2行目のデータで、その次は3行目。。。としたいです 例 A1 B1 C1 D1 E1 A2 C2 E2 A3 B3 D3 というデータを A1 B1 C1 D1 E1 A2 C2 E2 A3 B3 D3 というようにしたいのですが よろしくお願いします

  • エクセルのマクロでデータを左につめていく

    お世話になります。エクセル2002でマクロを作成しようと思っています。 毎回同じ処理をしているので、良いサンプルがあったら教えてください。 やりたいこと  A列からF列にランダムにデータが入力されています。  このデータをA列、B列、C列と、左に詰め表示させたいです。  ※G列以降にもデータが入力されていますが、処理したい列範囲はA列~F列です。  ※行数は、都度変わります。(UsedRange.Rows.Countで値を取得) イメージ(処理前)  -  : 空白セル  *** : データが入力されているセル     A列   B列  C列  D列  E列   F列 1行目 項目1 項目2 項目3 項目4 項目5 項目6 2行目 ***  ***  -   ***  *** - 3行目 - -   -  *** *** *** 4行目 ***  -   -   -   -   -  5行目 *** *** -   *** -   -  イメージ(処理後)     A列  B列  C列   D列  E列  F列 1行目 項目1 項目2 項目3 項目4 項目5 項目6 2行目 ***  ***  -   ***  *** - 3行目 *** *** *** - -   - 4行目 ***  -   -   -   -   -  5行目 *** *** *** -   -  -

  • エクセルでのデータの表示

    エクセルでのデータの表示 次のような表が在ります。 A列   B列   100    2   100    2      101    6   101    2   101    6   102    6   102    6   103    2   103    2   103    2    104    6   104    2  ・     ・  ・     ・  ・     ・   これを、次のように、C列に「◎」と「×」を表示させるようにするには、どのようにすれば可いですか? つまり、「A列のナンバーが重複していて、且つ、B列の数字が異なる二種類の場合は、C列に◎」、「A列のナンバーが重複していて、B列の数字は一種類の場合は、Cれつに×」と表示させたいのです。 A列  B列  C列 100    2  × 100    2  ×   101    6  ◎ 101    2  ◎ 101     6  ◎ 102    6  × 102    6  × 103    2  × 103    2  × 103    2  × 104    6  ◎ 104    2  ◎ ・      ・  ・ ・       ・  ・ 宜しくお願い致します。

専門家に質問してみよう