Excel лише горизонтальна сума масиву (матриця)


0

У мене формула, яка генерує результат двовимірного масиву. Наприклад:

{=ROW(4:6)^TRANSPOSE(ROW(1:3))}

(фігурні дужки додаються excel, коли ви натискаєте CTRL+ SHIFT+ ENTER )

Мені потрібно підсумувати лише горизонтальні елементи масиву (тоді я визначу максимум цих сум).

Якщо я спробую:

{=SUM(ROW(4:6)^TRANSPOSE(ROW(1:3)))}

Я отримую загальну суму, але мені потрібно формула масиву, яка генерує результат масиву, що містить (вертикальний) стовпець суми кожного рядка. Я уявляю щось на кшталт:

{=HORIZONTALSUM(ROW(4:6)^TRANSPOSE(ROW(1:3)))}

Який, на мій простий приклад, містив би вертикальний масив (24; 30; 36), тоді я міг би легко отримати максимум за допомогою:

{=MAX(HORIZONTALSUM(ROW(4:6)^TRANSPOSE(ROW(1:3))))}

І поверніть 36, як у моєму прикладі.

Я розумію, що можу написати UDF, щоб зробити це легко, але UDF недостатньо портативні, тому я шукаю нативне рішення.

Відповіді:


1

Це робить те, що ти хочеш?

=MAX(ROW(4:6)*SUM(ROW(1:3)))

підтвердити CTRL+ SHIFT+ENTER

Якщо підсумовувати другий масив, ви можете використовувати його для множення першого масиву, оскільки це буде те саме, що множувати значення окремо, а потім підсумовувати результати

Редагувати: з огляду на ваші коментарі, якщо вихідний масив виправлений, ви можете використовувати MMULTфункцію, подібну до цієї

=MAX(MMULT(ROW(4:6)*TRANSPOSE(ROW(1:3)),{1;1;1}))

{1;1;1}ізметітся враховуючи кількість стовпців в першому масиві


Ні. Моя прикладна формула масиву - це просто легко надати масив. Моя фактична формула є складною і її неможливо розділити таким чином. Це перше, що я також подивився на спробу. Я спробую створити приклад масиву, який явно має однакові обмеження.
Містер Перпл

Зараз я відредагував прикладну формулу, щоб вона більш точно відображала суть обмежень, з якими я маю мати справу.
Містер Пурпла

Я теж відредагував свою відповідь .......
barry houdini

Приємно. Я бачу, що замість {1; 1; 1} я міг би зробити (ROW (1: N) ^ 0), де N - кількість рядків, які я хочу підбити підсумком.
Містер Перпл

Зверніть увагу, що "рядки в першому масиві" підпорядковуються стовпцям масиву, який ми бажаємо підсумовувати по горизонталі. Також якщо використовується формула ROW (1: N) ^ 0, вам потрібно буде використовувати INDIRECT, якщо ви хочете динамічно змінювати число N, використовуючи значення в посиланні на комірку. тобто ROW (INDIRECT ("1:" & N)) ^ 0), де N - це посилання або формула, що містить кількість стовпців, які ви хочете підсумувати,
пан Purple,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.