• ベストアンサー

Excelで一つのシートに複数のリストを作成し、別のところにその集計表

Excelで一つのシートに複数のリストを作成し、別のところにその集計表を作成したいです。リスト(1)はA列に文字列(例えば社名とか)B列に数字、リスト(2)はD列に文字列E列に数字です。集計表は、G列に各リストの文字列を重複分を除いて抽出して表示させ、H列には数字(重複文字列の数字は合計します)が表示されるようにしたいです。どのようにしたらいいでしょうか?参考URLでもいいのでお願いします。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

そもそも、2つに分かれたリストのデータを集計するというのは効率的な運用でありません。 このような場合は、基本的に1つのリストにすることをお勧めします。 現在のリストで簡便に対応するなら、一方のリストの下にもう一方のリストをデータ追加に対応できるように空白列を設けてリンク貼り付けして(必要に応じてこの数式行を非表示にしておく)このリストで集計します。 この場合でも、重複のない文字列を関数で求める場合はかなり複雑な数式でタイプする必要があります。 たとえばA列にC列の文字列を追加した場合はH1セルに以下の式を入力して下方向にオートフィルすれば重複のないリストを作成することができます(2つのリストの境界に1行空白行が入る)。 =INDEX(A:A,SMALL(INDEX((MATCH(A$1:A$1000&"",A$1:A$1000&"",)<>ROW(A$1:A$1000))*1000+ROW(A$1:A$1000),),ROW(A1)))&"" I列の集計セルには以下のようなSUMIF関数を使ってください。 =IF(H2="","",SUMIF(A:A,H2,B:B))

take-r2d2
質問者

お礼

ご回答ありがとうございます。 リストの基本は一つですね。逆にリストは一つにして全集計表や単月集計を抽出するようにやりたいと思います。ありがとうございました。

その他の回答 (1)

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

これも下記のようなデータ例を作って質問すること A列  B列 氏名 計数 a 1 a 2 b 3 c 4 a 1 c 2 A列   B列  C列   D列  E列 -は空白を示す - - - 氏名 計数 - - - a 2 - - - a 1 - - - b 1 - - - c 3 - - - a 1 - - - c 2 ーーー 関数でやる方法だと >リストの文字列を重複分を除いて抽出して表示させ 同じ列なら、データーフィルターフィルタオプションの設定ー重複するレコードを無視する で出せるが この質問ではどうするのか。人間が目視で作成するか、氏名一覧が別途あるのか。 ーー これを表の行・列の形を変えないで集計するのは難しいと思う。 SUMIFの式を2つ足すのは想定外なのだろうな。 こんな質問はエクセルでは無理だと思う。 2つの例ならまだしも3個所、4箇所・・になるとこのままでは無理。 氏名と計数それぞれで、2箇所のセル範囲に名前を定義してみたが=SUMIF(範囲1,"a",計数1)はエラーだった。 SUMIFを連ねるのと同じだが =SUMPRODUCT((A3:A8="a")*(B3:B8)+(D11:D16="a")*(E11:E16)) ===== データー統合を使う方法 G2:H10を範囲指定 データー統合 集計の方法  合計 統合元範囲 $A$2:$A$8 追加 $D10:$E$16 OK 統合の基準 左端列 OK 結果 氏名 a 8 b 4 c 11 ーー VBAなら適当にやれるが。

take-r2d2
質問者

お礼

ご回答ありがとうございます。VBAならできなくもないのですね。勉強してみます。