
ある社の製品を「持ってる」「知っている」「知らない」に分けて回答してもらいました。
ピボットテーブルで出身地別に集計しようと思いましたがうまくいきません。
添付画像のとおりでデータの表が調査結果です。
ピボットテーブルでやってみようとしたのですが、
1社(Panasonic)だけならば、選択したあとにフィルターボタンから「持ってる」だけを選択すると実現できました。
しかし対象をSONY、SANYO増やしていくと、よくわからない結果になってしまい、どうにもなりません。
どなたか理想の表を実現できる手段をご存知ないでしょうか?

No.1ベストアンサー
- 回答日時:
ご質問者のやりたいことを実現する方法として2つほど思いつきました。
1.ご質問者も使われたピボットテーブルを使用する方法
2.ピボットテーブルではなく、関数を使用する方法
上記の方法を順に説明します。
1.ピボットテーブルを使用する方法
ご質問者のご希望の表を作成するため、以下の準備をします。
(1)もともとのデータはsheet1にあるものとしてsheet2に内容をコピーします。
(2)sheet2の適当な場所(ここでは$I$9)に、入力規則を使って「持ってる」「知ってる」「知らない」を選択できるセルを設置します。
(3)「持ってる」「知ってる」「知らない」という回答内容が入力されているセルに集計したい項目に該当すれば1、そうでなければ0とする関数を記入します。
※C2の例を示すと=IF(Sheet1!C2=$I$9,1,0)という関数。これを縦方向、横方向にオートフィルでコピーします。
(4)上記の結果、添付画像1のような表ができるので、これをピボットテーブルを使って添付画像2のように加工します。
2.関数を使用する方法
(1)もともとデータのあるシートとは別のシートに、集計結果の表を作成するため、「日本」「北米」「アジア」といった行方向の項目と「Panasonic」「SONY」・・・といった列方向の表題をあらかじめ作成します。
(2)そのシートの適当な場所(ここでは$I$6)に、入力規則を使って「持ってる」「知ってる」「知らない」を選択できるセルを設置します。
(3)集計値を計算するセルに条件に合致したものの件数をカウントするための計算式を記入します。
※B2の例を示すと=COUNTIFS(Sheet1!$B$2:$B$8,$A2,Sheet1!C$2:C$8,$I$6)という関数。これを縦方向、横方向にオートフィルでコピーします。
(4)縦方向、横方向の合計をSUM関数を使って集計して完成です。
※添付画像3を参照してください。

No.2
- 回答日時:
VBA で良かったですか?ダメならスルーということで
標準モジュールに以下を記述し Samp1 を実行してみます
処理対象は、アクティブシートの A5 ~ の表
結果は新規シートに
Option Explicit
Public Sub Samp1()
Dim vC As Variant, v As Variant
Dim r As Range
vC = Array("持ってる", "知ってる", "知らない")
Application.ScreenUpdating = False
With ActiveSheet
With Worksheets.Add
Set r = .Range("B2")
End With
For Each v In vC
Call Samp1Sub(.Range("A5"), v, r)
Next
End With
Application.ScreenUpdating = True
End Sub
Private Sub Samp1Sub(rng As Range, ByVal sS As String, r As Range)
Dim dic As Object
Dim vA As Variant
Dim sF As String
Dim i As Long, j As Long, k As Long, n As Long
Set dic = CreateObject("Scripting.Dictionary")
With Range(rng.End(xlDown).Offset(1), rng.End(xlToRight))
vA = .Value
End With
sF = "=SUM(RC[" & 2 - UBound(vA, 2) & "]:RC[-1])"
n = 1
For j = 1 To UBound(vA, 2) - 1
vA(n, j) = vA(n, j + 1)
Next
vA(n, j) = "総計"
For i = n + 1 To UBound(vA) - 1
For j = 3 To UBound(vA, 2)
If (vA(i, j) = sS) Then
vA(i, j) = 1
Else
vA(i, j) = 0
End If
Next
k = dic(vA(i, 2))
If (k = 0) Then
n = n + 1
dic(vA(i, 2)) = n
For j = 1 To UBound(vA, 2) - 1
vA(n, j) = vA(i, j + 1)
Next
vA(n, j) = sF
Else
For j = 2 To UBound(vA, 2) - 1
vA(k, j) = vA(k, j) + vA(i, j + 1)
Next
End If
Next
n = n + 1
sF = "=SUM(R[" & 2 - n & "]C:R[-1]C)"
vA(n, 1) = "総計"
For j = 2 To UBound(vA, 2)
vA(n, j) = sF
Next
r.Value = "【" & sS & "】"
With r.Offset(1).Resize(n, UBound(vA, 2))
.Value = vA
With .Rows(1)
.Interior.ColorIndex = 15
.HorizontalAlignment = xlCenter
End With
.Borders.LineStyle = xlContinuous
End With
Set r = r.Offset(n + 3)
Set dic = Nothing
End Sub
お礼遅れました。社外に出す資料のためVBAは可能な限り避けたいので今回は使用しませんでしたが、ローカルで試したら行けました!
データ抽出だけするならばこちらのほうが良さそうです。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) ピボットテーブルへの集計フィールド挿入 1 2023/02/26 11:33
- Excel(エクセル) EXCELピボットテーブル(複数アイテム) 1 2023/04/27 12:15
- Excel(エクセル) EXCELピボットテーブル関数について 2 2023/04/10 20:35
- Excel(エクセル) ピボットテーブル集計表について。ピボットテーブルで集計を行うとき、内訳集計ではなく、通常集計表にする 2 2023/08/10 07:16
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- その他(データベース) 業務用のデータベースサーバーの選び方について 4 2022/11/22 10:22
- 統計学 統計:アンケート結果の読み解き方法(カイ二乗検定の必要性の有無) 13 2022/12/03 23:13
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Excel(エクセル) 2列のエクセルの表を変更したい 2 2022/06/30 10:39
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの関数について
-
エクセルのリストについて
-
【マクロ】元データと同じお客...
-
エクセルのVBAで集計をしたい
-
【画像あり】オートフィルター...
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
【マクロ】変数に入れるコード...
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
【マクロ】左のブックと右のブ...
-
エクセルの複雑なシフト表から...
-
【マクロ】別ファイルへマクロ...
-
他のシートの検索
-
エクセルシートの見出しの文字...
-
vba テキストボックスとリフト...
-
【マクロ】【配列】3つのシー...
-
ページが変なふうに切れる
-
【マクロ】オートフィルターの...
-
【マクロ】列を折りたたみ非表...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報