• ベストアンサー

男女色分け名前カードを作りたい

男子は青、女子は赤の文字になるような名前カードを作りたいです。 シート1には、データを入力 シート2には、完成した名前カード となるようにしたいです。 シート1は A列に出席番号 B列に名前 C列に数字(男子なら2、女子なら3)を入力します シート2には完成した名前カードを表示させたいです 最終的には、3列×15行の形にまとめたいです 左の列は1番から15番、中央の列は16番から30番、右の列は31番から45番を表示させたいです どのようにすればよいのでしょうか

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 大きく外している可能性がありますけど・・・ ↓の画像のようにSheet1のデータを出席番号順にSheet2に表示し、 なおかつ男女別でフォントの色を変えれば良いという解釈での回答になります。 数式で単純にオートフィルでコピーすればいいかな?と思ったのですが かなりややこしい数式になってしまいますので、 3列毎に数式を入れてみました。 当方使用のExcel2003での場合です。 Sheet1の出席番号の並びがバラバラでも番号順に表示させるようにしています。 Sheet2のA2セルに =IF(ROW(A1)>15,"",INDEX(Sheet1!A$2:A$46,MATCH(ROW(A1),Sheet1!$A$2:$A$46,0))) という数式を入れ、 メニュー → 書式 → 条件付書式 → 「数式が」を選択 数式欄に =$C2=2 とし、フォントの色を「青」 条件2で同様に 数式欄に =$C2=3 として、フォントの色を「赤」に そして、C2セルまでオートフィルでコピーします。 同様に、D2セルに =IF(ROW(A1)>15,"",INDEX(Sheet1!A$2:A$46,MATCH(ROW(A1)+15,Sheet1!$A$2:$A$46,0))) 条件付書式 → 条件1に =$F2=2 → 青  条件2 → =$F2=3 → 赤 とし、F2セルまでコピー G2セルに =IF(ROW(A1)>15,"",INDEX(Sheet1!A$2:A$46,MATCH(ROW(A1)+30,Sheet1!$A$2:$A$46,0))) 条件付書式 → 条件1に =$I2=2 → 青 条件2 → =$I2=3 → 赤 とし、I2セルまでコピー 最後にA2~I2セルを範囲指定し、I2セルのフィルハンドルで下へコピーすると 画像のような感じになります。 尚、生徒数が45名以下の場合は「0」となりますので メニュー → ツール → オプション → 表示タブで「ゼロ値」のチェックを外しておけば空白になると思います。 以上、長々と書きましたが、 参考になれば幸いです。 尚、最初に書いたようにかなり的外れかもしれませんので その場合は読み流してください。 どうも失礼しました。m(__)m

johnyoko09
質問者

お礼

表示に必要ない個所については、非表示で対応しました。 ありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

まずSheet1のB列とC列のデータ範囲を選択し、画面左上の名前ボックス(セル番地が表示されている場所)に、たとえば「リスト」と入力し、Enterして確定し、この範囲に名前をつけておきます。 シート2のA1セルに以下の式を入力し下方向および右方向にオートフィルします。 =OFFSET(Sheet1!$B$1,ROW(A1)+(COLUMN(A1)-1)*15,0) 最後に、シート2のA1:C15セルを選択し、「書式」「条件付書式」で「数式が」にして「=VLOOKUP(A1,リスト,2,0)=2」と入力して「書式」からパターンを青にします。 同様に「追加」から「=VLOOKUP(A1,リスト,2,0)=3」と入力して、赤の書式を設定します。

johnyoko09
質問者

お礼

再度チャレンジしてみます。 ありがとございました!

johnyoko09
質問者

補足

