この人頭いいなと思ったエピソード

これから何度かExcelの表のデータを元に、Wordで差し込み印刷をしようとしています。
元にする表は下図のように分かれてしまっており、
データA、データB、データCでそれぞれ1列になっていないと使えません。
つまり合計3列だけにまとめたいです。
毎回楽にそれぞれ1列に並べ替えられるような方法はありますか?

・シートの保護がされており、単純に手動で並び替えができません(コピーペーストも不可)
・Excelのデータ(下図で言う数字の部分)は毎回変わります
・行数と列数は毎回同じです(80行20列ほどです)
・今後もデータA、データB、データC、データA、データB、…という順番は変わりません。新たにデータDが増えたりもしません。

A列 B列 C列 D列 E列 F列 G列 …
データA|データB|データC|データA|データB|データC|データA|………
111111|222222|333333|444444|555555|666666|131313|………
777777|888888|999999|100000|111111|121212|151515|………
…………|…………|………|…………|…………|…………|………|………

Office2013です。

A 回答 (2件)

データの位置が固定されているのであれば、


別のファイルに参照させる。というのはどうでしょうか?

元ファイルをコピーして名前を変更させれば、コピーして別ファイルに貼り付けたのと同じになります。
仮にそのファイルを「コピーデータ」と呼びます。
仮にコピーデータを参照して3列にまとめるファイルを「表示用」と呼びます。

元データ①をコピーデータとして、
コピーデータを参照して並び替える表示用を作ります。
元データ②を参照する場合は、元データ②をコピーデータとして上書き(もしくはコピーデータを削除して、新たにコピーデータを作成)します。
表示用の参照先は変わってないので、新しいコピーデータを参照して3列に並べたものが表示されているはずです。

毎回上書きをするのが面倒であれば、ファイルの保存箇所をどこかに入力し、
その入力されたファイルを参照するように、INDIRECTを使って参照ファイルの指定をするという方法もあります。
ただし、INDIRECTによってファイルの保存場所を参照する場合、そのファイルも同時に開く必要があるようです。

「毎回」というのが、色んなファイルがあると言う意味なのか、特定のファイルの中にあるデータだけが変わるのか、分からなかったので、ファイル自体がたくさんある場合を想定しました。
中のデータが変わるだけであれば、何もしなくとも表示用に参照されたデータが変化します。

どちらにしろ表示用は一度作ってしまえばいいだけなので、
80行20列をそのままそれぞれリンク(=ファイル・シート・セルの指定)させて、表示させたい位置に移動させるか、
ROWやCOLUMNを利用して、参照するセルを数式により表し、ADDRESSによりそのセル番地を取得、INDIRECTにより該当セルのデータを取得。とするか、
といった方法で作ればよいかと。
    • good
    • 0
この回答へのお礼

ありがとうございました。解決できました。

お礼日時:2017/03/31 13:05

手順を整えて回答を書こうと思いましたが、



>・行数と列数は毎回同じです(80行20列ほどです)
>・今後もデータA、データB、データC、データA、データB、…という順番は変わりません。新たにデータDが増えたりもしません。

この意味はどういうことなのでしょうか。

細かいことを言って恐縮ですが、「80行20列ほど」のほどという意味も、コンピュータにとって不明なのです。

データA、データB、データC|データA、データB、データC|データA、データB、データC

データDが増えたりしないと言われても、実際には、2番めのデータAをDと読み替えれば、データDが存在することになります。

80行20列を、3列ごとに、
A列   B列   C列
  ・
  ・
  ・
  80行
としていくなら、全部で534行になるはずですし、また、おそらくはフィールド行が加わるはずですし、最後は半端がでます。

3の倍数なら、21列になるはずです。

データA|データB|データC 
111111|222222|333333|
777777|888888|999999|
|データA|データB|データC| ←不要フィールド
|444444|555555|666666
|100000|111111|121212

のようなスタイルになるのですか?

もう少し、具体的に示してください。
    • good
    • 0
この回答へのお礼

ありがとうございました。解決できました。

お礼日時:2017/03/31 13:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報