Как преобразовать «уровень отступа» в формулу SUBTOTAL с помощью макроса?

Как преобразовать «уровень отступа» в формулу SUBTOTAL с помощью макроса?

Мне дали более 100 листов Excel, каждый из которых содержит несколько тысяч записей, которые выглядят следующим образом:

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

Мне нужно отредактировать эти файлы, удалить некоторые строки, а также нужно, чтобы общие цены roll-up были правильными. К сожалению, столбец C жестко закодирован со значениями.Как преобразовать столбец «Цена», чтобы использовать функцию промежуточного итога, как в крайнем правом столбце?Я не хочу просматривать каждый файл строка за строкой.

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

Я могу либо изменить столбец C, либо создать дополнительный столбец D.

решение1

Этот хитрый метод SUMIFрешает проблему.

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

Как это работает:

  • Сортировать диапазон данных A45:B61, используя Indentв качестве ключа, в порядке возрастания.
  • Введите эту формулу в ячейку D46и заполните ее до нужного значения.

    =IF(A46<>A45,SUMIF(A$46:A$61,A46,B$46:B$61),"")

  • Другое возможное решение — Group & Subtotal.

При необходимости измените ссылки на ячейки в формуле.

Связанный контент