Помогите автоматизировать работу с таблицей excel

Рейтинг: 0Ответов: 1Опубликовано: 22.02.2023

Имеется таблица такого плана:

введите сюда описание изображения

В колонке op_time иногда стоит 1. В колонке %USTEC указана формула, которая должна реагировать на присутствие или отсутствие единицы в колонке op_time следующим образом:

  1. если в предыдущей строке колонки op_time указана единица, то в колонке %USTEC должна вычисляться разность между текущим значением <OPEN> USTEC (в данном случае - 12946.1) и значением <OPEN> USTEC в той строке, в которой указана единица (12946), причем ссылка на последнее значение абсолютная, т.е. при растягивании формулы вниз не изменяется. В данном случае, правда, формула сложнее, т.к. высчитываются процент роста, а не простая разность, но это не принципиально.
  2. если в предыдущей строке колонки op_time не указана единица, то формула из предыдущей строки колонки %USTEC должна "растягиваться" вниз на эту ячейку.

В общем, не знаю, понятно ли я объясняю, но в конечном счете мне нужно всякий раз вычислять % роста актива относительно его цены в определенный момент времени, например, насколько % актив вырос в цене относительно его значения в 16:00:00. Но это время может меняться, и для этого существует 1 в столбце op_time, т.е. если 1 указана в строке с временем 16:00:00, то отсчет % роста актива осуществляется с этого времени, если в строке с временем 10:00:00, то отсчет % роста начинается с этого времени.

В таблице содержатся данные за 550 дней, т.е. будет 550 единиц в графе op_time.

Ответы

▲ 0Принят

В ячейку I2 и протянуть вниз:

=E2-ЕСЛИОШИБКА(ПРОСМОТР(1;$G$1:G1;$E$1:E1);)

ЕСЛИОШИБКА только для первых строк, выше которых нет единицы. В строках ниже можно исключить функцию:

=E2-ПРОСМОТР(1;$G$1:G1;$E$1:E1)