Итак, ситуация такова, я хочу знать, есть ли способ преобразовать сумму диапазона ячеек в сумму, полученную в результате добавления каждой ячейки отдельно, как показано в заголовке.
Например, скажем, у кого-то есть это вычисление в ячейке E1 , E1 = SUM(A1:D1)
и хочет разделить его на сумму отдельных компонентных ячеек, как в E1 = A1 + B1 + C1 + D1 ,
Кроме того, было бы замечательно, если бы кто-то мог указать, как это сделать для диапазона ячеек, как в случае: E1 = SUM (A1:D2)
превращается в E1 = A1 + B1 + C1 + D1 + A2 + B2 + C2 + D2.
РЕДАКТИРОВАТЬ: Кто-то предложил мне использовать VBA, и я тоже думал об этом. Если у кого-то есть какие-либо предложения по этому вопросу, это будет с благодарностью (я не очень хорош в программировании на VBA, хотя я знаю основы и попробую сам.
Range
-функция, простаяfor
-циклы и функцииCells
а такжеOffset
должен сделать это для вашей проблемы.Ответы:
Хотя вы пометили это функцией Worksheet, вы говорите об использовании VBa в вопросе. Этот VBa делает оба примера, которые вы дали
Просто помните, что отмены нет, поэтому сначала сделайте резервную копию.
Как добавить VBA в MS Office?
Пример с А1: D1
Пример с A1: D2
Согласно комментариям в коде, если вы обновляете с
в
Вы закончите с (в B5)
источник
Минимальный рабочий пример с функцией VBA
unroll()
, который принимает ссылку на ячейку с одной функцией (лайкsum
,count
,min
) и развертывает свой аргумент (список диапазонов) в виде списка отдельных ячеек.Примечание: как минимальный пример, он не обрабатывает двухбуквенные ссылки на столбцы правильно.
* Редактировать *
добавленной
Function ColumnNoToName
обрабатывать ссылки на ячейки со столбцами & gt; 26.источник
:
делать? Это позволяет только несколько объявлений в одной строке?