• 締切済み

エクセルについて

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

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答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% (1038/2068)
回答No.1

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

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

関連するQ&A

  • エクセルの関数?

    自分の力では解決できませんでしたのでお力添えください シート1にはお客様への送付状 シート2には郵便番号・住所・お客様名 のエクセルがあります。 シート1のあるセルにお客様の登録ナンバーを入力するとシート2から自動的に「郵便番号・住所・お客様名」がシート1に反映するような関数を知りたいのです 宜しくお願い致します

  • エクセルで2つの表を見比べる

    上手く表現出来ずに変なタイトルになってしまいました… sheet1に顧客全員の名簿があるとします B列には顧客の氏名、C列には会員のランク(3種類のランク分けがしてあります) という名簿です。 sheet2にはある商品を購入した購入者名簿があります。 D列に顧客の氏名、その他の列には住所などが入力してあります。 (順番は購入日順なので、バラバラです。) sheet2の購入者名簿に名前のある顧客の氏名を sheet1の顧客全員の名簿から探し、C列の会員ランクを 『上得意』と変えたいのですが関数などを使って 簡単に出来る方法ってありますか? 会員数が6000名、商品購入者が200名くらいと 数が多いので1件1件検索すると時間がかかります… VLOOKUP関数なんかで出来たかなと思ったんですけど 勉強したのがだいぶ前なのですっかり忘れてしまいました。 詳しい方、ぜひいい方法を教えてください。

  • EXCELで表を別のフォーマットに移したいのです

    うまく説明できるか自信がないのですが教えてください。 【Sheet1】 No. 住所 氏名 電話 fax 1  A   D   G   J 2  B   E   H   K 3  C   F   I   L と項目があり、既に入力されているA~Lまでのデータを、【Sheet2】の No.1 住所 A     電話 G 氏名 D     fax J というフォーマットのシートに連動させたいのです。Sheet1で呼び出したいNo.をSheet2のNo.の欄に入力すると、全部の項目が埋まっていくような感じで。(こんな説明でわかりますか?) これは例なのですが、No.の数も項目数もかなりあります。 何かいい方法はないでしょうか?  宜しくお願いします。

  • ExcelのVBAについて

    すみません、ご教授下さい。 エクセルVBAで簡単な住所録のようなものを作りたいのですがご教授頂けますでしょうか? 内容としては、シート1に入力フォームがあり、登録ボタンを押すと シート2へ一覧していく形です。 また、シート2に一覧していく際は新しいものが上に挿入され、 入力フォームはクリアされるという形になります。 シート1   A    B 1 顧客ID AAA 2 姓    サンプル 3 名    太郎 4 TEL   080-0000-****  →これ以降も項目を増やします。 シート2     A    B      C     D 1 顧客ID   姓     名    TEL 2  AAA   サンプル 太郎 080-0000-**** ご教授頂けますでしょうか? 何卒宜しくお願い致します。

  • エクセルで複数のシートからのデータ抽出

    いつも大変お世話になっております。 Sheet1、Sheet2に名簿1、名簿2が作成してあり、同一表中に同じ氏名や姓が同じで名前違いがあり、それぞれに同じまたは別のTELや住所等の付帯情報が入っています。 この2つのっシートから、検索シートのB2セルに姓(例えば山本)だけを入れた場合に、山本を含む氏名の人の情報をリストにしたいのです。 複数シートのCOUNTIFとVLOOKUPで出来そうな気がしたのですが思うようにいかず。 どなたかHELPお願いします。 実際には製品名(シリーズの場合枝番が付いたりつかなかったり)で保管場所、容器サイズ、その他の情報をリストにするのが目的です。 つまり同じ製品名「A123」でもサイズ違いがあったり、保管場所が違ったり・・・をリストにしたいのです。

  • エクセルVBAのChangeイベントで質問です。

    会社名をプルダウンより選択すると、その下の複数の行に 関数が設定してあり、〒番号、住所等が表示されるように しています。しかし、そのデータ情報に手直しが必要な 場合もあるため、これをChangeイベントというので、でき ないかと思い質問に参りました。 会社名、住所等の情報は「データ」シートにまとめてあります。 A1 No. B1 会社名 C1 郵便番号 D1 住所1 E1 住所2 F1 住所3 G1 住所4 H1 電話番号 I1 FAX番号 と書いて、その下の行に各社のデータを入力してあります。 「入力」シートの J24セル(結合セルで実際にはJ24:T25です)にプルダウンを設定して 会社名が選択できるようにしています。 ここで会社名を選択すると、下の行にズラッと〒、住所、電話番号、 FAX番号を入力できるようにしたいのですが、教えていただけない でしょうか。 入力したいセルも結合セルです。 郵便番号=J26:T26 住所1=J27:T27 住所2=J28:T28 住所3=J29:T29 住所4=J30:T30 電話番号=J31:T31 FAX番号=J32:T32 宜しくお願いします。

  • エクセルVBAでテキストボックスに入力があった場合のみ、ワークシートに転記したい

    現在顧客名簿シートがあり、修正フォームから顧客情報を修正できるようにマクロを組んでいる最中です。  例えば、textbox1→氏名、textbox2→生年月日、textbox3→住所、としていて、住所のみ変更情報を入力し修正ボタンをクリックすると氏名、生年月日が未入力のため顧客名簿の氏名、生年月日が消えてしまいます。  このような場合、入力がないtextboxのシート転記プログラムを飛ばす、若しくは入力があるtextboxのみシート転記を実施する方法を教えてください。

  • エクセル2003 特定のセルがブランクの場合

    会社でエクセル2003を使っています。 縦にデータを入力する表を作りました。 (1)氏名 (2)〒 (3)住所 (4)電話番号 (5)生年月日 (6)性別・・・など20項目を入力します。 入力完了後、別シートにデータを転記してそちらの別シートを印刷するというマクロを作りました。 例えば、その中で入力を絶対してほしい項目がありまして、それを忘れていたらメッセージボックスで「○○が未入力です」とお知らせしたいと思ってます。 いろんなサイトで調べてみたのですが…うまくいかなくて… 例文に従って作ってみたのが Sub 円楕円4_Click() Dim Lesson16 As Range Dim 会員名簿 As Worksheet If 会員名簿.Range("A8") = "" Then MsgBox "氏名が記入されていません。" 会員名簿.Range("A8").Select Exit Sub ElseIf 会員名簿.Range("A9") = "" Then MsgBox "住所が記入されていません。" 会員名簿.Range("A9").Select Exit Sub ElseIf 会員名簿.Range("A10") = "" Then MsgBox "年齢が記入されていません。 " 会員名簿.Range("A10").Select Exit Sub ElseIf 会員名簿.Range("A15") = "" Then MsgBox "生年月日が記入されていません。" 会員名簿.Range("A15").Select Exit Sub ThisWorkbook.SaveAs Lesson16 End Sub     です。 家で作ったサンプルなので、セル番号もちょっと???なのですがお許しください。 入力するデータの全てが必須入力項目ではなくて、20項目のうち7項目が必須項目と考えています。 この項目が未入力であれば「未入力ですよ」とお知らせしたいのです。 また、上の例文のセル番号は単独ですが、会社のファイルのセルは結合しています。 (たとえばA8:C8、A15:G15)と行によって結合範囲も違います。 ど素人の質問で、わかりにくいとは思いますが なにとぞ、アドバイスいただきますようよろしくお願いします。

  • Excelの住所録を一まとめにするには?マクロ?

    Excel2007で住所録が2つあるのですが、これを一まとめにするにはどうすればいいのでしょうか? 同じ人の住所録は一つにしたいのです。 別々のエクセルファイルに住所録1と住所録2があり、それぞれのデータ形式は標準で、同じ構成になっています。 住所録は家族ごとにソートされており、1行につき1家族分の住所、氏名、他家族の名前が入っています。 1と2は同じ住所の同じ家族が複数あります。1と2はSheet1という名前のシートに住所録が有り、他にシートはありません。 A列:代表者カタカナで読み仮名(半角カタカナで姓と名の間に半角スペース有) B列:代表者姓半角カタカナ C列:代表者名半角カタカナ D列:代表者漢字氏名(姓と名の間に半角スペース有) E列:代表者漢字苗字 F列:代表者漢字名前 G・H・I・J列:連名(漢字名前) K列:郵便番号(半角数字、真ん中ハイフン有) L列:住所(数字はすべて半角) これを単純に重複の行を削除で削除できないのは連名があるからです。 (例えば、1住所録には1行に加藤家の父・母・息子があり、2住所録には1行に父・娘がある、など、連名のあるなし、被っている人、1と2の代表者も違う、などバラバラ) ・1を2にコピーして家族単位に住所でソート(1のデータを2のシートにコピペして家族単位でソートでも可) ・同じ行の中でFGHIJ列で同一名は削除 ・筆頭者が誰になるかは不定(オリジナルデータの名前の順による。) ・1に無い連名は2の連名欄G~Jに転記 ・1に全くない住所氏名は2に新しく行を追加してコピペ ・同一住所の筆頭者以外の行は削除 ということをしたいのですが、マクロを書いていただくか、数式を教えていただくか、やり方を教えていただけないでしょうか?(因みに、マクロはコピペで使うことはできても、自分では全く書けません) 因みに、住所録2と同じデータ(構成違い)の住所録3が別のエクセルファイルで有り、違いは3は連名無しで家族ごとにソートされておらず、1人1行で作られていて A列:カタカナで読み仮名(半角カタカナで姓と名の間に半角スペース有) B列:姓半角カタカナ C列:名半角カタカナ D列:漢字氏名(姓と名の間に半角スペース有) E列:漢字苗字 F列:漢字名前 G列:郵便番号(半角数字、真ん中ハイフン有) H列:住所(数字はすべて半角) となっています。 同じ結果(同じく1にひとまとめで一家族ごとに名簿をつくる)にできるのであれば、1に3を住所でソートでも構いません。 データは1と2と合わせると10000件近くある為、地道なやり方では間に合いません。 どうかご指導宜しくお願いします。

  • エクセルを開くときに、常に指定のシートを開くようにしたい。

    会員向けの利用券を印刷するため、簡単な操作で印刷をしようとしています。 質問は、複数シートがあるブックで、シート2を開いている状態で上書き保存してエクセルを終了します。次にこのブックを立ち上げた時に、規定のシート1が開くようにしたいのです。 現在のエクセルの状況は以下のとおりです。 エクセルのシートを5つ用意し、 Sheet1 は 会員名簿 Sheet2 は 利用施設 Sheet3 は 利用券 Sheet4 は 申請書 Sheet5 は 発行台帳 となっています。 VBAを教わり(ちょっと我流で解説書のコードを貼り付け)、シート「会員名簿」のカナ氏名が入力されているセルを右クリックすると、利用券に会員の住所・氏名・年齢・性別が入り、自動的にシート「利用施設」にシートが切り替わり、 シート「利用施設」のカナ利用施設名が入力されているセルを右クリックすると、利用券に利用施設名が入り、自動的にシート「利用券」が印刷されるようになりました。 このブックは、複数の人間が操作するので、極力簡単な操作で、クリック数も減らしたいのです。(現在は、最短は2クリックで利用券が印刷できます。画面をスクロールしたり、検索したりすると操作は多くなりますが、必要なことと割り切ります。) ただし、これは、シート「会員名簿」が最初の画面であった場合なので、別のシートから立ち上がった場合は、一番最初にシート「会員名簿」に手動で切り替えなければなりません。この手間を省きたいのです。 VBAでなく、エクセルの基本仕様で設定するものでしょうか? それともVBAが必要でしょうか? 恐れ入りますが、VBAだとしましたら、 『どこ』 に 『どのように』 書き込むものなのかも教えていただけるでしょうか? よろしくお願いいたします。

このQ&Aのポイント
  • PCがRESULT_CODE_HUNGエラーで固まる原因について解説します。
  • ネットで調べてもわからない原因について、解決方法も紹介します。
  • 富士通FMVのPCで楽天などを開くとRESULT_CODE_HUNGエラーが発生する場合の対処法について解説します。
回答を見る

専門家に質問してみよう