web-dev-qa-db-ja.com

1つの表からの複数の系列を持つExcel散布図

次のようなテーブルがあるとします。

Label | X | Y | A | 1 | 1 | B | 2 | 2 | B | 3 | 2 | A | 4 | 3 | C | 5 | 4 | A | 4 | 3 | C | 2 | 1 |

これを3つの系列(A、B、C)を持つExcel散布図にするには、系列ごとに手動で正しい行を手動で選択しない必要があります( この答えのように )。この表はこのチャートになります。

enter image description here

ソートは、新しいデータで比較的動的にこれを行いたいので、役に立ちません。

22
dtech

もっと簡単な方法は、D1:F1に列ヘッダーA、B、Cを追加するだけです。 D2に次の式を入力します。= IF($ A2 = D $ 1、$ C2、NA())そして必要に応じてそれを上下に記入します。

separated a-b-c data for scatter plot

B1:B8を選択し、Ctrlキーを押しながらD1:F8を選択して両方の領域を選択し、散布図を挿入します。

chart with data highlighted beneath it

23
Jon Peltier

Excelは動的に新しいシリーズを追加しないので、データが変更される可能性がある間は、シリーズの名前と数は変更されません。

私がお勧めするのは、各シリーズにスポットを配置するのが簡単な、動的な方法でデータを変換することです。

D列に置く:

=A2&COUNTIF(A2:A$2)

これは、B系列の3番目の要素にB3のような値を与えます。これで、すべての系列のすべての要素に順次ラベルを付けたので、ルックアップを実行できます。

新しいシートに入れる

A1="Number"
A2=1
A3=A2+1

B1="A"
B2=Match(B$1&$A2,Sheet1!$D$1:$D$100,FALSE)

C1="A - X"
C2=IF(ISERROR(B2),"",INDEX(Sheet1!$B$1:$B$100,B2))

D1="A - Y"
D2=IF(ISERROR(B2),"",INDEX(Sheet1!$C$1:$C$100,B2))

そしてちょうどあなたのシリーズのそれぞれのためにちょうどそのように3つのコラムを加えなさい。そのため、 "A"という名前の系列の最初のエントリ、つまりA1というラベルが付いた行が見つかり、次にC列でX値を調べ、D列でY値を調べます。 。次に、C列のX座標とD列のY座標を使用してグラフに系列Aを作成します。下線を引くデータが増えると、系列が変わる系列が変わると、グラフは自動的に更新されます。

1
Jarvin