Всем привет, туплю. Не могу понять откуда подойти. Задача такая календарь куда заполняю данные по счетчику, в конце сумма по разниые последних 2х заполненных месяцев, как записать формулу, чтобы она автоматом определяла последние заполненные ячейки. Пример
Всем привет, туплю. Не могу понять откуда подойти. Задача такая календарь куда заполняю данные по счетчику, в конце сумма по разниые последних 2х заполненных месяцев, как записать формулу, чтобы она автоматом определяла последние заполненные ячейки. ПримерKashimirush
Gustav, Работает при оговоренном условии. попробовал сделать более универсальную формулу, чтобы были и отрицательные значения Получился вот такой уродец:
Минус 2 - это если данные допустим идут со столбца C, а не с A как в примере, см. лист 2
Gustav, Работает при оговоренном условии. попробовал сделать более универсальную формулу, чтобы были и отрицательные значения Получился вот такой уродец:
[/vba] В процессе разворачиваю массив вертикально (TRANSPOSE) и сортирую по убыванию номера столбца (SORT), оставив только непустые суммы (FILTER): [vba]
Код
Столбец Сумма 5 6400 3 6300 2 6233 1 6132
[/vba]Дальше беру весь второй столбец (INDEX): [vba]
Код
6400 6300 6233 6132
[/vba]Дальше оставляю две первые строки (ARRAY_CONSTRAIN) и приставляю к ним множители {1;-1} во втором столбце: [vba]
Код
Сумма Множитель 6400 1 6300 -1
[/vba]Дальше суммирую получающиеся построчные произведения (SUMPRODUCT): [vba]
Код
6400 -6300
[/vba]
Я тоже попробовал при любых значениях, получилась вон какая красота - просто образец для лабораторной работы по функциям: [vba]
[/vba] В процессе разворачиваю массив вертикально (TRANSPOSE) и сортирую по убыванию номера столбца (SORT), оставив только непустые суммы (FILTER): [vba]
Код
Столбец Сумма 5 6400 3 6300 2 6233 1 6132
[/vba]Дальше беру весь второй столбец (INDEX): [vba]
Код
6400 6300 6233 6132
[/vba]Дальше оставляю две первые строки (ARRAY_CONSTRAIN) и приставляю к ним множители {1;-1} во втором столбце: [vba]
Код
Сумма Множитель 6400 1 6300 -1
[/vba]Дальше суммирую получающиеся построчные произведения (SUMPRODUCT): [vba]
Потому что COLUMN(...) без формулы массива выдает только ОДНО значение, а ссылка A2:K2 - 11 значений. Фактически ArrayFormula нужна здесь именно для COLUMN: [vba]
Код
={ ArrayFormula(COLUMN(A2:K2)); A2:K2 }
[/vba]
Потому что COLUMN(...) без формулы массива выдает только ОДНО значение, а ссылка A2:K2 - 11 значений. Фактически ArrayFormula нужна здесь именно для COLUMN: [vba]
ArrayFormula отсутствует в принципе, а функция FILTER стоит за фигурными скобками, по "моей логике" FILTER тоже должен давать ошибку, т.к. {COLUMN(A2:K2);A2:K2} сама по себе ошибочна без обработки формулой массива.
ArrayFormula отсутствует в принципе, а функция FILTER стоит за фигурными скобками, по "моей логике" FILTER тоже должен давать ошибку, т.к. {COLUMN(A2:K2);A2:K2} сама по себе ошибочна без обработки формулой массива.Kashimirush
ArrayFormula отсутствует в принципе, а функция FILTER стоит за ...
FILTER сама по себе "массивовая" функция. Она содержит неявное ArrayFormula() как бы внутри себя и применяет его к своим аргументам.
А вообще по жизни я поступаю проще: сначала пробую без ArrayFormula(), а потом, если "без" как надо не "поехало", то уже добавляю в явном виде. И не парюсь на эту тему
ArrayFormula отсутствует в принципе, а функция FILTER стоит за ...
FILTER сама по себе "массивовая" функция. Она содержит неявное ArrayFormula() как бы внутри себя и применяет его к своим аргументам.
А вообще по жизни я поступаю проще: сначала пробую без ArrayFormula(), а потом, если "без" как надо не "поехало", то уже добавляю в явном виде. И не парюсь на эту тему Gustav