• ベストアンサー

エクセルの一覧データを別の書式であらわしたい

こんにちは。 エクセルでのデータ処理の質問です。 例えば、一枚目のシートで横一列に必要なデータを入力して、一覧にし、基礎データを作るとします。 これを2枚目のシートで、横一列のデータを別の書式にして作成したいと思います。 一枚目のシートの基礎データが、増えていくとすると、 増えたデータを、自動的にシート2の書式に作っていく方法はありますか? 今のところ、ワードの差込印刷しか思いつかないんですが、できれば、エクセルで自動に書式2がつくられるようにしたいのでが…。 分かりにくい質問ですみません。 よろしくお願いします。

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

  • ベストアンサー
回答No.4

JANPANAさん、なさりたいことが大体理解できました。 1枚目のシート(以下、データシート)には1行/件のデータ格納用シートで、2枚目のシート(以下、印刷フォーム)は1件ごとの印刷用フォームなんですね。それでしたら、印刷時にデータシートの中から目的のデータを選択して、その内容を印刷フォームに反映させ、プリントアウトするという流れになるかと思います。 さて、前回マクロをお勧めしたのですが、ずっと簡単に実現できる方法を思いつきました。それはワークシート関数の"VLOOKUP"を利用する方法です。 この関数のことはご存知かも知れませんが、一応順を追って説明いたします。 (1)データシートの一番左の列に番号列を設け、この列にデータの先頭行から末行にかけて1から順に番号を振ってください。但し、このような列が既に存在していれば、改めて用意する必要はありません。 (2)データシートの表の上方に1行以上挿入してください。挿入した行のひとつ(以下、関数行)に関数を入力していきます。関数はデータ表の列数分だけ入力します。 尚、ここから先は話を分かりやすくするために、データの格納されている表の範囲を[B4:E10](番号列はB列です)、関数行を2行目として説明いたします。 (3)いよいよ関数の入力です。C2、D2、E2のセルに次の""内を入力します。 C2: "=VLOOKUP($B$2,$B$4:$E$10,2,TRUE)" D2: "=VLOOKUP($B$2,$B$4:$E$10,3,TRUE)" E2: "=VLOOKUP($B$2,$B$4:$E$10,4,TRUE)" "$B$2"は、表からデータを検索するときに用いられるキーワードを入れるセルのアドレスです。 "$B$4:$E$10"は、表全体の領域です。 "2(3、4も同様)"は、表の一番左の列を1列目としたときの列番号です。何列目のデータを表示させたいかにより決定されます。 (4)B2のセルにデータの入っている行の行番号(B列の値)を入力してください。すると、C2からE2のセルにB2のセルに入力した行に対応するデータが表示されます。 これで、関数行に任意に選択した行のデータが表示されるようになりました。 (5)印刷フォームのセルにデータシートの関数行の各セルへのリンクを作成すれば完成です。データシートのB2のセルに行番号を入力すれば、印刷フォームに目的のデータ内容が反映されます。 以上です。 長くなりましたが、よろしければお試しください。

JAMPANA
質問者

お礼

LucyDiamondさん わかりにくい質問にご丁寧に回答いただき、ありがとうございました。教えていただいた方法、是非試してみます。

その他の回答 (5)

回答No.6

関数だけで処理するには次のようにしてみたらいいかと思います。 (1)sheet1が元のデータのある場所で3行目から、No、相談日、活動分野、相談内容とタイトルを入れておきます。データは、4行目からA4にNo、B4に相談日、C4に活動分野、D4に相談内容が入っているとします。5行め以下も同様に入力されているとします。 また、B1のセルにプリントしたいNoを入れておくことにします。 (2)次にsheet2が打ち出し用のシートとします。 B2:相談日 B3:活動分野 B4:相談内容 とタイトルを入れておいて、データはC2からC4に打ち出すとします。 C2に =INDIRECT(ADDRESS(Sheet1!B1+3,2,,,"sheet1") ) C3に =INDIRECT(ADDRESS(Sheet1!B1+3,3,,,"sheet1")) C4に =INDIRECT(ADDRESS(Sheet1!B1+3,4,,,"sheet1")) として、関数を入れておけば、sheet1のB1のNoの数値を変えるだけでsheet2のデータが自動的に変わります。  ちなみに、Sheet1!B1+3はsheet1のB1の値(Noの数字)より3行下を表しています。(No=1なら4行目)次の2,3,4の数字は、元のデータの列番号です。 質問の意図はこんなことだろうと思いますので、試して見てください。ただ、全部自動でしたいのなら、VBAは勉強した方がいいと思います。

