答案1
已编辑:以下是我发布的问题的解决方案,但可能不是实际提供“推荐”或“阈值”线的最佳方式,这是我的实际目标。
技术上正确的答案
我认为我想出了一个不错的解决方案:
- 创建一个返回数组的用户定义函数(UDF),按照@ScottCraner 的建议。
- 定义一个引用(“调用”)该函数的命名范围。
- 将系列的源设置为该命名范围。
启用宏的电子表格在我的网站上https://woltman.com/m/filer_public/cc/ba/ccba65d2-e29c-4208-b3be-53ead02845ff/arraysforchartdataexample.xlsm
可能是更好的解决方案
该解决方案遵循@fixer1234 的建议:
- 制作一对 XY 数据点。Y 值是推荐的数据。第一个 X 值为 1,第二个 X 值为条形图中的条数。
- 创建普通条形图
- 向图表添加另一个系列,并将系列类型设置为带线的 XY。
- 将系列的源数据设置为您在步骤1中创建的XY对。
- Excel 会将系列移至次轴。将系列放回主轴。
- 从 XY 系列中删除标记,使其看起来就像一条普通的线。
答案2
答案3
我想建议一个宏(VBA),它可以将任何值(数字,文本甚至日期)重复 N 次。
Sub RepeatData()
Dim Rng As Range
Dim InputRng As Range, OutRng As Range
xTitleId = "Repeat Data"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set OutRng = OutRng.Range("A1")
For Each Rng In InputRng.Rows
xValue = Rng.Range("A1").Value
xNum = Rng.Range("B1").Value
OutRng.Resize(xNum, 1).Value = xValue
Set OutRng = OutRng.Offset(xNum, 0)
Next
End Sub
怎么运行的:
- 将此宏作为模块与相关工作表一起插入。
- 运行宏并通过选择 A3:B3 响应第一个输入框。
- 通过选择任意单个单元格(例如 E3)来响应第二个输入框。
- 单击“确定”完成。
您将获得如屏幕截图所示的期望结果。
笔记, 我特意包含了情况 2,以表明宏可以重复任何值任意次数。