エクセルで作成した一覧表をカード形式にしたいのですが
例えばsheet1の
列1のセルA、B、C、D、E、Fに
山田さんの住所、氏名、年齢、職業、電話、備考
列2にセルA、B、C、D、E、Fに
佐藤さんの住所、氏名、年齢、職業、電話、備考、
列3にセルA、B、C、D、E、Fに
大山さんの…
(以降は同様の繰り返し)を入力したとき、
sheet2の
列1のセルA、Bに山田さんの住所、氏名、
列2のセルA、Bに山田さんの年齢、職業、
列3にセルA、Bに山田さんの電話番号、備考、
列4にセルA、Bに佐藤さんの住所、氏名、
列5にセルA、Bに佐藤さんの年齢、職業、
列6にセルA、Bに佐藤さんの電話番号、備考、
列7にセルA、Bに大山さんの住所、氏名、
列8にセルA、Bに大山さんの年齢、職業、
列9にセルA、Bに大山さん電話番号、備考、
列10…
と表示されるようにしたいのですが
sheet2のA1、B1、A2、B2、A3、B3セルに数式を入力し
列4以降にコピーしても飛び飛びになってうまくいきません。
入力規則かと6列目まで増やしてコピーしても
7列目以降に正しくコピーできません。
何か関数が必要なのでしょうか?過去の質問も検索しましたが
よく分かりません。よろしくお願いします。
No.2ベストアンサー
- 回答日時:
Sheet1のA列に1列挿入します。
そのA列の各行に連番を振ってください。オートフィルで。Sheet2に行って、カード内で無いところの、1セル目立たないところに番号として1を振ります。K1セルとします。
Sheet2に行って、氏名を表示するところで
=VLOOKUP(K1,Sheet1!$a$1:$F$500,3,FALSE)と入れます。
山田が出たはずです。
住所セルには =VLOOKUP(K1,Sheet1!$a$1:$F$500,2,FALSE)と入れます。
住所が出ました。
最後の項目まで第3引数を変えてVLOOUUP関数をセットしてください。
そこ印刷してください。
K1を2とします。
佐藤さんの内容に変わるはずです。
ここで印刷します。
印刷操作が面倒なので、となると
VBAの出番です。
sub test01()
For i=1 to 34
range("K1")=i
Range(A1:J30).PrintOut
next i
Sub End
wo
実行すると、Sheet1の第1行から34人部印刷します。
質問の主旨と少し違いますが、内容はSheet1で見れるので、あえてカードイメージは持たない、こういうやり方をシステムでは良くやります。
ーー
質問どおりでもVBAでやるほうが素直に考えてできます。
この回答への補足
ご回答ありがとうございます。Sheet2のカードに別の情報を入力したいのですべてのカードを表示させたいのです。よい方法がございましたらお願いいたします。
補足日時:2007/11/07 21:30今日、試しましたが、「内容はSheet1で見れるので、
あえてカードイメージは持たない、こういうやり方を
システムでは良くやります。」と
おっしゃる意味がよく分かりました。
すべてのカードの表示はできませんが
完成したカードは100%思ったとおりのものが完成しました。
VBAは、まったく分かりませんのでこれから勉強します。
機会がございましたらこれからもよろしくお願いします。
ありがとうございました。
No.6
- 回答日時:
それではご質問の列→行と置き換えて、下記でいかがでしょうか。
A B
1 =INDEX(住所録,INT((ROW()-1)/3)+1,1) =INDEX(住所録,INT((ROW()-1)/3)+1,2)
2 =INDEX(住所録,INT((ROW()-1)/3)+1,3) =INDEX(住所録,INT((ROW()-1)/3)+1,4)
3 =INDEX(住所録,INT((ROW()-1)/3)+1,5) =INDEX(住所録,INT((ROW()-1)/3)+1,6)
4 =INDEX(住所録,INT((ROW()-1)/3)+1,1) =INDEX(住所録,INT((ROW()-1)/3)+1,2)
5 =INDEX(住所録,INT((ROW()-1)/3)+1,3) =INDEX(住所録,INT((ROW()-1)/3)+1,4)
6 =INDEX(住所録,INT((ROW()-1)/3)+1,5) =INDEX(住所録,INT((ROW()-1)/3)+1,6)
7以降繰り返し
頭の体操は以上ですが、実用上はA列にレコード番号(見易い様に全角で入れてありますが、実際には半角を使用)を入れる事にして、
下記の様な式を入れる方が、置き場所の制約も無く、良いと思います。
A B C
1 1 =INDEX(住所録,$A1,1) =INDEX(住所録,$A1,2)
2 =INDEX(住所録,$A1,3) =INDEX(住所録,$A1,4)
3 =INDEX(住所録,$A1,5) =INDEX(住所録,$A1,6)
4 2 =INDEX(住所録,$A4,1) =INDEX(住所録,$A4,2)
5 =INDEX(住所録,$A4,3) =INDEX(住所録,$A4,4)
6 =INDEX(住所録,$A4,5) =INDEX(住所録,$A4,6)
7行目以降繰り返し
お分かりと思いますが、式はB1:C3の6個のセルを単位に複写してください。
ご回答ありがとうございます。試しましたところSheet2に反映されました。私が考えていたイメージにもっとも近いように思います。今回は、No.2 imogasi様の方法で約500枚のカードを完成させましたので、次回は、mitarashi様の方法でやって見たいと思います。また、機会がありましたらよろしくお願いします。
No.5
- 回答日時:
ANo.3のテストデータと実行例です。
改めて質問を読み直すと、ある列のセルA,Bと書かれていて、元のデータ構造が分かりかねます。列と、セル一行目と二行目と短絡的に判断していました。当方の、元のデータ構造の理解が違っているのだと思います。回答では無く、言い訳になってしまいますが。Sheet1
A B C D E F
1 山田住所 佐藤住所 大山住所 高田住所 遠藤住所 犬山住所
2 山田氏名 佐藤氏名 大山氏名 高田氏名 遠藤氏名 犬山氏名
3 山田年齢 佐藤年齢 大山年齢 高田年齢 遠藤年齢 犬山年齢
4 山田職業 佐藤職業 大山職業 高田職業 遠藤職業 犬山職業
5 山田電話 佐藤電話 大山電話 高田電話 遠藤電話 犬山電話
6 山田備考 佐藤備考 大山備考 高田備考 遠藤備考 犬山備考
Sheet2
A B C D E F G H I J K
1 山田住所 山田年齢 山田電話 佐藤住所 佐藤年齢 佐藤電話 大山住所 大山年齢 大山電話 高田住所 高田年齢
2 山田氏名 山田備考 山田備考 佐藤氏名 佐藤備考 佐藤備考 大山氏名 大山備考 大山備考 高田氏名 高田備考
この回答への補足
ご回答ありがとうございます。mitarashi様のご回答を見て私の表現が間違っていたことに気がつきました。列1ではなく行1ですね。
sheet1 A B C D E F
行1住所、氏名、年齢、職業、電話、備考
を
Sheet2 A B
行1住所、氏名
行2年齢、職業
行3電話、備考 です。
しっかり考えて文書を書いたつもりでしたが
申し訳ございません。
No.4
- 回答日時:
確かに+3ずれますね。
妥協してもらえればシンプルな数式(私のレベル)で出来ます。
横に3件分並べて
A1からB3に山田さん D1からE3まで佐藤さん G1からH3まで大山さん
となるよう数式を入力
行4以下にコピーされてはどうでしょう。
この回答への補足
今日、試しましたがデータが多く、ずーっと右まで行ったら、列の最大数を超えてしまうため作成できませんでした。しかし、データ量が少ない場合は十分使えます。ありがとうございました。
補足日時:2007/11/08 22:29ご回答ありがとうございます。実際のデータは6個ではなく使用する列も多いのでずーっと右まで行くことになりますがこの方法だと確かに簡単にできますね。
No.3
- 回答日時:
Sheet1の各人のデータの列番号は、1,2,3,4,5,....
対応するSheet2の各人のデータの先頭列の番号は1,4,7,10,...
この対応の規則性を見いだせば良いのではないでしょうか。
int((Sheet2の列番号 - 1) / 3) + 1 = 対応するSheet1の列番号
でどうでしょうか。列番号はcolumn()で取得できます。
Sheet1のデータ範囲にたとえば住所録という名前をつけたとして、
Sheet2のA1セルに、=INDEX(住所録,1,INT((COLUMN()-1)/3)+1)
Sheet2のA2セルに、=INDEX(住所録,2,INT((COLUMN()-1)/3)+1)
Sheet2のB1セルに、=INDEX(住所録,3,INT((COLUMN()-1)/3)+1)
Sheet2のB2セルに、=INDEX(住所録,4,INT((COLUMN()-1)/3)+1)
Sheet2のC1セルに、=INDEX(住所録,5,INT((COLUMN()-1)/3)+1)
Sheet2のC2セルに、=INDEX(住所録,6,INT((COLUMN()-1)/3)+1)
とすると、山田さんのデータを参照できます。
このA1:C2に入れた式は、D1:F2に複写すれば佐藤さんのデータを参照します。お試し下さい。
ただ、Sheet2のデータの位置を簡単に移す事もできず、汎用性は疑問ですが。
No.1
- 回答日時:
印刷時に 質問のような レイアウトで・・・ 実現させたい。
ということでしょうか?
簡単な方法として
sheet2 の
A1に
=CONCATENATE(Sheet1!A1,CHAR(10),Sheet1!C1,CHAR(10),Sheet1!E1)
B1に
=CONCATENATE(Sheet1!B1,CHAR(10),Sheet1!D1,CHAR(10),Sheet1!F1)
この数式を下セルへドラッグ
A,B列を選択して
セルの書式設定→配置→折り返して全体を表示するにチェック→OK
にすれば、 セル内で改行(2カ所)された状態で表示
この回答への補足
早速のご回答ありがとうございます。
セル内で改行するのではなく
sheet1の1列に6個あるデータを
sheet2で1列に2個づつ3列使用して6個表示したい
ということです。
横長の表を四角の表にするといった感じです。
1つのセルにすべてのデータをまとめるのではなく
セルはあくまでも別々です。
6個のデータに対して6個のセルを使います。
よい方法がございましたらよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Excel(エクセル) Excelの関数 5 2023/07/07 05:26
- Excel(エクセル) 【Excel質問】 「本日の日付」から指定条件を満たす営業日経過後の日数を表示させる関数式 3 2022/06/06 23:28
- Excel(エクセル) エクセルの書式設定の表示形式で設定した文字を文字列としてコピーしたい 1 2022/12/21 10:41
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの表で1年間の曜日を...
-
エクセルでの特別な文字を上に...
-
エクセルでB列でフィルターをか...
-
お世話になります。 Excelを使...
-
エクセルでセルに標準で入力さ...
-
EXCELの質問です 119から足した...
-
UNIQUE関数が使えないバージョ...
-
【マクロ】VLOOKUPにて参照元に...
-
エクセルで会社の従業員のデー...
-
Excel VBについての質問です。
-
【マクロ】アクティブセルにブ...
-
libre 表計算ソフトの計算がう...
-
エクセルの空欄をつめて、次の...
-
エクセルの問題です。絶対値の...
-
Excelで、項目の種類ごとにカウ...
-
【マクロ】アクティブセルの、...
-
exselで最小数で並び替える関数
-
「問題が発生しました」ですと?
-
CELL関数のヘルプ文の意味?
-
エクセルのコメントのデザイン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報