- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで各Sheetへの自動振り分け)
エクセルで各Sheetへの自動振り分け
このQ&Aのポイント
- エクセルで氏名とクラス名が入力されたデータベースを作成し、クラス名に応じて別のシートに自動振り分けする方法を教えてください。
- WindowsXPとMS Office2000を使用している場合、エクセルで氏名とクラス名が入力されたデータベースを作成し、クラス名に応じて別のシートに自動振り分けする方法を教えてください。
- エクセルで氏名とクラス名が入力されたデータベースを作成し、クラス名に応じて別のシートに自動振り分けする方法をご教授いただけませんか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
一行目に「氏名」「クラス名」といったフィールドがあり、個人データベースの範囲がA2:F100とします。Sheet1~Sheet4はすべて同じ書式です。 1)Sheet1のA列に一列挿入したうえで、A2に、 =C2&COUNTIF(C$2:C2,C2) を貼り付け、下方向にコピペ(クラス名を入力してある列がBからCにずれてる点に注意)。 これは、クラスごとの「出席番号」を割り当てる作業です。 2)Sheet2のA2に、 =VLOOKUP("A"&ROW()-1,Sheet1!$A$2:$G$100,COLUMN(),FALSE) を貼り付け、右方向にはG列までコピペ、下方向にはAクラスの人数分コピペ。 ※Sheet2~Sheet4で、「出席番号」の列が不要な場合(A列に「氏名」、B列に「クラス名」、・・・としたい場合)、式中「COLUMN()」を「COLUMN()+1」に変更し、右方向はF列までコピペてください。 3)うえの数式で"A"の部分にはクラス名が入るので、他のクラスについてはその部分に変更をくわえたうえでそれぞれのシートにコピペ。 4)Sheet2~Sheet4で、数式の入った行の数が各クラスの人数をオーバーすると、そのぶんだけエラー表示されることになります。これを回避したい場合、下記のようにネストしてください。 =IF(ISERROR(*),"",*) ※式中「*」には先のVLOOKUP式がはいります。
お礼
回答ありがとうございました。 完璧です。正に求めていた回答です。 また質問する事もあると思いますので 今後も時間がありましたらご指導よろしくお願い致します。