技术上正确的答案

技术上正确的答案

我有一张图表,上面应该有一条推荐线。我通常会为每个图表值设置一个“推荐”值。是否有可能有一个公式重复一堆值,这样我就不必维护“推荐”值的列表了?以下是屏幕截图示例

在此处输入图片描述

在我看来,它的工作原理是这样的:=MakeArray(2.23, 7) 2.23 是值,7 是重复次数。然后我可以将其分配给该系列,而实际上不必维护我不需要的另一系列数据实际上关心。

答案1

已编辑:以下是我发布的问题的解决方案,但可能不是实际提供“推荐”或“阈值”线的最佳方式,这是我的实际目标。

技术上正确的答案

我认为我想出了一个不错的解决方案:

  1. 创建一个返回数组的用户定义函数(UDF),按照@ScottCraner 的建议。
  2. 定义一个引用(“调用”)该函数的命名范围。
  3. 将系列的源设置为该命名范围。

结果示例启用宏的电子表格在我的网站上https://woltman.com/m/filer_public/cc/ba/ccba65d2-e29c-4208-b3be-53ead02845ff/arraysforchartdataexample.xlsm

可能是更好的解决方案

该解决方案遵循@fixer1234 的建议:

  1. 制作一对 XY 数据点。Y 值是推荐的数据。第一个 X 值为 1,第二个 X 值为条形图中的条数。
  2. 创建普通条形图
  3. 向图表添加另一个系列,并将系列类型设置为带线的 XY。
  4. 将系列的源数据设置为您在步骤1中创建的XY对。
  5. Excel 会将系列移至次轴。将系列放回主轴。
  6. 从 XY 系列中删除标记,使其看起来就像一条普通的线。

这根本不需要额外的代码,而且非常干净。 使用 XY 散点图和线条进行采样

答案2

放入2.23顶部单元格。

在 下 一个 里 放=B2

假设将其2.23放在 B2 中,将公式放在 B3 中,那么只需复制下来即可。

在此处输入图片描述

然后如果你想改变数字你只需要改变B2,其余的都会改变

在此处输入图片描述

答案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,以表明宏可以重复任何值任意次数。

相关内容