JAMPANA
質問者

お礼

pascal3141さん ご丁寧な回答ありがとうございます。 この方法も試してみようと思います。 マクロは、以前から勉強しようと思ってテキストも買ってあるんですけど、なかなか取り組むチャンスがありませんでした。これを機にがんばってみようかなと思ってます。 アドバイスどうもありがとうございました。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

>この説明でわかるでしょうか? おぼろげながら、分かりました。 >これに対して、2枚目(以降)のシートは、一件ごとのデータを相談票という書式におとし、一件一件の相談内容がわかるような書類をつくりたいのです。 >相談票一枚ごとにシートが増えるということでもかまいません。 「書式」という意味が、どうやらExcelの「セルの書式(Format)」という意味ではなさそうだなって思いました。それは、データベースのようですね。たぶん、Excelでは、すこぶる不向きな内容かなって思いました。外部データとリンクさせればよいかもしれませんが、かなり高度な内容になってしまいます。 つまり、雛型に、個々のデータを埋めて、それを1つのデータとするということだと思います。 >これを自動で2行目を打ち込んだら、書式にも入るという設定にしたいのです。このとき、相談票一枚ごとにシートが増えるということでもかまいません。 #2さんが書かれていたものとは違いますが、このようなことは、イベント・ドリブン型というマクロにすれば可能ですが、さて、どうしたものかなって思います。

JAMPANA
質問者

お礼

Wendy02さん 回答ありがとうございました。質問の仕方ってむずかしいですね。これから気をつけますね。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

ご質問には、具体性がないので、私には、お話が良くわかりません。 #1 のsa-ponさんのおっしゃるとおりでよいのでは? つまり、 データが写される側(Sheet2)に、 =Sheet1!A1 =Sheet1!A2 とでもして、書式を、予め設定しておいたら、後は、式のコピーをフィル・コピーでもすれば、いっしょに書式もコピーされるから、書式を気にしなくてもよいと思うのです。 「0」 を出すのが嫌でしたら、「条件付書式」で、「=0」の時は、パターンで白で塗りつぶしとか 、=IF(Sheet1!A1="","",Sheet1!A1) とでもすればよいと思います。 もう少し、詳しくお話していただかないと、適切な回答は出来ないように思います。 Wordライクだと考えれば、たぶん、  例えば、「Sheet1!A1」&"様" などとなるということだと、想像しますが。

JAMPANA
質問者

補足

説明が悪くてもうしわけありません。 具体的に言いますと、私は、あるNPOのスタッフで、他のNPOからのマネジメントなどの相談を受けるという事業を行おうとしています。 一枚目のシートは、一行に相談を受けた日、受けたNPOの活動分野、相談内容など、基礎データを入力して、相談事業一件につき、一行を入力していきます。つまり相談事業をこなすごとにデータは増え、行が増えていきます。このデータは、相談事業が年度で終了したときに、集計用に使います。これに対して、2枚目(以降)のシートは、一件ごとのデータを相談票という書式におとし、一件一件の相談内容がわかるような書類をつくりたいのです。 =Sheet1!A1 =Sheet1!A2 というやり方だと、次の一行のデータを書式に落とすときにもう一度式を設定しなおさないといけないですよね。 これを自動で2行目を打ち込んだら、書式にも入るという設定にしたいのです。このとき、相談票一枚ごとにシートが増えるということでもかまいません。 この説明でわかるでしょうか?

回答No.2

