Создание" временных " формул массива в Excel

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

enter image description here

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

9
задан PeterH
19.01.2023 3:30 Количество просмотров материала 2911
Распечатать страницу

3 ответа

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

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

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

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

An example of the results и с поддержкой макросов таблицы на моем сайте в 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 with line.
  4. установите исходные данные для ряда на пару XY, созданную на Шаге 1.
  5. Excel переместит ряд на вспомогательную ось. Поместите ряд обратно на основную ось.
  6. удалите маркеры из серии XY, чтобы она выглядела как обычная линия.

Это требует дополнительного кода, и очень чистый. Sample using XY scatter with a line

2
отвечен J Woltman 2023-01-20 11:18

Put 2.23 в верхней ячейке.

в следующей запишите=B2.

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

enter image description here

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

enter image description here

0
отвечен Scott Craner 2023-01-20 13:35

Я хотел бы предложить макрос (VBA), который повторяет любое значение числа, текста или даже даты N раз.

enter image description here

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.
  • готово с Ok.

вы получите желаемый результат, как показано на скриншоте.

Примечание Я намеренно включил ситуацию 2, чтобы показать, что макрос может повторять любое значение любое количество раз.

0
отвечен Rajesh S 2023-01-20 15:52

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх