1

У меня есть график, на котором должна быть рекомендованная линия, проходящая через него. Я обычно делал бы это, имея "рекомендуемое" значение для каждого значения, которое я составляю. Можно ли иметь формулу, которая повторяет кучу значений, чтобы мне не приходилось вести список "рекомендуемых" значений? Вот пример скриншота

В моей голове это работает так: =MakeArray(2.23, 7) где 2.23 - это значение, а 7 - количество повторений. Тогда я мог бы назначить , что в серии , и на самом деле не должны поддерживать еще ряд данных , которые я на самом деле не волнует.

3 ответа3

2

Отредактировано: следующее является решением вопроса, который я разместил, но, возможно, не самый лучший способ на самом деле предоставить "рекомендуемые" или "пороговые" строки, что и было моей реальной целью.

Технически правильный ответ

Я думаю, что я нашел приличное решение:

  1. Создайте пользовательскую функцию (UDF), которая возвращает массив, как предложено @ScottCraner.
  2. Определите именованный диапазон, который ссылается ("вызывает") на эту функцию.
  3. Установите источник серии в этот именованный диапазон.

Пример результатов и электронная таблица с поддержкой макросов находится на моем сайте по адресу https://woltman.com/m/filer_public/cc/ba/ccba65d2-e29c-4208-b3be-53ead02845ff/arraysforchartdataexample.xlsm.

Наверное, лучшее решение

Это решение следует предложению @ fixer1234:

  1. Сделайте пару точек данных XY. Значения Y - ваши рекомендуемые данные. Первое значение Х равно 1, второе значение Х равно числу баров, которые вы имеете на гистограмме.
  2. Создать нормальную гистограмму
  3. Добавьте еще одну серию на диаграмму и установите тип серии на XY с линией.
  4. Задайте в качестве исходных данных для серии пару XY, созданную на шаге 1.
  5. Excel переместит серию на вторичную ось. Поместите ряд обратно на основную ось.
  6. Удалите маркеры из серии XY, чтобы она выглядела как простая линия.

Это не требует никакого дополнительного кода вообще, и очень чисто. Образец с использованием рассеяния XY с линией

0

Я хотел бы предложить макрос (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, чтобы показать, что Макрос может повторять любое значение любое количество раз.

0

Поместите 2.23 в верхнюю ячейку.

В следующем вниз положите =B2 .

Предполагая, что 2.23 был помещен в B2, а формула в B3, просто скопируйте вниз.

Тогда, если вы хотите изменить номер, вам нужно только изменить B2, а остальное изменится

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .