Excelで条件に合うデータを別シートに表示する方法

このQ&Aのポイント
  • Excel初心者の方でもわかりやすく、条件に合うデータを別シートに抽出する方法をご紹介します。
  • 顧客管理において、登録者一覧シートから現在利用中の顧客だけを利用中一覧シートに表示する方法を解説します。
  • 登録者一覧シートの情報が更新されると、利用中一覧シートの情報も同時に更新される設定方法をご紹介します。
回答を見る
  • ベストアンサー

Excelで条件に合うデータを別シートに表示したい

Excel初心者です。 条件を満たすデータを別シートに抽出したく、 色々と調べているのですがよくわからず、困っています。 Excelに詳しい方、ご教示いただけますでしょうか? どうぞ宜しくお願い致します。 今回困っているのは、顧客管理において、 登録者の情報を入力している「登録者一覧」シートから、 現在も解約することなく利用中の顧客だけを、 同じブックの中の「利用中一覧」シートに表示したいと思っています。 また、「登録者一覧」シートは、 顧客が増える毎に情報を更新しますので、 「登録者一覧」シートの情報が更新されると、 「利用中一覧」シートの情報も同時に 更新されるように出来るととても助かります。 なお、各シートの形式は添付画像のような形です。 説明が下手でわかりづらいかもしれず申し訳ありません。 どうぞ宜しくお願い致します。

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

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

以下のように数式を設定するのが簡単かもしれません。 準備として、登録者一覧シートのA列を選択して右クリック「挿入」し、そのA3セルに以下の式を入力し下方向に適当数(データの追加分に対応できるだけ)オートフィルコピーします(最終的にA列を選択して右クリック「非表示」でこの行を非表示にする)。 =IF(AND(K3<>"",L3=""),COUNTBLANK($L$3:L3),"") 次に、「利用中一覧」シートのA3セルに以下の式を入力して下方向に適当数オートフィルコピーします。 =IF(ROW(A1)>MAX(受講者一覧!A:A),"",ROW(A1)) B3セルには以下の式を入力して、右方向(I列まで)及び下方向にオートフィルコピーします。 =IF($A3="","",VLOOKUP($A3,受講者一覧!$A:$J,COLUMN(C2),0)&"")

marunomaru
質問者

お礼

MackyNo1様、早速ご回答をいただきありがとうございます。 教えていただいた数式のおかげで、求めていた形になりました。 初心者向けにわかりやすい内容を教えていただき、勉強になりました。 無知な私にお付き合いいただき、教えていただき、どうもありがとうございました。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

登録者一覧シートのA3セルを =IF(AND(J3<>"",K3=""),MAX($A$2:A2)+1,"") 以下コピー に変更します あなたのエクセルでちゃんと実際に手を動かしてみて、これで「対象者の連番」になることをしっかりと確認してください。状況に応じて、この部分を変更して他の用途にも応用してください。 あとは一覧シートで B3: =IF($A3>MAX(登録者一覧!$A:$A),"",VLOOKUP($A3,登録者一覧!$A:$I,COLUMN(B3))&"") と記入、右に下にコピーします。ただのVLOOKUPだけじゃないので、間違えないようにしてください。 「条件に合致するリスト」を関数で並べたいご相談は、こちらのような質問相談掲示板で毎日必ず寄せられるよくあるご相談です(それだけ、そういう事をエクセルでしたい方が多いって意味です)が、あいにくエクセルにはそういう関数が無いので調べても出てきません。 他の表計算ではそういう関数を持ってるモノもあるので、いつかエクセルにも実装されると皆さんが幸せになれるんですけどね。 回答したのはそういう状況でごく普段使いの関数だけで結果を簡単に出す方法の一つですが、まぁこういうった作業列を用意せずにイミフメイのトンデモ数式を並べてリストを計算する方法も、過去質問を数日分探ってみれば多数みつかります。

marunomaru
質問者

お礼

keithin様、早速ご回答をいただきありがとうございました。 教えていただいた数式を入力し、「対象者の連番」になる事を確認致しました。 今回私が求めていた使用方法とは若干違いましたが、 このような方法がある事を知らなかったため、勉強になりました。 無知な私にお付き合いいただき、教えていただき、どうもありがとうございました。