マクロのExcel/VBAを使うことはできますか? 使えるのでしたら、以下のような方法をお勧めいたします。 (1)予め2枚目のシートの書式を整えておきます。 (2)1枚目のシートから2枚目のシートにデータをコピーするマクロを作成します。 (3)1枚目のシート上にボタンを配置し、これに(2)のマクロを登録します。 (4)1枚目のシートにデータを入力した時点で(3)のボタンをクリックすると、そのデータが2枚目のシートに設定した書式に従って入力されます。 もし、マクロを使われたことがなく、上記の方法を採用されるのであれば、より具体的にアドバイスを差し上げられるのですが。

JAMPANA
質問者

補足

こんにちは。 大変参考になるアドバイスありがとうございます。 多分この方法だと思うのですが、私はマクロを使ったことがありません。 恐縮ですが、さらに具体的なアドバイスいただけますか? よろしくお願いいたします。

  • sa-pon
  • ベストアンサー率15% (5/32)
回答No.1

はじめまして。 2枚目のシートに【=(シート1の対象セル)】としておけばいいと思いますが... 最初に設定しておけば、自動的にデータリンクしますよ。 違う話だったらごめんなさいね。

JAMPANA
質問者

お礼

早速のご回答、ありがとうございました。

関連するQ&A

  • エクセルからワードに差し込みするときの書式

    勤務先で、ワード2002文書に、日付、金額が含まれたエクセルデータを、差し込みしようとしています。エクセルでは日付は”5/28”の入力で”平成20年5月28日”と表示、金額は”20891”の入力で”20,891”と表示されるようセルの書式設定していますが、ワードに差し込まれた結果はそれぞれ”5/28/2008””20891”となってしまいます。 うちのワード2007のパソコンで、gooの質問履歴を見て、まずオプションから互換性の項目で2002のレイアウトを選んでから、「オプションから[全般] タブをクリックし、[文書を開くときにファイル形式を確認する] にチェックを入れ、[差し込み印刷ウィザード] でデータ (宛先) を選択するとき[データ ファイル形式の確認] ダイアログ ボックスで[データ ファイル形式] ボックスの一覧から [Microsoft Excel ワークシート DDE (*.xls)] を選択」というやり方をやってみましたが、差し込み文書の挿入のとき、1行目の項目が、タイトルとして反映されておらず、行き詰ってしまいました。何がいけなかったのでしょうか?ジタバタせず、もとのエクセルデータをワードに表示されてほしいままに打ち込めばいいのでしょうか?

  • EXCELで一覧表のデータを個別に印刷したい

    こんにちわ。 質問させて頂きます。 EXCEL(エクセル)で一覧表になっているデータがありまして、それを1件1件『A4用紙1枚づつ』に印刷したい。 という発案で、色々調べたのですが上手くいかず・・・。 WORDからの差込印刷も試してみましたが、レイアウトや罫線などの設定も細かく出来ないので駄目でした。 ちなみに、一覧表のデータというのは顧客データでして、名前や住所・生年月日等が入っています。 一番理想的なのは、『EXCEL一覧表のデータ』を『別のシートに作成したテンプレート』にデータを飛ばし、テンプレートに一覧表のデータが反映される。 顧客データは数十人分のデータがありますので、印刷する際にはどのデータを印刷するかしないかを選択できる。 ・・・以上が出来れば素晴らしいです。 どなたか、その方法・もしくはヒント的な事を知っている方が居ましたら教えていただけると有難いです。 宜しくお願い致します。

  • ワード差込印刷 出てくるエクセルデータは・・・ 

    エクセルのデータをワードに差込印刷しています。  データのセル書式は「標準」になっていて、「3.6」と入力してあります。(名前がわからないのですが)上にあるアドレスバーにみたいな関数式が出るところで見ても、「3.6」です。ところがワードの差込をすると3.6000000っと(いくつ0があったか解らなくなってしまいましたが)0がいっぱいついてしまいます。0を無くする方法を教えてください。  もうひとつ・・・セル書式が「日付」でエクセルのセルには「2005年5月」と表示されていて、バーには「26/05/2005」となっているデータをワードに差し込んだら「26/05/2005」のほうが出たのですが、これを「2005年5月」のほうで表示させる方法を教えてください。

  • エクセル複数シートのデータをワードに差し込み印刷

    データはエクセルの複数シートにあります。 A2列に氏名、D4列に出欠、他の列には日付、課題などが入力されています。 欠席者のみに、氏名入りで、欠席した回の課題をお知せする文書を作りたいです。 シートがひとつなら、ワードの差込印刷を使ったことがあります。でも、複数シートからデータをとりたい時は、ワードの差込印刷はできますか? ワードの差込印刷が無理なら、エクセルの他のシートにお知らせを作って、差込印刷みたいなことができる方法はありますか? エクセルだけでできたら、それはそれで嬉しいのですが。

  • excelからwordの差込印刷をexcelだけで

    excelからwordの差込印刷をexcelだけで いつもありがとうございます。 エクセルとワードの差込印刷について質問します。 通常の差込印刷は何度も使っているのですが、 ワードを開かずに印刷できないかと試行錯誤してます。 基本的にはエクセルに入力したデータを ワードに挿し込んで印刷するのと変わりないのですが、 エクセルに入力するデータが日々増えるため 新たに入力したデータの分だけを印刷したいです。 いちいちワードを開かなくても、新データ (または選択したデータ)だけを印刷する方法は ありますでしょうか。 ご教示のほど、よろしくお願いいたします。

  • エクセルの書式設定を、ワードに反映させたい

    エクセルで、金額に書式設定で桁区切りの コンマをつけたデータがあります。 このデータを、ワードで差し込み印刷すると、 コンマが表示されません。 表示させる方法はあるのでしょうか? よろしくお願いいたします。

  • エクセルのデータをワードの表に貼り付ける

    こんばんわ。エクセルに入力したデータ(1から100など4種類のデータ)をワードの表(表が100個あり、それぞれの表に4種類のデータを貼り付ける)に自動的に貼り付けたいと思います。リンク貼り付け、差込印刷を試してみましたが、作業性が良いとわ思いません。マクロなどでできれば良いと思いますが、私マクロがあまり詳しくないため、わかりません。教えて頂けないでしょうか。宜しくお願いします。

  • 合わせ名人について。エクセルからの差込データーで、0と表示が出てしまう・・

    フリーの合わせ名人を使って、封筒に宛名印刷をしています。 長い住所の場合(マンション名など)、住所1、住所2と2つに分けて、エクセルでデータの一覧表が作ってあります。 短い住所の場合、住所2はありません。 元からあったエクセルデータを元に、差込用のシートを作っているので、差込用のシートは、文字列入力ではなく、式で引っ張って表示されています。 (うまく説明できないのですが、わかっていただけるでしょうか?) このデーターを差込すると、合わせ名人では住所2がない人の場合、封筒に  0  と印刷されてしまうのです。 エクセルの方で、0を非表示にしても、ダメでした。 この 0 を、空白にして差込印刷する方法はないでしょうか? 何千人分というデーター量なので、なんとかできれば・・・と思います。 どうぞよろしくお願いします。

  • WordXPの差し込み印刷で日付の書式を設定したい

    Excel XP で作成したデータを Word XP に差込印刷しようとしています。 日付のデータがあるのですが、 Excel上では2003/1/1となっているものが、 差込印刷をすると1/1/2003になってしまいます。 表示上の書式を設定できるのかいろいろ 探してみたのですが、うまくいきません。 なにかしら方法はあるのでしょうか?

  • エクセルで一件の請求書のシートのデータを、別のシートの一覧表にするには?

    エクセルであるシートのデータ(元データ:順次入力日付ごと、一商店ごと)を別のシートに一行ずつのせて表にするには・・下手な説明ですみません・言い換えれば、一件の業者請求書(元のシート)のデータ〔一軒ごとに入力印刷しています。)を別のワークシートの表の一覧にして、表〔日付ごと)にするには、どうしたらよいでしょうか。宜しくお願い致します。

専門家に質問してみよう