• 締切済み

エクセルで複数同系データシートから抽出し表に

困ってます! エクセル2003で同列行の見積入力シートが50枚程あります。 その50枚の個々のシート名(取引先)とシートセル内の名前、住所、電話番号、メールアドレス、生年月日、金額などを、 1枚のシートに集計し50行程の表に、半自動でできる方法をどなたか教えいただけると助かります。 利用方法はダイレクトメールや一斉メールなどに活用したいと思っています。 以上よろしくお願いいたします。

みんなの回答

回答No.4

imogasiさんの回答を見て気づきましたが 見積入力シートが住所録のような形式になっている場合は 私の回答は無視してください 当方は1シートで1件(1行)を想定しています

monta08
質問者

補足

ご回答ありがとうございます。 見積入力シート50枚で列A~O・15列、行は48行です。 50シートは同一の項目です。データは違います。 50シートから抽出集約する、集約シートは8列で50行を想定してます。

回答No.3

まず、適当なセルに =indirect( と入力後 [fx]をクリック 数式パレット(関数の引数ダイアログボックス)が出るので この関数のヘルプ(H) をクリックしてヘルプを表示させる わからないなりに読んでください。 特に使用例を読みましょう 先ほどのサンプルでは A列にシートの名前を 1行目にセル番地を入力しました セル番地は直接数式に書いてもよいですし、1行目を非表示にしておくのもよいです 見積もりのどのセルに住所や電話などが書かれているかを指示しているのです ただし、見積入力シートはすべて同じ形になっていることを想定しています

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

>シートが50枚程あります。-- A >1枚のシートに集計し50行程の表に、--B Aのシートは1行ではなかろう。 とすればBのシートの50行にするには、どういう処理をするのか書かないと、質問にならない。 重複を除いて、集約かな? Aのシートの項目・列構成などは? Aのシートの行数はMAXいくらぐらい? 重複を除いて、集約だとすれば、こういうのは関数では難しいと思う。 VBAを使わないと出来ないかもしれない。 >少し解りやすくご回答いただければ助かります といっているレベルでは、VBAの回答も無駄かな。 私だったら、VBA(10数行か)で1シートに集約し、データーフィルターフィルタオプションの設定ー重複するレコードは無視する、で重複を除くことを考えるかな。

回答No.1

集計ではなく集約でしょうね INDIRECT関数を使うのが簡単でしょう A B C 1 シート名 A3 B5 2 見積1 3 見積2 B2セルに =INDIRECT("'"&$A2&"'!"&B$1) 右へ下へオートフィル

monta08
質問者

お礼

早速のご回答ありがとうございます。 誠に申し訳ございません、 当方、ワラをもつかみたいレベルですので、 もう少し解りやすくご回答いただければ助かります。 以上よろしくお願いいたします。 集約シートイメージです。 項目/シート名(お客様)/名前/住所/電話番号/アドレス/・・・・ 1シート/ 2シート/ 3シート/ 4シート/ 5シート/