関連するQ&A

  • Excel 複数シートから複数条件を別シートに

    Excel2007を使っています。 添付画像のように、A社、B社へ送った見積のうち、発注があったものだけを 別シートに月別一覧として表示させたいです。 A社、B社は別々のシートです。 初めのうちはシート毎にフィルタを使って抽出していたのですが、 データが大量にあるため、別シートで分かりやすく見れるようにしたいです。 また、当てはまる行のうち全ての項目を抽出するのではなく、添付画像のように指定した項目のみを表示させたいです。どなたか教えて下さい

  • エクセルで作成した名簿の中から抽出したデータのみ別のブックに一覧作成し

    エクセルで作成した名簿の中から抽出したデータのみ別のブックに一覧作成したいのです。 シート毎に個人情報を入力してますが、同時に別ブックにて氏名、住所、連絡先のみを一覧にしたいです。 個人情報のシートは ブック名「顧客情報詳細」の氏名欄がA6をブック「一覧表」のA1に。 住所はJ6→B1  連絡先J8→C3  といった具合です。 教えていただけないでしょうか?  宜しくお願い致します。

  • Excelのハイパーリンクで

    Excelで顧客管理をしています。Sheet2に顧客一覧表を作成し、顧客名に直接ハイパーリンクを設定してそれぞれの情報シートに飛べるようにしています。最近、顧客数が1000件近くになった為、V lookup関数を使用した抽出シートを同じBOOKのSheet1に作成し、「よみ」で検索させて顧客名や担当者を表示させる試みをしているのですが、Sheet2の顧客名に設定したハイパーリンクをSheet1の抽出結果の顧客名にも反映させることはできないのでしょうか?抽出された顧客名からも直接情報シートに飛べたらとても便利になるのですが…。 宜しくお願い致します。 環境は Excel2002を使用しています。OSはWindowsXPです。

  • エクセルのシート名の表示

    シートが100枚以上あるエクセルのブック「顧客台帳」があります。 他に一覧表というシートがあります。 シート名のタブはせいぜい2~30枚程度しか一度に見られず、見えないものはスクロールするしかないのですが、一覧表のシートのタブだけは常に見えるようにしたいのです。可能でしょうか。

  • Excel VBAを使って、Excelデータを別のExcelファイルに取り込みします

    報告書にexcel VBAを使って、(報告書を開いたまま)報告書のデータを別のexcelファイル(一覧)に取り込みします。 Sub k() Dim ブック As Workbook Set ブック = Workbooks.Open("c:\テスト\" & "一覧.xls") ブック.Worksheets("Sheet1").Cells(3, 2) = Worksheets("企業情報シート").Cells(3, 3) End Sub 報告書の"Worksheets("企業情報シート").Cells(3, 3)"は書き方がおかしいみたいで、正しい書き方を教えてください。

  • Excelシートの自動更新

    Excel2013ブックAでシートの内容変更したのちリンクしている別のExcel2013ブックB~Dを開き更新をするボタンを押し更新して上書き保存しているが更新Excelブックが数部ありいちいちExcelブックを開き更新するのが面倒でなんとかExcel2013ブックA内変更後リンクExcel2013ブックB~Dの更新をボタン一括で自動更新したいのですがボタンにマクロ登録(VBAコード入力)とかでできますか。宜しくお願いします。

  • Excelでオートナンバーとデータ入力

    お世話になります。 Excelで見積のテンプレート作成中です ExcelのBookを開いた時に例えばA1のセルに ある決まった文字を先頭に (人のイニシャルMO00001)のように自動でオートナンバーをつける事はできるのでしょうか? VBA等で・・・ また、そこの見積に入力したデータを 見積フォームは一般の見積もり形式 登録されるデータは一覧形式 他のBook(サーバーの共有Excelシート等) 見積フォームは個々のクライアントPCのExcelシートです・・・ 簡単に何をしたいかと言いますと Excelを使用した見積データを作成したいのです 個人個人が作成した見積もりを マクロ(VBA)等の登録機能を利用して 個々の見積データを一覧にして オートフィル等で検索できるようにしたいのです! 分かりにくかったら申し訳ありません・・・ よろしくお願い致します!

  • Excel2003 重複しないデータを別のシート

    お世話になります。Excel初心者です。皆様のお知恵をお貸しいただければ幸いです。 Excel2003で下記の件で、非常に困っております。 sheet1に重複しないデータがあります。 A B C ←セル横 1 顧客No 商品No パーツNo 2 12345 23-1111 23 3 13456 21-1234 55 4 23456 22-5555 66 sheet2に上記のどの情報を入れても、3つのデータを表示させたいです。 A ←セル横 1 顧客No 2 商品No →ここに入力(21-1234) 3 パーツNo 上記の縦の列は空白です。sheet1の2の商品No21-1234と入力すると sheet1の顧客No13456とパーツNo55が抽出されます。 同様にsheet2のパーツNo空白欄にsheet1のパーツNoの55と入力 すると、sheet2の顧客Noと商品Noが表示されます。 こういう事は、Excel2003で可能なのでしょうか。 お手数お掛けしますが、ご教授よろしくお願いいたします。

  • エクセルVBA 検索データの表示方法

    大変困っているので、どなたか教えてください。顧客管理ツールを作っています。 顧客データを保有するエクセルブックAがあり、1顧客につき51個のデータを持っています。オートフィルタのあいまい検索によりヒットしたデータを別のエクセルブックBの(シート名:HITDATA)へコピーします。 (シート名:HITDATA)に抽出された各顧客データを同じブックBの(シート名:USER)に1顧客ごとの情報がわかるようにデータを表示させます。そして「次へ」「前へ」「最初へ」「最後へ」のコマンドボタンを押すことで、(シート名:HITDATA)に抽出されたそれぞれのデータ参照からの表示をコマンドボタンの意味通りに変更させたいのですが、どうすればいいのでしょうか? 「最初へ」と「最後へ」は、End(elUP)とEnd(elDown)を使って何とかできるのですが、「次へ」と「前へ」が出来ません。どのようなコードを書けばよろしいか、どなたか教えてください。

  • エクセル 更新部分だけを別のシートにコピー

    はじめまして。 マクロ・VBA初心者の為、教えていただけたらと思います。 win7で、エクセル2013の使用をしております。 エクセルの共有がどうしてもうまくいかない部分があり、 Aの共有ブックをサーバーに置き、Bのブックをローカル。 Aの共有ブックから、Bのローカルのブックに全ての内容をコピー。 Bのローカルブックに更新内容を記載し、 Bのローカルブックで更新した部分だけをAの共有ブックに反映させる方法を模索しております。 更新部分だけにしたいのは、Aのブックは幾つかのシートが入っていますが、 複数人数で更新する可能性がある為、かぶる危険性を最小にしたい為、 更新部分のみを抽出⇒コピーをしたいと考えております。 全ての内容をコピーする事までは、 Aのシートの中身は位置等が決まっており、反映部分もBのシートと同じ位置の為、 マクロで作成できましたが、 その後の、AとBのシートの更新情報を取る方法が解らない為、質問させていただきました。 更新部分だけを反映させる組み方を教えていただけないでしょうか? よろしくお願い致します。 ※内容として不足事項もありましたら、ご指摘いただければと思います。

専門家に質問してみよう