- ベストアンサー
1行名簿の複数行化について悩んでます
- 顧客リストをエクセルで作成している際に1顧客の情報を1行にまとめて記載しています。しかし、リスト出力する場合に横に長すぎるため、1顧客の情報を複数行にして出力したいと考えています。
- 現在のデータ構成はNo./名刺有無/名前/フリガナ/会社名/会社名フリガナ/部署名/役職/〒/住所1/住所2/備考が1行に収まっています。これを別シート(出力用)に4行に分けて参照表示したいのですが、コピーで増やすと4行とばされた番号でコピーされます。手作業で訂正するのは困難です。
- 質問者は検索に疲れてしまい、ここに質問を投稿しました。逆の場合なら簡単だと思いましたが、この場合は困難です。質問者は助けを求めています。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
セルのアドレスをaddress関数で作ります。 A2セルに =ADDRESS((INT(ROW()+2)/4),COLUMN(),4) と入力すると、A2にA1という文字列が入ります。 これを下にコピペすると A1 A1 A1 A1 A2 A2 A2 A2 A3 A3 ・・・ となります。なので、 これを=INDIRECT(ADDRESS((INT(ROW()+2)/4),COLUMN(),4)) とすると、実際にA1セルを参照できるようになりますので、この式を下にコピペすればお望みのものが出来ると思います。原本シートから参照するのなら、 =INDIRECT("原本!"&ADDRESS((INT(ROW()+2)/4),COLUMN(),4)) とすればいいでしょう。 /4の数字を変えると何行にでも変更できると思います。
その他の回答 (3)
脇から口をはさむことをお許しください。 質問者のデータの場合、アクセスと使うと楽にできると思います。アクセスをお勧めします。
お礼
ええ、その通りです(汗 ただ、頼まれ物でして、 今後データの引継ぎなどでアクセスだといろいろ不都合が・・・ あと、本人が使えないクセにエクセル信者だったりします(笑
- popesyu
- ベストアンサー率36% (1782/4883)
元データは1行1レコードで作成した方が何かと便利です。 仰る通り他ツールとの連携のことを想定したり、あるいはそこから集計するにしろ。 でそれをある程度列を減らして丸ごと印刷するだけなら わざわざ計算式を使って転写しなくても、例えば列を非表示にするだけとかが簡単ですし、データ>グループ化から非表示候補の列をグループ化しておけばワンクリックで非表示にできます(非表示状態なら印刷はされません。ただし非表示になるだけなのでデータが消える訳ではありません)。 他には出力用のシートを作成するなら、ピポットテーブルで表示用のテーブルを再構築するのも簡単でしょう。ピポットなら一旦設定してしまえば更新もワンクリックで可能ですし。 まぁエクセルにはその辺の機能が豊富についていますのでエクセルの教則本でも買って色々と試されてください。
お礼
非表示は考えたんですが、やっぱり全て表示させたいので断念しました。 ピボットかぁ・・・ そろそろ本気で勉強しないと教えて君から脱却できませんね(泣 日頃、業務で活用したりしない限りなかなか覚えるの難しいですね(・・;) ご教授ありがとうございます。
- tgn1013
- ベストアンサー率33% (386/1137)
以前このサイトで、類似の問い合わせ(2行だったと思う)に、少々面倒ですが、目から鱗の回答があったと思うのですが・・・ 検索できませんでした。 私の方法 左端1列に行表示用の列を作ります。(最初をA2として1を入れます) 最初に4行作るときに、行き先の行番号はA2のセルを見に行かせます。 4行作ったら、コピーします。 A6のセルに1が入っているので、+A+1とします。 あとは、コピー貼り付けしていけば・・・・
お礼
むむ、よくわかってないんでやってみましたが、 おっしゃってる意味はわかるのですがなんとも・・・ いろいろ試してみます(^^;)
お礼
関数の理解が先ですね(泣 ちょっとがんばって解析してみます。 みなさんのおかげでできそうなことに確信はもてたんですが、 あとは本人のがんばり次第って感じです。 関数の勉強する暇が欲しい(T。T) 詳しい解説ありがとうございます。 やっぱり質問するならここですね。感謝です。