- ベストアンサー
Excel 縦のデータを横に展開
Excelで(1)から(2)のような状態にするにはどうしたらいいでしょうか?ご教示願います。 (1) A ● 1 A △ 3 A ■ 4 B × 1 B ● 4 C △ 2 C □ 3 C ☆ 4 (2) 1 2 3 4 A ● △ ■ B × ● C △ □ ☆ ピボットテーブルを使用すればいいのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
A列 昇順として B12セルに =IF(ISNA(MATCH(B$11,INDEX($C$1:$C$8,MATCH($A12,$A$1:$A$8,0)):INDEX($C$1:$C$8,MATCH($A12,$A$1:$A$8)),0)),"", INDEX(INDEX($B$1:$B$8,MATCH($A12,$A$1:$A$8,0)):$B$8,MATCH(B$11,INDEX($C$1:$C$8,MATCH($A12,$A$1:$A$8,0)):INDEX($C$1:$C$8,MATCH($A12,$A$1:$A$8)),0))) 右へ下へオートフィル A列昇順の必要なしの作業列を使って E1セルに =A1&C1 B12セルに =INDEX($B$1:$B$8,MATCH($A12&B$11,$E$1:$E$8,0)) 右へ下へオートフィル、エラー処理なし 参考まで ちなみにピボットテーブルにはタイトル行が必要で、集計のために使うのでB列は数値である必要があります
その他の回答 (3)
Sheet1 Sheet2 A B C A B C D E 1 A ● 1 1 1 2 3 4 2 A △ 3 2 A ● △ ■ 3 A ■ 4 3 B × ● 4 B × 1 4 C △ □ ☆ 5 B ● 4 6 C △ 2 7 C □ 3 8 C ☆ 4 Sheet2!B2: =IF(SUMPRODUCT((Sheet1!$A$1:$A$20=$A2)*(Sheet1!$C$1:$C$20=B$1)),INDEX(Sheet1!$B$1:$B$20,SUMPRODUCT((Sheet1!$A$1:$A$20=$A2)*(Sheet1!$C$1:$C$20=B$1),ROW(A$1:A$20))),"")
お礼
ありがとうございます。今日試してみます。
- mu2011
- ベストアンサー率38% (1910/4994)
次の方法は如何でしょうか。 縦データをSheet1として、Sheet2に横データを作成する (1)Sheet2のA1を選択→データ→フィルタオプションの設定→指定した範囲を選択、リスト範囲欄にsheet1!$A$A,抽出範囲欄に$A$1、重複レコードは無視するをチェック→OK (2)sheet2のA1はクリア、B1に1を入力し右方向に連続データを作成 (3)sheet2のB1に=IF(SUMPRODUCT((Sheet1!$A$1:$A$8=$A2)*(Sheet1!$C$1:$C$8=B$1)),INDEX(Sheet1!$B$1:$B$8,SUMPRODUCT((Sheet1!$A$1:$A$8=$A2)*(Sheet1!$C$1:$C$8=B$1)*ROW(Sheet1!$A$1:$A$8))),"")を設定、縦横にコピー
お礼
ありがとうございます。今日試してみます。
- tomo8047
- ベストアンサー率39% (21/53)
はい。ピボットテーブルで出来ます。
お礼
ありがとうございます。
お礼
ありがとうございます。今日試してみます。