• 締切済み

エクセルについて

クラス名簿を作りたいのですが、今手元にあるエクセルはA(No.)B(会員ID)C(姓)D(名)E(姓(カナ))F(名(カナ))G(郵便番号)H(住所1)I(住所2)J(卒業時姓)K(生年月日)L(クラス)M(入金済)になっています。 これを次のシートに高校のクラス別で入金済に〇が記載されている人のみの名前を記入したいです。その場合、どうすれば良いのか教えてください。お願いします。 ⚠︎関係ないかもしれませんが、クラスは10クラスあります。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

質問者にはお呼びでないかもしれないが、VBAでやるとすれば、この程度の長さになります。 下記行末のコメント文章を読めば、手操作の際にも参考になるだろう。 ub test01() For Each wks In Worksheets If wks.Name = "Sheet4" Then GoTo p1 '集約シートはフィルタ対象外 wks.Range("A1").AutoFilter '過去のフィルタ状態を一旦除く wks.Range("a2").CurrentRegion.AutoFilter 5, "〇" '5はE冽の内容でフィルタ r1 = wks.Range("E10000").End(xlUp).Row 'フィルタ後の最下行 r2 = Worksheets("Sheet4").Range("E10000").End(xlUp).Row + 1 '集約シートでの現在瞬間の最終行 wks.Range(wks.Range("A2"), wks.Range("E" & r1)).Copy Worksheets("Sheet4").Range("A" & r2) 'copy貼り付け p1: Next Worksheets("Sheet1").Range("a1:E1").Copy Worksheets("Sheet4").Range("A1") '集約シートの見出し行作成 End Sub ===== 例データ 質問を簡略化してある。量ーー>行と、項目列ーー>列に置いて。 質問するなら、これぐらいでよいのだ。一般にデータ例も挙げて質問すべきだ。 Sheet1,Sheet2,Shee3が原データ Sheet4がフィルタ後の集約データ。 Sheet1 会員番号 姓 名 クラス 入金済み 1 山田 重雄 1 〇 2 木村 一郎 1 〇 3 佐藤 公男 1 Sheet2 会員番号 姓 名 クラス 入金済み 11 水田 昭夫 2 〇 12 北田 幸助 2 13 北村 研 2 〇 14 木島 太郎 2 〇 Sheet3 会員番号 姓 名 クラス 入金済み 21 山口 幸助 3 〇 22 田村 譲 3 〇 23 近藤 修 3 24 島野 詢 3 〇 ーー 結果 Sheet4 会員番号 姓 名 クラス 入金済み 1 山田 重雄 1 〇 2 木村 一郎 1 〇 11 水田 昭夫 2 〇 13 北村 研 2 〇 14 木島 太郎 2 〇 21 山口 幸助 3 〇 22 田村 譲 3 〇 24 島野 詢 3 〇 ーーー この質問のタイプはFAQ(再々ある質問)です。

  • emsuja
  • ベストアンサー率50% (1065/2116)
回答No.1

各クラス別のシートにオートフィルターをかけて、入金済に〇が記載されているデータだけを表示させた状態でそれらの行(もしくは名前) をコピーして次のシートに貼り付けすればいいと思います。

関連するQ&A