ありがとうございます。 児童42、43、45に条件付き書式が適用されてないように思うのですが。。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 男女別名簿

    関数が複雑すぎて分からなくなりました。教えていただきたいです。 混合名簿から、男女別名簿を自動で作成したいです。クエリではなくできれば数式で… 完成イメージは図の通りです。 <条件> ・混合名簿シートの通番は、1年1組1番なら、1101とするが、いかなる数字でも対応できるようにする(通番は関係ない?)。 ・1年男子、1年女子、2年男子、2年女子、3年男子、3年女子のシートを作り、それぞれに数式を入力する。 ・現状全学年3クラスだが、増えても大丈夫なようにする。1クラスが40人を超えることはない。男女比はだいたい5:5。 ・混合名簿シートを変えたら自動で上の各学年男女別シートも更新される。 ・1クラス(男子または女子)の枠は、25人を最大とする。例えば、図のように、3年1組の男子が22人であれば、A25:A27の列は空白(iferror)で、A28の列のところに3年2組の男子の最初の生徒が来る。 お手数おかけして申し訳ありません。よろしくお願いします。

  • エクセルVBA 全ての組み合わせを作る

    エクセルVBAで、全ての組み合わせを表現する方法を教えてください 既にA列に色、B列に数字、C列にサイズが入力済みだとします   A  B  C 1  色  数字 サイズ ←タイトルの行 2  赤   1  S 3  青   2  M 4  緑   3  L (完成例)   D  E  F 1  色  数字 サイズ ←タイトルの行 2  赤   1  S 3  赤   1  M 4  赤   1  L 5  赤  2  S 6  赤  2  M 7  赤  2  L 8  赤  3  S 9  赤  3  M 10 赤  3  L 11 青   1  S 12 青   1  M 13 青   1  L 14 青  2  S 15 青  2  M 16 青  2  L 17 青  3  S 18 青  3  M 19 青  3  L 20 緑   1  S 21 緑   1  M 22 緑   1  L 23 緑  2  S 24 緑  2  M 25 緑  2  L 26 緑  3  S 27 緑  3  M 28 緑  3  L ・全ての組み合わせが表現できていれば、2~28行目は上の完成例の順番でなくてもいいです ・完成はD~F列の上から(2行目から)結果を反映させ、空白行を作らないようにする ・今回はA~C列の4行まで入力されている例をあげましたが、実際はA~C列の何行まで入力されているか随時変更します ・A~C列のデータ入力は、必ず上から(2行目から)されています ・A~C列のデータ入力は、5行目以降に続くこともあります ・A~C列のデータ入力は、データがない場合もあります (データ入力がない場合)   A  B  C 1  色  数字 サイズ ←タイトルの行 2      1  S 3      2  M 4         L (この場合の完成例)   D  E  F 1  色  数字 サイズ ←タイトルの行 2      1  S 3      1  M 4      1  L 5     2  S 6     2  M 7     2  L 空白行が出来てしまってはいけないので、『まずデータ入力されている列を認識し、認識した列の情報で全ての組み合わせを作成する』という考え方なのかな?と思ったのですが、そのようなことをエクセルVBAでできるのでしょうか もし分かる方がいたら教えてください よろしくお願いします

  • エクセルの関数による条件分岐について

    単刀直入で申し訳ないですが、 Sheet1に下記の表を作成し、 青   100   B 青   300   B3 赤   200   A2 白   400   C5 青  (空セル) D 白   100   AA 白   100   B 青   400   D3 青   200  (空セル) Sheet2ではSheet1の列が『青』の行だけ上詰めで表示するような エクセル表を作成しようとしています。 具体的には、 『もしSheet1が青ならばSheet2で青の行を表示しかつ上に積める、もし青以外であればSheet2ではその行は表示しない、もしセルが空欄であればSheet2では「未記入」と表示させる。』 といった感じの動作をさせたいのです。 Sheet1の表に上記の値を入力すると、Sheet2では関数を用いて結果的に以下のような表が完成するようにしようと思っています。 青   100   B 青   300   B3 青   未記入  D 青   400   D3 青   200  未記入 ------------------------------------------------------------- また、これとは別なのですが、電話表を作成するにあたって、 SheetAに『名前、電話番号』の元データを入力しておき、 SheetBで名前を入力すると自動で電話番号が横のセルに表示され、 かつSheetAの元データにない電話番号が入力されると、「登録者なし」 と表示する。ようにするにはどのような方法があるでしょうか? AND関数で元データの人の名前を全通り入力し、そうでなければ「登録者なし」と表示するといったものを作成したのですが見た目が悪い上に、同じ箇所でAND関数を繰り返し使うには回数限度があるようで、登録者が多いと使えません。 一度にたくさんの質問で申し訳ないのですがもしよろしければご回答宜しくお願い致します。

  • エクセル 関数を使わずにデータを取りたい

    EXCELを使ってデータ入力をしたいです。 下の図のように、シート1のA列にコードを入力すると、シート2のテーブルから値を引っ張ってくるようにしたい。 たとえば、シート1のA1に"C001"を入力したら、B1に"赤"が自動入力されるようにしたい。 シート1 A列 B列 行1 C001 シート2 A列 B列 行1 C001 赤 行2 C002 青 行3 C003 黄色 ただし、シート1のB列の値は、入力後に編集するため、ここには計算式を入れたくないのです。 なので、通常ならばB列にVLOOKUP関数を使えばすむことですが、計算式を入れずに上記を実現する方法を教えてください。

  • エクセル男女で色塗り分け

    マクロとは、名前しか聞いたことなく、全くわかりません。 が、幾つか行いたい作業があり、効率よく、自動的に行いたいので、良い方法があったら教えてください。 ヘルプで見ても、マクロのことがよくわかりません。 マクロの実行とか編集とか?? どうしたら下のことが簡単にできますか? 1.列に男・女とある表で、男の行だけ青で塗りつぶ  したい。 2.ある列に●が入力されている行には別の列に   「スイカ」という言葉を入れる。 3.数字が入力されているある列の数値が160以上  は赤色表示にしたい。  よろしくお願いします。

  • グラフの線を色分けしたい

    win7 office2003にて     A   B 1行  1   7 2行  2   8 3行  5   10 4行  7   7 5行  2   4 6行  4   2 7行  8   4 このようなデータがあり、散布図をかいています。 A列が横方向のデータで、B列が縦方向のデータです。 1行から4行までのデータがひとつのグループで青色にし、 5行から7行までが2つ目のグループで赤色にしたいのですが、どうすれば出来るのでしょうか?

  • エクセル 曜日の色分け

    こんにちは。 エクセル2007を使用しています。 日付(A列)を入力して、ユーザー定義から曜日(B列)は自動で表示されるように出来ました。 さらに、このB列の曜日について、土曜日は青色、日曜日は赤色で自動表示(月~金は黒のまま)させたいのですが、どのように操作したらよいのでしょうか。 教えてください。よろしくお願いします。

  • エクセルで男女別に名前を検索して表示するには?

    エクセルで名簿を作っています。 一つめのシートに男女混合の名簿を貼り付けます。 二つめのシートで,女だったら左の列,男だったら右の列に名前を表示させたいのです。どのような関数を組み合わせればできるでしょうか。 一つめのシートは,一列目に番号,二列目に氏名,三列目に性別が入力されています。

  • エクセル 名前の定義・管理について

    エクセル2007の名前の定義・管理について教えてください。 あるシート(Aシート)のセルの入力規則に他シート(Bシート)の範囲(B2:B4に赤・青・白を入力されている)を定義した名前(名前を色とします)を使用しています。 別途違う目的のためBシートをコピーし、若干修正してCシートを作り、また、その後、Cシートをコピーし、修正してDシートを作りました。ただし、Cシート、Dシートの名前を定義した範囲(赤・青・白)は全く修正していません。この時点で名前の管理から定義された名前を見ると「色」という同じ名前が3つ作成されております。(参照範囲は、それぞれB~Dシートのものと異なっています。) で今回、Dシートが一番最新のもので利用しているので、Dシートの名前を定義した範囲(B2:B4の赤・青・白)を(B2:B5の赤・青・白・緑)と変更したところ、Aシートの入力規則の名前は色ですが、(赤・青・白)しかリストにでてきません。(緑が出てこない)。色という名前が3つあるのがいけないのだと思い、Dシートを参照している以外の「色」の名前を削除したら、Aシートの入力規則は色と入力されているにもかかわらず、全く機能しなくなってしまいました。 いろいろ調べてみたのですが、対処法がわからないので教えてください。なぜ、Dシートを参照している名前の「色」は、入力規則に入力されているにもかかわらず、リンクしてくれないのでしょうか? そもそもシートをコピーしても色という名前が3つできても、最初にリンクしているBシートの名前の「色」しか参照してくれないのでしょうか?なにか方法はありますか? 上手く文章で伝えることができずわかりづらいかとは思いますが、 よろしくお願いします。

  • エクセルで動的に取捨選択させる方法

    エクセルにて以下の事を試したいのですが可能なのでしょうか? (1) まず最初に、Sheet1 と Sheet2 に全く同じ表を用意します。 (2) Sheet1の表には、 赤   100   a 青   300   b1 赤   100   a 赤   100   a 白   500   c 青   310   b2 青   320   b3 赤   100   a と、手入力します。 (3) この時、Sheet1にデータを入力したと同時に、Sheet2の方では自動で、Sheet1の1列目が『青』となっている行だけを拾ってSheet2の表に表示させたいのです。 青   300   b1 青   310   b2 青   320   b3 と、言った具合いです。 私なりに、IF文を使って『セルA1が青であれば表示させ、それ以外であれば表示させない。』という感じで、 ・Sheet2のA1に、 =IF(Sheet1!A1="青",Sheet1!A1,"") ・同様に、Sheet2のB1に、 =IF(Sheet1!A1="青",Sheet1!B1,"") ・同様に、Sheet2のC1に、 =IF(Sheet1!A1="青",Sheet1!C1,"") とし、あとは表の下までオートフィルしてあげたのですが、これだと青以外が入力されていたセルの位置が虫喰い(空白のセル)のようになってしまい見た目がよくありません。 青   300   b1 青   310   b2 青   320   b3 と、なってしまいます。できればキレイに見えるように自動で上詰めにしたいのですが、方法がわからず仕方なく、虫喰いの行を一つずつ手作業で『表示させない』にしてやっています。 (※行を削除すると式がずれてしまいエラーになってしまうため) 何か良い改善方法、お知恵がありましたら、ご助力のほどを是非とも宜しくお願い致します。 それとも、エクセルで根本的にそこまでの機能は有してないのでしょうか?

専門家に質問してみよう