如何将数据区域分割成多个图表系列?

网友投稿 539 2022-10-18

如何将数据区域分割成多个图表系列?

问:如图 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

结束

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:WPS表格怎么添加二级下拉菜单? WPS表格添加下拉菜单的教程
下一篇:wps表格怎么添加分页符? wps分页符的使用教程
相关文章