『壹』 如何將數據區域分割成多個圖表系列
問:如圖 1所示的列表,如果需要針對列表中的每一行都單獨創建一個圖表系列,如何快速實現?
圖 1
答:方法一:使用公式
首先,將圖 1 所示的數據進行整理,如圖 2 所示。
圖 2
其中,第 1 行的 D1:G1 中為列 A 中的不重復項。
在單元格 D2 中輸入公式:
= IF($ A2 = D $ 1,$ C2,NA())
先進至單元格區域 D2:G14 。
選擇單元格區域 B1:B14 ,按住 Ctrl 鍵不放,選擇單元格區域 D1:G14 。
插入 XY 散點圖,結果如圖 3 所示。
圖 3
註:在折線圖或 XY 散點圖中,#N / A 值不會被替換;在條形圖或柱狀圖上,空字元串 」」 不會被替換。
方法二:使用 VBA
使用循環讀取單元格區域的第 1 列,依次通過第 1 列進入行組合,依次每個組合作為圖表的一個系列。
首先選擇圖表,然後運行下面的 VBA 程序,會依次圖 4 所示的這種,要求輸入數據區域。
圖 4
單擊確定後,結果如圖 5 所示。
圖 5
代碼如下:
子CreateChartByRow()
暗淡作為圖表
調光范圍
Dim strPrompt作為字元串
盡可能長的昏暗
點心系列
調光行
Dim lngRowStart只要長
只要Dim lngRowEnd
Dim strSeries作為字元串
如果ActiveChart一無所獲
MsgBox「 請選取圖表並重試。」,vbExclamation
轉到ExitSub
萬一
strPrompt =「 選擇包含數據的 3 列單元格區域。」
strPrompt = strPrompt&vbNewLine&「 第 1 列:系列標題 」
strPrompt = strPrompt&vbNewLine&「 第 2 列: X 值 」
strPrompt = strPrompt&vbNewLine&「 第 3 列: Y 值 」
strPrompt = strPrompt&vbNewLine&「 避免空單元格 」
關於錯誤繼續
設置rng = Application.InputBox(Prompt:= strPrompt,Type:= 8)
出錯時轉到0
如果rng什麼都沒有,則轉到ExitSub
設置cht = ActiveChart
做
如果cht.SeriesCollection.Count = 0那麼退出
cht.SeriesCollection(1)。刪除
循環
strSeries =「」
lngSrs = 0
對於lngRow = 1到rng.Rows.Count + 1
如果rng.Cells(lngRow,1).Value > strSeries或lngRow> rng.Rows.Count然後
如果lngSrs> 0然後
lngRowEnd = lngRow-1
設置srs = cht.SeriesCollection.NewSeries
與srs
.values = rng.Cells(lngRowStart,3).Resize(lngRowEnd +1-lngRowStart)
.XValues = rng.Cells(lngRowStart,2).Resize(lngRowEnd +1-lngRowStart)
.Name = rng.Cells(lngRowStart,1).Value
.ApplyDataLabelsShowSeriesName:=正確,_
ShowCategoryName:= False,ShowValue:= False
結束於
萬一
lngRowStart = lngRow
strSeries = rng.Cells(lngRow,1).Value
lngSrs = lngSrs + 1
萬一
下一個
ExitSub:
Application.ScreenUpdating = True
結束
『貳』 請問excel如何同時做多張圖表
1、先後打開兩個工作表。
2、打開第二個工作表後,點擊菜單欄「窗口」。可看到在彈出菜單下部顯示兩個表格,畫勾的是目前顯示的工作表。