• 締切済み
  • すぐに回答を!

エクセル データベース 別シートで一覧表

いつも大変お世話になっております。 現在、エクセル2007を使用して、 名前・住所・電話番号等のデータベースを作成しております。 データベースは完成し、 次に、プリントアウトしたいのですが、 データベースに入れているデータ量が多く、 一覧表として出そうと思うと、数枚に渡るか、切れてしまうか、 字がすっごく小さくなってしまいます。 必要なデータだけ、違うシートもしくはブックで一覧表を作成したいのですが、 その場合、何か良い方法はありますか? エクセルは普通に使えますが、マクロは組めません。 マクロを組む必要があるのでしょうか? ちなみに、個人情報は、●万件と多量な為、 エクセルの形を整えれば?という問題ではありません。。 どうか、お助けください!!

共感・応援の気持ちを伝えよう!

  • 回答数7
  • 閲覧数3552
  • ありがとう数4

みんなの回答

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

>そこで、オートフィルターを使用して、 >A所属先の一覧を選びます。 >そして、そのデータをコピーして、別のシートに貼り付け。 >行や線を綺麗に整えて一覧表としております。 元データがSheet1にあり、所属がB列にある場合、抽出したい所属名をE1セルに入力(入力規則を利用してドロップダウンリストで選択)したら、以下のような数式で該当するA列のデータを抽出することができます。 =IF(COUNTIF(Sheet1!$B$2:$B$10000,$E$1)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(INDEX((Sheet1!$B$2:$B$10000<>$E$1)*10000+ROW($B$2:$B$10000),),ROW(A1)))) 上記の数式を右方向にオートフィルすればB列以降のデータも表示できますが、この数式を多用するとシートが重くなるので、重複のないデータを上記の関数で表示し、VLOOKUP関数などで表からその行のデータを探してくる数式にしたほうが良いと思います。 ちなみに、データ数に応じて罫線を自動表示させるには、以下のような数式を使った条件付き書式を利用します。 A1セル以下を選択し、「数式が」にして「=A1<>""」を設定して「書式」から適当な罫線を選択します。

共感・感謝の気持ちを伝えよう!

  • 回答No.6
  • imogasi
  • ベストアンサー率27% (4640/16610)

フィルタオプションの設定の条件を設定する部分(セル)を、都度適宜変化させてフィルタをやれば良いと思う。やり方によって 他シートに結果を出すことも出来る。 ーー 関数はデータの条件による抜き出しは苦手です。回答が出ているような複雑な式になり、質問者のレベルでは、一読してでは判らないでしょう。 ーー エクセルに表を作ったぐらいで、データベースと言うのは言い過ぎなんです。データをコンピュターに載せただけに近い。 データベースソフトでも使えるようにならないと、操作が面倒だとか言える資格はありません。 ーー 例えば、全員を府県別に分けて印刷したいようなときは、府県でソートして印刷するのがわかりやすく速い。

共感・感謝の気持ちを伝えよう!

  • 回答No.5

こんにちは。 オートフィルタでも不十分なようですが、これは単に印刷ではなく、 抽出したデータだけのシートも作成する手間が発生すると言うことでしょうか? だとすると、一般機能では難しい気もしますが、近いかもと思うのが ピボットテーブルです。 ピボット作成後に元データを修正してピボットを更新すると、修正後の値が入ります。 この方法でも基本的に上記の意味でシートを作成するわけではなく、一枚のピボットシートを 更新して使うので、質問者さんの意図どおりかは分かりませんが、いかがでしょうか?

共感・感謝の気持ちを伝えよう!

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

>必要なデータだけ、違うシートもしくはブックで一覧表を作成したいのですが、その場合、何か良い方法はありますか? 必要なデータとはどのようなデータを言うのでしょうか? オートフィルタで絞り込めるなら、この操作が最も簡便だと思うのですが、具体的にそれをどのように改善したいのか提示してください。 複数の列で、いろいろな検索条件で抽出したいなら、検索条件をセルに入力して、フィルタオプションの設定を利用するのが簡単な場合もあります。 上記のフィルタやフィルタオプションの設定を利用する場合は、マクロの記録を利用して(必要ならコードを一部編集すれば)ボタンをクリックするだけで実行可能です。 また抽出データが少ないなら、抽出条件をセルに入力して関数で表示させることも可能です。 いずれにしろ、皆さんから的確な回答を期待するには、ご希望の抽出操作を具体的に例示された方が(元シートのレイアウトと抽出条件)良いと思います。

共感・感謝の気持ちを伝えよう!

質問者からの補足

