Интерполировать значения между двумя ячейками

у меня есть таблица, которая выглядит так в Libre Office Calc:

    +-----------+
    |     |  A  |
    |  1  | 444 |
    |  2  |     |
    |  3  |     |
    |  4  |     |
    |  5  |     |
    |  n  |     |
    | n+1 | 938 |
    +-----------+

A(1) < A (n+1), 444 и 938 используются в качестве примера.

есть ли способ автоматически заполнить ячейки между A (1) и A(n+1) целочисленными значениями (повторяя их при необходимости)?

ожидаемый результат:

    +-----------+   +-----------+
    |     |  A  |   |     |  A  |
    |  1  | 444 |   |  1  | 444 |
    |  2  |     |   |  2  | 527 |
    |  3  |     |   |  3  | 610 |
    |  4  |     |   |  4  | 693 |
    |  5  |     |   |  5  | 776 |
    |  6  |     |   |  6  | 859 |
    |  7  | 938 |   |  7  | 938 |
    +-----------+   +-----------+

еще пример:

    +-----------+   +-----------+
    |     |  A  |   |     |  A  |
    |  1  |  5  |   |  1  |  5  |
    |  2  |     |   |  2  |  5  |
    |  3  |     |   |  3  |  6  |
    |  4  |     |   |  4  |  6  |
    |  5  |     |   |  5  |  7  |
    |  6  |     |   |  6  |  7  |
    |  7  |  8  |   |  7  |  8  |
    +-----------+   +-----------+

спасибо.

2
задан Umpa
08.12.2022 7:14 Количество просмотров материала 2877
Распечатать страницу

3 ответа

Если вы хотите равномерное распределение, округляя каждую ячейку до следующего целого числа, введите следующую формулу в ячейку A2:

=ROUNDUP(A+(ROW()-ROW(A))*(A-A)/(ROW(A)-ROW(A)))

замена n со строкой последнего значения (в вашем примере 7). Затем скопируйте ячейку вниз до (не к+1).


Если вам нужны те же значения, что и в вашем примере, возьмите следующую формулу:

=ROUNDUP(A1+(A$n-A)/(ROW(A$n)-ROW(A)))

но это терпит от строгого округление смещения: это добавляет округленное значение 83 от строки к строке, но для последнего шага осталось только 79, что делает его значительно меньше. В верхней формуле округленная разница изменяется между 82 и 83 строками, что приводит к более равномерному спреду.

2
отвечен Dubu 2022-12-09 15:02

вы можете сделать это "вручную":

  • добавить столбец collumn со значениями 1, ..., 7 (столбец A в моем ответе, числа 444 и 938 находятся в столбце B)
  • вычислить разницу между двумя клетками: TEMPCELL = ROUNDUP((B7-B1)/(A7-A1);0) (вы, кажется, хотите большее число, поэтому я использовал ROUNDUP)
  • в каждой пустой ячейке столбца B введите =(A2-1)*TEMPCELL+$B

или (вторая идея, мне кажется, лучше)

  • не используйте "вспомогательный столбец", как раз высчитайте значение TEMPCELL (так как A7-A1 в Примере всего 6, то нет необходимости в coulmn A на этом шаге)
  • в ячейке ниже 444, введите =B1+TEMPCELL и перетащите формулу вниз
0
отвечен Jasper 2022-12-09 17:19

Если вы просто хотите построить серию:

  • Выберите серию
  • щелкните правой кнопкой мыши
  • формат рядов данных
  • параметры участка-выберите продолжить линию

image

0
отвечен klmnt 2022-12-09 19:36

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

Ваш ответ

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

Имя
Вверх