• 締切済み

エクセルのデータ集計方法で相談があります。

エクセルのデータ集計方法で相談があります。 A列とB列に以下のようなデータがあります。  A  B 1  a 1  b 2  a 2  c 2  d 2  e 3  a 3  c 3  d 4  b この2列のデータを組合せを考え、以下のような形で集計したいと考えています。(1とaの組合せがあれば○、組合せがなければ×のような形) データ量が膨大で何か良い策(関数の組合せとか?)あればと思い、相談させて頂きました。 何卒よろしくお願いします。 (結果例)   a  b  c  d 1 ○ ○ × × 2 ○ × ○ ○ 3 ○ × ○ ○ 4 × ○ × × 以上です。よろしくお願いします。

みんなの回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.3です! たびたびごめんなさい。 前回は画像がうまくアップできなかったみたいなので もう一度トライしてみます。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 一例です。 ↓の画像で説明させていただきます。 Sheet1のデータをSheet2に表示させるようにしてみました。 余計なお世話かもしれませんが、A列・B列のデータも表示できるようにしていますので、 Sheet1に作業用の列を3列使わせてもらっています。 Sheet1の作業列C2セルに =A2&B2 そして、D2セルに =IF(COUNTIF(A$2:A2,A2)=1,ROW(),"") という数式を入れ、となりのE2セルまでオートフィルでコピーします。 C2~E2セルを範囲指定し、E2セルのフィルハンドルの(+)マークでダブルクリック、 またはオートフィルで下へずぃ~~~!っとコピーします。 Sheet2のA2セルに =IF(COUNT(Sheet1!$D:$D)<ROW(A1),"",INDEX(Sheet1!$A:$A,SMALL(Sheet1!$D:$D,ROW(A1)))) という数式を入れ、オートフィルで下へコピー B1セルに =IF(COUNT(Sheet1!$E:$E)<COLUMN(A1),"",INDEX(Sheet1!$B:$B,SMALL(Sheet1!$E:$E,COLUMN(A1)))) という数式を入れ、列(右)方向へコピーします。 これでA列・B列のデータが表示されますので 最後にB2セルに =IF(OR($A2="",B$1=""),"",IF(COUNTIF(Sheet1!$C:$C,$A2&B$1),"○","×")) という数式を入れ列方向と行方向にオートフィルでコピーすると 画像のような感じになります。 以上、長々と書きましたが 参考になれば幸いです。 他に良い方法があれば読み流してくださいね。m(__)m

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

シート1に元のデータがあるとしてシート2では応用を考えてA列にA1セルから下方に1,2,3・・・と入力し、1行目にはB1セルにa,C1セルにb・・・のように入力されているとします。 シート2のB1セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(OR(B$1="",$A2=""),"",IF(SUMPRODUCT((Sheet1!$A$1:$A$100=$A2)*(Sheet1!$B$1:$B$100=B$1))>0,"○","×"))

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

>データ量が膨大で何か良い策 どのくらい沢山あるお話しをなさっているのかによりますが,本当に沢山あるのでしたらSUMPRODUCTや配列数式は良くない方法になります。 確実で簡単なやり方: >A列とB列に以下のようなデータがあります。 C列にもう一列追加して A列 B列 C列 1  a  =A1&"_"&B1 1  b  1_b 2  a  2_a :   :   : のようにデータを一つにまとめ,   a b 1 =IF(COUNTIF(Sheet1!C:C,A2&"_"&B1),"○","×") 2 のように普通にCOUNTIFで調べます。 最もお奨めの簡単な方法: A1に「種別」「B1」に「項目」とでも追記します。 今のAB列を元に,データメニューのピボットテーブルレポートを開始します。 行に「種別」,列に「項目」,データに「項目」をそれぞれ放り込んでやると,即座に組み合わせの個数集計が得られます。 実際に手を動かしてみて,結果を見てから必要なら補足ご質問等を投稿してみてください。

関連するQ&A