|
|
|
двссыл и суммпроизв
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Пытаюсь обойти формулы Excel 2007 SUMIFS "=_xlfn.SUMIFS(ДВССЫЛ($C$21);Sales_Per;B27;Product;$C$19;Period;$C$20)" путем замены на СУММПРОИЗВ =СУММПРОИЗВ((ДВССЫЛ($C$21);(Sales_Per=B27);(Product=$C$19);(Period=$C$20)) но в итоге выдается "-" Подскажите, что делается неправильно. Файл с примером во вложении ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2010, 14:24 |
|
||
|
двссыл и суммпроизв
|
|||
|---|---|---|---|
|
#18+
Olga.V.S, НЕт 2007 Экселя, но предположу, что нужно попробовать по другому сконструировать формулу =СУММПРОИЗВ((Sales_Per=B27)*(Product=$C$19)*(Period=$C$20)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2010, 15:28 |
|
||
|
двссыл и суммпроизв
|
|||
|---|---|---|---|
|
#18+
Сергей06, в формуле нужна ссылка на ячейку C21, без нее теряется смысл использования таблицы. и сторонний вопрос, какой Excel в MOffice 2007? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2010, 15:44 |
|
||
|
двссыл и суммпроизв
|
|||
|---|---|---|---|
|
#18+
Olga.V.S, С помощью СУММПРОИЗВ Вы пытаетесь умножить Total_sales (число) и Sales_Per (строка), а функция СУММПРОИЗВ трактует нечисловые элементы как нулевые. Поэтому получаете 0 (или в вашем числовом формате "-"). Почему не нравится СУММЕСЛИМН? Она здесь отлично подходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2010, 18:30 |
|
||
|
двссыл и суммпроизв
|
|||
|---|---|---|---|
|
#18+
Именованные диапазоны заданы с первой строки - а это шапка. Поменяйте начало диапазонов и формула такого вида сработает: СУММПРОИЗВ(ДВССЫЛ($C$21)*(Sales_Per=$B24)*(Product=$C$19)*(Period=$C$20)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2010, 08:41 |
|
||
|
двссыл и суммпроизв
|
|||
|---|---|---|---|
|
#18+
Почему так? В Вашем решении две ошибки. На первую указал Сергей06. Вам нужна формула, которая суммирует значения в строках, для которых выполняются все условия. А СУММПРОИЗВ в обычном виде, какую Вы применили, просто суммирует произведения массивов. =СУММПРОИЗВ((условие1)*(условие2)*диапазон) - при выполнении двух условий: 1*1*значение_диапазона=значение_диапазона, при невыполнении хотя бы одного из условий (или если значение_диапазона=0): 1*0*значение_диапазона=0. В итоге функция суммирует нули и полученные значения_диапазона. Вторая ошибка – наличие текста в массиве числовых данных. И если для условия это никакой роли не играет (функции «по барабану», что с чем сравнивать, она просто покажет ЛОЖЬ или ИСТИНА), то для диапазона, из которого должны отбираться значения_диапазона, это критично. СУММПРОИЗВ в таком случае не знает, что делать. Именно поэтому именованный диапазон столбца I вносит ошибку (первая ячейка этого диапазона – текст «шапки»). Будет неправильно, если убрать первую ячейку только из этого именованного диапазона – для СУММПРОИЗВ размерность всех диапазонов должна быть одинакова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2010, 09:49 |
|
||
|
двссыл и суммпроизв
|
|||
|---|---|---|---|
|
#18+
Небольшое дополнение. Значительно облегчить расчеты можно заменой СУММПРОИЗВ на более легкие функции. На листе Data в свободный столбец (например, К) внести формулу: =(C2='CH1'!$B$24)*(B2='CH1'!$C$19)*(A2='CH1'!$C$20) Формула на листе СН1: =СУММЕСЛИ(Data!$K$2:$K$141;1;ДВССЫЛ($C$21)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2010, 10:10 |
|
||
|
|

start [/forum/topic.php?fid=61&fpage=166&tid=2178321]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 349ms |

| 0 / 0 |