お返事が遅くなり申し訳ありませんでした。 説明が下手で本当に申し訳なく思います。 私が作成しているデータベースには、 1行で1名、 A~APまで、氏名・連絡先以外にも、色々なデータが含まれております。 (例えば、個人の所属先) そのデータベースは、ちゃんとした一覧表となっておりません。 (ただのデータベース状態) ですので、所属先ごとに、ちゃんとした一覧表を作成したいと考えております。 そこで、オートフィルターを使用して、 A所属先の一覧を選びます。 そして、そのデータをコピーして、別のシートに貼り付け。 行や線を綺麗に整えて一覧表としております。 ですが、これですと、 データベースを修正しても、その一覧表は変わらないので、 また、オートフィルターで検索→コピー、貼り付け→別シートで行や線を前と同じにして・・・と しなくてはいけない状態です。 データの修正はよくするので、 この作業を毎度毎度となると、とても手間なのです。 そこで、初めは別シートで表を作成しなければいけないとは思いますが、 データベースの住所を変更したら、別シートの一覧表の住所も変更になっている・・ としたいのです。 マクロ以外に良い方法はありませんか? 説明が下手で、長々となってしまい、本当に申し訳ありません。

  • 回答No.3
  • web2525
  • ベストアンサー率42% (1219/2849)

一覧データの形式、抽出条件等により対応は変化するとは思います ・一覧データの修正部が抽出条件で無い場合、抽出シートに修正を反映させるにはコピー時にリンク貼り付けを行えば自動的に修正されます ・修正部が抽出条件であった場合、再度データの抽出/抽出シ-トの体裁修正が必要となりますが 抽出動作、体裁修正のみをマクロの記録でマクロ化することで自動処理(半自動処理)が可能になると思われます マクロがまったく出来ない場合 ・抽出シート上で計算式を用いて一覧データ上から必要データを抽出する事も可能です この場合は一覧データの修正も反映された抽出シートを作成する事が可能です (ただし計算式は配列計算を含む相当複雑な物が必要になると思われます) データ形式、抽出条件、修正作業内容が明確化されていない場合回答が抽象的となり、決定的な回答を得る事は難しいかな?

共感・感謝の気持ちを伝えよう!

  • 回答No.2
  • KURUMITO
  • ベストアンサー率42% (1835/4283)

例えばシート1にデータベースとなる表があるとしてシート2ではお求めの一覧表を作成表示させることにして、シート2のA1セルにはシート2で表示させたいデータを入力するとします。 例えばシート1ではA1セルに氏名、B1セルに住所、C1セルに電話番号の文字列がそれぞれ入力されており各データが2行目以降に入力されているとして、住所のところで東京都の住所を持つ人を抽出しシート2に表示することにする場合にはシート2のA1セルに東京都と入力します。 そこでシート1にはD列に作業列を設け、D2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(ISERROR(FIND(Sheet2!A$1,B2)),"",MAX(D$1:D1)+1) これでシート1のD列には東京都の住所のある行に上から番号が振られます。 そこでシート2では2行目のA2セルからC2セルにはシート1の1行目の文字をコピーして表示させ、A3セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(OR(ROW(A1)>MAX(Sheet1!$D:$D),COLUMN(A1)>3),"",INDEX(Sheet1!$A:$C,MATCH(ROW(A1),Sheet1!$D:$D,0),COLUMN(A1))) このようにすればシート2のA1セルに例えば千葉県と入力すれば千葉の人を瞬時に表示させることができます。 このようなテクニックを利用すれば他のケースでも十分対応が可能でしょう。

共感・感謝の気持ちを伝えよう!

  • 回答No.1
  • aokii
  • ベストアンサー率23% (4654/19686)

必要なデータだけ、違うシートもしくはブックで一覧表を作成するのでしたら、フィルター機能を使って必要な部分のみ抽出してから違うシートもしくはブックに値をコピーしてはいかがでしょう。

共感・感謝の気持ちを伝えよう!

質問者からの補足

早速、お返事ありがとうございます。 オートフィルターで抽出して、別シートに貼る・・という作業は現在もしております。 ですが、修正等がしょっちゅうあり、 修正する旅に、また、コピーして、貼って、表をちゃんとして・・という作業は 大変、手間だと思ってしまいます。 他には、良い方法をご存知ではないでしょうか?

