• ベストアンサー

エクセルの一行1レコードのDBから、1レコード1葉にレイアウトするには

一行に1レコードのデータが入った100行くらいのエクセルの表があります。(これはアンケート結果の表です。)1レコードには数10個のフィールド(アンケートの質問番号Q1~Q.XXに対する回答)があり、右に送っていかなければ、最後まで見えません。またフィールドによっては比較的長い文章もあります。 そこで、カード型データベースのように、1レコードを例えば1画面に収まるように(または例えばA4サイズに印刷できるように)、レイアウトしたいのですが、どのようにすればよいでしょうか。(1画面やA4サイズは例であって、長文がある場合には、縦に長くなったり、A4が複数枚になったりするのはかまいません) ワードの差し込み印刷でできるのかなぁと想像していますが、やったことがないので、もっといい方法があれば、または差し込み印刷でできるよ、といったアドバイスでもいいのでお願いします。

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

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

補足を見ると判るが、シート上の表示だけか、印刷をしたいのかはっきりしない。前半は表示、後半は印刷とテーマがわかり難い。 かく言うのも、表示だけならVBAを使わなくても関数で(下記のように)何とかできるから。 しかし全般的にはVBAが必要で、その技術が伴ってない、課題ではないかな。 >DBから エクセルではDBは大げさです。エクセルの「表」や「リスト」と表現します。レコードも「行」です。 --- データベースのあるシート  Sheet1 1葉といっているシート   Sheet2 とする。 ー Sheet1の空きセルに 1セル使い、そこにデータの行番号を入れます。 そしてSheet2でシート上の配置は自由なセルに Sheet1での列名と 内容を =INDIRECT("Sheet1!B"&(Sheet1!G1+1)) のように関数式を出したい項目数だけ入れていく。 すると Sheet1 のデータ例が 連番 氏名 問1 問2 自動車保有 1 山田 はい いいえ 3 2 鈴木 いいえ いいえ 1 とすると Sheet2 (Sheet1のG1に連番1を入れると) 結果見た目(レイアウトは例示)      B列       d列 B3とD3 氏名 山田 B5とD5 問1 はい B7とD7 問2 いいえ B9とD9 自動車保有台数 3 ーー B列は値が固定なので手入力する D3の式は =INDIRECT("Sheet1!B"&(Sheet1!G1+1)) D5の式は ==INDIRECT("Sheet1!C"&(Sheet1!G1+1)) 以下同様。 ーー G1を2に変えると 氏名 鈴木 問1 いいえ 問2 いいえ 自動車保有台数 1 に変わる。 ーー 印刷は 手作業か VBAで無いと出来ない。関数では出来ない。 ボタンでも作ってクリックすると Range("A1:F20".PrintOut を実行するようにする。 == VBAを本格的に使えば、クリックした行の明細を上記のように出したりできる。

radiojack
質問者

お礼

回答ありがとうございます。 ご指摘の通り、画面に見えたら、印刷できるだろうくらいに考えておりましたので、曖昧だったと反省します。 表示はご教示いただいた方法でできそうです。ありがとうございました。

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

その他の回答 (2)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

B2に  =INDEX(Sheet1!$1:$65536,A$1,ROW(A1)) の式を利用してみてください 3行目の 1列を表示したいセルには =INDEX(Sheet1!$1:$65536,A$1,1) 2列目を表示したいセルに =INDEX(Sheet1!$1:$65536,A$1,2) 3列目を評したいセルに =INDEX(Sheet1!$1:$65536,A$1,3) ・・・・ と入れていきます。 INDEX関数のHELPを参考にしてみてください。 もしA列に管理番号などありましたら、 入力規則のリストとVLOOKUP関数も応用できます。

radiojack
質問者

お礼

改めてありがとうございます。 ご教示の方法でできそうですね。理解できました。

全文を見る
すると、全ての回答が全文表示されます。
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

たとえば Sheet1にデータがあって 別シートのA1に表示したい行番号(例えば3)を入れたとして B2に  =INDEX(Sheet1!$1:$65536,A$1,ROW(A1)) 下フィルしておくと 3行目のデータが縦に表示されますが、この様なことでしょうか?

radiojack
質問者

お礼

ありがとうございます。 縦にならべるのでなく、できるだけ自由なレイアウトで構成したいのです。 実例はアンケート結果なのですが、3行目のデータ一覧 ------------------ | (Q1) (Q2) (Q3) | (Q4) | (Q5) (Q6) | | | (Q7) のようなかんじで、4行目、5行目・・・100枚目を 紙をめくるように画面で見えるか、印刷をしたいのです。

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

関連するQ&A

  • ACCESS2002のタブオーダーで、次のレコードに飛びたいのですが・・・

    成績処理のデータベースを作りたいのです。 たとえば、テーブルのフィールドに「国、数、理、社、英」、 レコードとして300人の生徒がいたとします。 フォームは「表形式」にして、各教科毎に(縦に)打ち込んでいきたいのですが、タブは1つのレコード内を動いていく(タブオーダーの機能も一つのレコード内)ことしかできないようなので、入力が不便になります。 タブオーダーを「1つのレコードでフィールドをまたがる」のではなくて「1つのフィールドでレコードをまたがる」ように設定したいのですが、良い方法は無いでしょうか?

  • 印刷レイアウトについて

    A4の縦(横書き文字)、横(横書きの表)が混ざった文章を修正したいのですが、印刷レイアウトでは全ページがA4縦に表示されています。(印刷して綴じた状態と思ってください) 表の修正の為、A4横で表示させる方法がしりたいのですが。。

  • ファイルメーカーでのレイアウト切替と検索

    FM Pro10(mac)にてデータベースを作成しています。 まず、WEBでいうところのindexにあたる画面(レイアウトA)を 作成しました。 次に実際のデータの入力画面にあたるレイアウトBを作成しました。 このレイアウトBのレコードは年毎に分けてあります。 (ex.) 2010年用、2011年用、2012年用… フィールドは共通したもの) そこで質問です。 このレイアウトAにドロップダウンで年度を選択(条件1)させた上で ボタン1つにて「レイアウトBに切替させる」というのと 「条件1にてレコードのソートをさせる」というのを 同時にさせたいのですが、可能でしょうか? もし可能であるなら、その方法を教えてください。 不可能であるなら、代替方法を教えてください。 よろしくお願いします。

  • 差込印刷ヘルパーの設定方法

    差込印刷ヘルパーを使って、A4縦の用紙1枚につき 3段(3レコード)ずつ、差込していきたいのですが、 どうしても1枚に1段(1レコード)しか印刷できません。 設定方法等、どうすれば出来るのが教えてください。 宜しくお願い致します。 差し込むフィールドは名前です。またリストはExcelで作成しています。

  • ファイルメーカー6で複数のレコードを1レコードにするには

    MacOS9.2 ファイルメーカー6を使ってます。 全くの初心者です。よろしくお願いします。 今、簡単な納品書をFMで作ってます。 1行で品名と単価と個数と合計を表し 5行分あります。それに総合計が1つあります。 フィールドは1行目を品名1・単価1・個数1・合計1とし 2行目以降もそれぞれ2として、全部で5行分×4フィールドの 20フィールドと総合計フィールドを定義してます。 この納品書自体は問題ないのですが、 この内容を1枚にまとめ請求書として利用したいんです。 ただ、請求書は決まりがあり、行数が30行の表にして、 1行で品名1と総合計を表し、納品が有っただけの行数で表示したいんです。 例えば、10回(10日)納品が有った場合、1行目に納品書の1レコードの 品名1と総合計、2行目以降も同じ2レコード、3レコード・・・と表し、 11行目以降は表の罫線だけとしたいんです。 表自体は線で作れば出来るんですが、納品書から取り込む方法が分かりません。 もちろん、一つのファイルで納品書用レイアウトと請求書用レイアウトを作る方法でもいいですが、その場合だと請求書も納品書と同じ数のレコード数になりますよね。請求書用のレコードを小さくして、表として表示したら、1枚で印刷出来そうなんですが、その場合は30行に出来なさそうで困ってます。 質問が分かりづらくすみませんがよろしくお願いします。 何かいい方法を教えてください。

  • エクセルのフリーソフト

    エクセル(オフィス2003)で作成した表を4in1印刷したいのですが、以下のような状態になってしまいます シート1がA4縦レイアウトの表(2ページ) シート2がA4横レイアウトの表(1ページ) シート3がA4横レイアウトの表(1ページ) を、A3縦の用紙に4in1印刷すると、 シート1は綺麗にA3縦の4分割の1つ目と2つ目に 1ページ目と2ページ目が印刷されますが、 シート2とシート3は3分割目と4分割目に 縦に縮小した形で印刷されてしまいます。 縦横混在した表を上手く縦横を維持したままA3縦4in1印刷は出来ないのでしょうか? 何か、良い方法か、ソフト(出来ればフリーがいいですが有料ソフトでも構いません)が あれば教えていただけませんか?

  • 同じファイルの印刷レイアウトが違う

    Excel2000です。 あるパソコンで縦横ぴったりA3に収まるように表を作ったのですが、別のパソコンでそれを開くと、縦にはみ出てしまいます。 ページ設定の「拡大縮小印刷」で横1×縦1ページに印刷にすると 1ページには収まるのですが、文字が小さくなって右横に空白ができてしまいます。 同じレイアウトで印刷できないとマズイのですが、どうすればいいのでしょうか?

  • ACCESS 以下のようなレコードを抽出するSQL

    ACCESSのデータベースで あるフィールド(フィールドAとします)の値に対して、 別のフィールド(フィールドBとします)の値が1つに決まる データベースがあるとします。 例えば、フィールドAの値が1のレコードは、 どのレコードもフィールドBの値はaである。など このようなデータベースでこのような関係になっていないレコード 例えば、フィールドAの値が1のレコードの中に フィールドBの値がaであるレコードと フィールドBの値がbであるレコードがある。など を抽出するSQLはどのように記述すればよいでしょうか。 テーブル名はTABEL1とします。 次の2つのケースでお願いします。 (1)フィールドAの値が異なればフィールドBの値が異なる場合 例えば、フィールドAの値が1で、フィールドBの値がaであるレコードが ある時、フィールドAの値が1でないレコードの中には、   フィールドBの値がaであるレコードが存在しない場合   (2)フィールドAの値が異なるがフィールドBの値が同じこともある場合 例えば、フィールドAの値が1で、フィールドBの値がaであるレコードが あっても、フィールドAの値が1でないレコードの中にも、   フィールドBの値がaであるレコードが存在する場合 【回答例】(ただし、1,a,bなどの具体的な値は使わないこと) ・フィールドAの値が1のレコードを表示する例 SELECT * FROM TABLE1 WHERE フィールドA=1; ・フィールドAの値が1でフィールドBの値がaのレコードを表示する例 SELECT * FROM TABLE1 WHERE フィールドA=1 AND フィールドB='a'; ・フィールドAの値が1でフィールドBの値がaのレコードと  フィールドAの値が1でフィールドBの値がbのレコードを表示する例 SELECT * FROM TABLE1 WHERE (フィールドA=1 AND フィールドB='a') OR (フィールドA=1 AND フィールドB='b'); この目的は、データベースに問題があり、 問題となっているレコードを見つけて直したいのです。 よろしくお願いします。

  • エクセルで差込印刷

    エクセルで差込印刷をしたいので教えて下さい。 エクセル シート1に商品見積書(単票レイアウト) シート2に商品データベースが100程度入っています。(商品一覧表) シート2のデータをシート1の単票レイアウトで全て印刷するには どうしたらいいのでしょうか? よろしくお願い致します。

  • 差し込み印刷について(1行目からでない)

    WORD 2007でEXCEL 2007の表を使って差し込み印刷をしようと思っているのですが、EXCELの表が1行目から始まっていなくても出来るのでしょうか? 実際のところ1~4行目まではタイトルなどが入っていて5行目から表を作っています。(5行目にフィールド名を入れています。) 差し込み印刷ウィザードから作っていますと、<差込印刷の宛先>のところで<データソース>、<チェック>の横に1行目のセルの内容が入ってしまうんです。 *5行目のフィールド名を表示させたい! ご存知の方いらっしゃいましたら教えていただけませんでしょうか?

専門家に質問してみよう