Страницы: 1
RSS
Перемножить горизонтальный массив на вертикальный?
 
Столкнулся с проблемой - как перемножить горизонтальный массив на вертикальный. Почему то СУММПРОИЗВ работает только с массивами в одном направлении.    
Может кто-то знает как можно решить такую проблему без использования макросов?
 
В общем случае поможет функция ТРАНСП()  
В частном случае нужен Ваш пример.
 
да, можно решить эту задачу в несколько этапов.    
Сначала данные в строке перевести в столбец, а потом перемножить один столбец на другой.  
Я пытаюсь найти более элегатное решение, когда это можно сделать одной формулой.  
ТРАНСП() здесь не помогает.  
 
А пример простой нужно перемножить данные в диапазонах    
D3:G3 и C5:C8
 
{quote}{login=locman}{date=28.05.2011 12:44}{thema=}{post}А пример простой нужно перемножить данные в диапазонах D3:G3 и C5:C8{/post}{/quote}У меня эти диапазоны пустые.
 
В общем случае  
=СУММПРОИЗВ(D3:G3;ТРАНСП(C5:C8))  
или  
=СУММПРОИЗВ(ТРАНСП(D3:G3);C5:C8)  
формула массива
 
Для автора бы добавил: нужно следить за тем, чтобы ширина горизонтального диапазона была равна длине вертикального.
 
{quote}{login=locman}{date=28.05.2011 12:05}{thema=Перемножить горизонтальный массив на вертикальный?}{post}Столкнулся с проблемой - как перемножить горизонтальный массив на вертикальный. Почему то СУММПРОИЗВ работает только с массивами в одном направлении.    
Может кто-то знает как можно решить такую проблему без использования макросов?{/post}{/quote}  
 
http://www.planetaexcel.ru/tip.php?aid=124
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Чуть короче, формула массива  
=СУММ(D3:G3*ТРАНСП(C5:C8))  
 
Удивительно, почему с СУММПРОИЗВ работает только как формула массива?  
Например, =СУММПРОИЗВ(D3:G3;D4:G4) работает как обычная формула,  
а ТРАНСП(C5:C8) дает массив такого же вида, как D4:G4.  
Объясните, плз, кто знает.
 
Имхо, потому, что ТРАНСП() работает только как функция массива.
 
Функции ТРАНСП() требуются три клавиши для превращения диапазона в массив, но если ей подсунуть сразу массив (к примеру констант) вводить как формулу массива не нужно.    
Это легко проверить введя в диапазон A1:A4 любые числа и где-нибудь написать формулу: =СУММПРОИЗВ(A1:A4;ТРАНСП({1;2;3;4}))
 
Простая формула:  
=МУМНОЖ(D4:G4;C4:C7)
 
{quote}{login=DV}{date=28.05.2011 02:16}{thema=}{post}Простая формула:  
=МУМНОЖ(D4:G4;C4:C7){/post}{/quote}чет не то получается...
 
Пост выше мой.
 
{quote}{login=}{date=28.05.2011 02:34}{thema=Re: }{post}{quote}{login=DV}{date=28.05.2011 02:16}{thema=}{post}Простая формула:  
=МУМНОЖ(D4:G4;C4:C7){/post}{/quote}чет не то получается...{/post}{/quote}  
Это потому, что в D4:G4;C4:C7, возможно, есть пустые ячейки - МУМНОЖ понимает только числа.  
=МУМНОЖ(--(D4:G4);--(C4:C7))
 
достаточно записать:  
=МУМНОЖ(--D4:G4;--C4:C7)  
или  
=МУМНОЖ(-D4:G4;-C4:C7)
 
{quote}{login=}{date=28.05.2011 02:34}{thema=Re: }{post}{quote}{login=DV}{date=28.05.2011 02:16}{thema=}{post}Простая формула:  
=МУМНОЖ(D4:G4;C4:C7){/post}{/quote}чет не то получается...{/post}{/quote}
 
А если в формуле поменять местами горизонтальный и вертикальный диапазоны?
 
в Вашем случае так:  
=МУМНОЖ(C1:F1;A1:A4)  
Михайл, следите за массивами, первый должен быть горизонтальный, второй вертикальный - особенность функции МУМНОЖ (тожнее порядок расчета в ней)
 
> К сообщению прикреплен файл: post_231993.xls  
 
=МУМНОЖ(C1:F1;A1:A4)  
строка_на_столбец
 
{quote}{login=MCH}{date=28.05.2011 03:11}{thema=}{post}в Вашем случае так:  
=МУМНОЖ(C1:F1;A1:A4)  
Михайл, следите за массивами, первый должен быть горизонтальный, второй вертикальный - особенность функции МУМНОЖ (тожнее порядок расчета в ней){/post}{/quote}понял
Страницы: 1
Читают тему
Наверх