関連するQ&A

  • 別々のエクセルシートから、一覧表を作るには?

    マイクロソフトエクセルで、複数のシートに入力してあるデータ(名前、年齢、職業など)を1つのシートにまとめて、一覧表を作成するには、どのようにすればいいのでしょうか?

  • エクセルで複数のシートから、データを取り出し、一覧表を作成。

    エクセルで複数のシートから、あるデータを取り出し、別のシート(又はブック)に一覧表を作成することはできますか? シート1 東京支店    A   B   C 1東京支店  2 3          50 シート2 大阪支店    A   B   C 1大阪支店  2 3          30 新シート(又は新ブック)    A   B   C 1東京支店 50  2大阪支店 30 3     

  • エクセルの複数ブックで作成した同書式データの一覧表

    エクセルの複数ブックで作成された同書式のデータを一箇所のシートに一覧表にする方法を教えてください。抽出する元データのブックは同フォルダにあります。具体的には各顧客に宛てたエクセル作成の請求書のデータで、注文日、額面、支払日、顧客名などを一覧表に作成したいのです。

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

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

  • Excel シート1の雛型からシート2の一覧表作成へ

     お世話になります。  私は会社でExcelを使い事務をしております。  式を入力して少し事務を簡素化する事は出来ますが、マクロやVBには明るくありません。  シート1の雛型1箇所に入力すると同時に、シート2に一覧表が作成される様には出来ないものでしょうか?  頑張ってマクロを使ってみましたが、シート1のB1を入力するとシート2のB1の数値まで変わってしまいます。(表を参考にしてください)  シート1(雛型)    A       B        C 1 固定数  入力した数字  数式A/B  シート2(一覧表)     A           B         C 1 シート1A1の数字 シート1B1の数字 シート1C1の数字  2 シート1A1の数字 シート1B1の数字 シート1C1の数字 3 シート1A1の数字 シート1B1の数字 シート1C1の数字 4 シート1A1の数字 シート1B1の数字 シート1C1の数字  分かりにくい説明で申し訳ありません。  皆さまのお知恵をお待ちしております。  よろしくお願いします。

  • EXCELで全てのシートを参照した一覧表の作成方法

    色々な情報を入力したSheetが50枚あり、 あまり手間のかからない方法で、 この50枚の中で、ある特定のセルの情報だけを参照させて一覧にした表を作成したいと思っています。 具体的には、Sheet名が”一覧表”というシートを作成し、 この”一覧表”シートの B1 セルには Sheet1 の A1 セルの値を表示させ、 次いで、同”一覧表”シートの B2 セルには Sheet2 の A1 セルの値を、 次いで、同”一覧表”シートの B3 セルには Sheet3 の A1 セルの値を、                       ・                       ・                       ・ 最後に、同”一覧表”シートの B50 セルには Sheet50 の A1 セルの値を、 といった形で、一覧表を作成したいです。 ご教示いただけますでしょうか。 よろしくお願いいたします。

  • エクセルのデータベースで参照・貼り付け

    エクセル2003で、データベースを作成してあります。 別のシートに、コードを入力すると、データベースを参照して関連の項目を貼り付けるという作業したいと思っています。 例 シート2にデータベース住所録を作成。 [コード][氏名][住所][電話]... シート1の[A]列にコードを入力すると、データベースから氏名をコピーし[B]列に貼り付け...[C]列に住所... ※貼り付けたデータを後で編集したいため、貼り付けで行いたいと思います。 ※マクロではなくて、関数で行いたいと思います。 ※実際には住所録ではなくて、在庫管理です。 よろしくお願いいたします。

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

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

  • EXCELファイルの一覧表形式での取込について

    EXCELで以下のような事を実現しようとしています。 まだマクロや関数等の知識が少なく、どう作っていけばいいのかよくわからないため、 教えていただけますでしょうか。 <やりたい事> ・図1の様なEXCELフォーマットに内容を入力し、別ファイルのEXCELシート(図2)に  一覧表の形で取り込む。・・・図2の一覧表で発注状況を管理。 ・新たに発注するような場合は、図1のフォーマット(シート)をコピーし、内容を入力。  →その都度 図2の一覧表に追加(最終行の後に追加)。 ・図1はブック形式で、発注日付毎にシートを分けて保存。図2へは、表示している  シートの内容のみ取り込む。(取り込みボタンを作る等考えています)。 ・空欄の場合は図2の一覧表には取り込まない。 ・図1と図2は別ファイル(リンクしないファイル)として保存。

  • 別ブックのシート名称一覧を作成したい

    excel2016 自ブックの中でシート名一覧作成というマクロはwebにあったのですが、 他ブックのシート名一覧を自ブックへ作成というのを どの様に対応したらよいのかがわかりません。 やりたい内容は、 ①自ブックを開く(シート収集するファイル) ②file_openマクロ実行  c:\workにあるfile.xlsmのブックを開く(file.xlsmが他ブック) ③file.xlsmの全シート名称一覧を  自ブックのsheet1シートのA1セルから下へシート名称記載させる。  file.xlsmに登録されているシート名称は日付と時刻と時刻  202110070830 202110071700  … みたいな12桁のシート名称になっている ③自ブックsheet1のB1からB列最終行(A列にデータがある最終行)  まで必要なセルに1を設定 ④自ブックB列でセルに1があれば、他ブックの対象シートを自ブック  へコピー 以上①~④をマクロで対応したいのですが ③の内容がわからないのでベタでマクロ教えていただきたく、よろしくお願いします。