- ベストアンサー
複数の抽出データを1つのセルに収めたい
アンケートを集計するための票を作成しているのですが どれに何票入ったかだけでなく、誰がその票を入れたかもまとめたいと思っています。 例えばA~Dさんにアンケートを行い A パソコン B マウス C マウス D キーボード と言う結果の場合、 [Aセル]/[Bセル]/[Cセル] パソコン/1/A マウス/2/B,C キーボード/1/D と言う形でまとめたいです。 Cセルの投票した人達を,でつなげて行く関数がわからず苦戦しています。宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
シート1に元のデータがあるとしてA1セルおよびB1セルには項目名が有るとしてデータはそれぞれ2行目からあるとします。 作業列のC2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(COUNTIF(B$2:B2,B2)=1,MAX(C$1:C1)+1,"") D2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(B2="","",IF(COUNTIF(B$2:B2,B2)>0,INDEX(C:C,MATCH(B2,B:B,0))+COUNTIF(B$2:B2,B2)/1000)) シート2はお求めの表でA1セルには品名とし、A2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(COUNTIF(Sheet1!C:C,ROW(A1))=0,"",INDEX(Sheet1!B:B,MATCH(ROW(A1),Sheet1!C:C,0))) B2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(ISERROR(INDEX(Sheet1!$A:$A,MATCH(INDEX(Sheet1!$C:$C,MATCH($A2,Sheet1!$B:$B,0))+COLUMN(A1)/1000,Sheet1!$D:$D,0))),"",INDEX(Sheet1!$A:$A,MATCH(INDEX(Sheet1!$C:$C,MATCH($A2,Sheet1!$B:$B,0))+COLUMN(A1)/1000,Sheet1!$D:$D,0)))
その他の回答 (1)
- keithin
- ベストアンサー率66% (5278/7941)
文字の結合を手早くできる関数(数式)は,実はほとんどありません。 大概の場合は,実際には手で作成していった方がよっぽど早く仕上がります。 敢えて作成例: A列 B列 名前 回答 安西 パソコン 井上 マウス 上野 マウス 遠藤 キーボード F1にマウスと記入 G2:(基本形) =SUBSTITUTE(TRIM(IF(B2=F1,A2,"") & " " &IF(B3=F1,A3,"") & " " &IF(B4=F1,A4,"") & " " &IF(B5=F1,A5,""))," ",",")
お礼
有難うございます! 自然数の部分で項目、小数点以下で数を数えるのですね。 おかげで2枚目に項目別の回答者を並べることが出来ました 3枚目にCONCATENATE関数で1マスにまとめてみたいと思います。