こんな散布図(というのかどうか)を描いてみようと思いました。
X、Yの組み合わせの頻度を、円の面積で示したものです。たとえばここでは、X(満足度)が3でY(重要度)も3の組み合わせが63件あった、ということを表しています。

こんなグラフを描く
もともとのデータは、ここに記載してあって、この例では500人の人の回答が掲載されています。某市での環境意識に関する市民アンケートの結果の一部です。

もとのデータ
これを読み取るために、XYの組み合わせの頻度を計算しました。
なんとなく傾向が見て取れそうですが、これでも確信がもてません。それで、この頻度をビジュアルに表現しようとしたのが最初の図です。

頻度を計算したデータ
個々の円を描画するための関数を下記に紹介しておきます。
DrawCircle x,y,radius で、座標 x、y の位置に、半径 radius の円を描きます。
この前に CircleWeigt、CircleColor、FillColor、FillTransparency を "Const" シートから取得して設定しておきます。
GraphShpes() は、描いた Shape の名前を格納しておく配列です。全体の描画が終わった時点で、一括してグループ化する際に用います。この変数も先行してどこかで定義しておきます。
標準モジュール DrawCircle()
'---- 円を描く
'x,y は中心座標、radius は半径
Public Sub DrawCircle(x, y, radius)
With GraphSheet.Shapes.AddShape(msoShapeOval, x - radius, y - radius, radius * 2, radius * 2)
With .line
.Weight = CircleWeight
.ForeColor.RGB = CircleColor
End With
With .Fill
.ForeColor.RGB = FillColor
.Transparency = FillTransparency
.Visible = True
End With
GraphShapes(UBound(GraphShapes)) = .Name
End With
ReDim Preserve GraphShapes(UBound(GraphShapes) + 1)
End Sub