|
Суммирование диапазона по условиям и в колонке и в строке
|
|||
---|---|---|---|
#18+
Можно такую задачу решить формулами, а не макросом? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2014, 02:16 |
|
Суммирование диапазона по условиям и в колонке и в строке
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2014, 11:40 |
|
Суммирование диапазона по условиям и в колонке и в строке
|
|||
---|---|---|---|
#18+
Gena108, С промежуточным листом пойдет? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2014, 12:25 |
|
Суммирование диапазона по условиям и в колонке и в строке
|
|||
---|---|---|---|
#18+
lbppb, Не очень. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2014, 13:50 |
|
Суммирование диапазона по условиям и в колонке и в строке
|
|||
---|---|---|---|
#18+
Gena108, Такая формула: =СУММПРОИЗВ((--ПСТР(B$1;1;ПОИСК(" ";B$1)-1)='Данные Факт времени'!$B$9:$AE$9)*($A2='Данные Факт времени'!$A$11:$A$16)*('Данные Факт времени'!$B$11:$AE$16)) Если правильно понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2014, 16:44 |
|
Суммирование диапазона по условиям и в колонке и в строке
|
|||
---|---|---|---|
#18+
The_Prist, Не знал, что sumproduct умеет массивы разного размера перемножать. Учту на будущее. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2014, 17:01 |
|
Суммирование диапазона по условиям и в колонке и в строке
|
|||
---|---|---|---|
#18+
lbppbsumproduct умеет массивы разного размера перемножатьА она и не умеет, не обольщайтесь ;) Зато СУММПРОИЗВ умеет создавать виртуальные двумерные массивы (матрицы), что Дмитрий с блеском и продемонстрировал :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2014, 19:55 |
|
Суммирование диапазона по условиям и в колонке и в строке
|
|||
---|---|---|---|
#18+
Serge 007lbppbsumproduct умеет массивы разного размера перемножатьА она и не умеет, не обольщайтесь ;) Зато СУММПРОИЗВ умеет создавать виртуальные двумерные массивы (матрицы), что Дмитрий с блеском и продемонстрировал :) Тогда уточним, когда я беру два одномерных массива разного размера и умножаю через sumproduct, то по-вашему ничего не происходит? Тогда у меня наверное волшебный Excel или все-таки sumproduct умеет их перемножать? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2014, 21:08 |
|
Суммирование диапазона по условиям и в колонке и в строке
|
|||
---|---|---|---|
#18+
lbppb, Итак. Размер всегда имеет значение. СУММПРОИЗВ всегда работает с массивами. В случае с одномерными массивами - они перемножаются между собой. Если хоть один из них по размеру отличается - результат #Н/Д. Если в функцию передается двумерный массив и одномерные, то функция определяет, чтобы массивы вертикальные были равны по кол-ву элементов величине первой размерности двумерного массива, а массивы горизонтальные были равны второй размерности. Наглядно можно посмотреть, если в примере к данной теме слегка изменить мою формулу: =СУММПРОИЗВ((--ПСТР(B$1;1;ПОИСК(" ";B$1)-1)='Данные Факт времени'!$B$9:$AE$9)*($A2='Данные Факт времени'!$A$11:$A$16)*('Данные Факт времени'!$B$11:$AE$ 14 )) или =СУММПРОИЗВ((--ПСТР(B$1;1;ПОИСК(" ";B$1)-1)='Данные Факт времени'!$B$9:$AE$9)*($A2='Данные Факт времени'!$A$11:$A$16)*('Данные Факт времени'!$B$11:$ AF $15)) или =СУММПРОИЗВ((--ПСТР(B$1;1;ПОИСК(" ";B$1)-1)='Данные Факт времени'!$B$9:$ AD $9)*($A2='Данные Факт времени'!$A$11:$A$16)*('Данные Факт времени'!$B$11:$AE$16)) Т.к. массивы не совпадают - результат будет #Н/Д. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2014, 21:45 |
|
Суммирование диапазона по условиям и в колонке и в строке
|
|||
---|---|---|---|
#18+
The_Pristlbppb, Итак. Размер всегда имеет значение. СУММПРОИЗВ всегда работает с массивами. В случае с одномерными массивами - они перемножаются между собой. Если хоть один из них по размеру отличается - результат #Н/Д. Если в функцию передается двумерный массив и одномерные, то функция определяет, чтобы массивы вертикальные были равны по кол-ву элементов величине первой размерности двумерного массива, а массивы горизонтальные были равны второй размерности. Наглядно можно посмотреть, если в примере к данной теме слегка изменить мою формулу: =СУММПРОИЗВ((--ПСТР(B$1;1;ПОИСК(" ";B$1)-1)='Данные Факт времени'!$B$9:$AE$9)*($A2='Данные Факт времени'!$A$11:$A$16)*('Данные Факт времени'!$B$11:$AE$ 14 )) или =СУММПРОИЗВ((--ПСТР(B$1;1;ПОИСК(" ";B$1)-1)='Данные Факт времени'!$B$9:$AE$9)*($A2='Данные Факт времени'!$A$11:$A$16)*('Данные Факт времени'!$B$11:$ AF $15)) или =СУММПРОИЗВ((--ПСТР(B$1;1;ПОИСК(" ";B$1)-1)='Данные Факт времени'!$B$9:$ AD $9)*($A2='Данные Факт времени'!$A$11:$A$16)*('Данные Факт времени'!$B$11:$AE$16)) Т.к. массивы не совпадают - результат будет #Н/Д. Мне все это было понятно еще несколько часов назад. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2014, 21:47 |
|
Суммирование диапазона по условиям и в колонке и в строке
|
|||
---|---|---|---|
#18+
lbppbберу два одномерных массива разного размера и умножаю через sumproduct, то по-вашему ничего не происходит?Конечно происходит. Но совсем не то что Вы думаете :) Попробуйте две формулы и Вам станет все понятно :) 1. Код: vbnet 1.
эта формула вернёт значение ошибки, так как перемножаются два массива разной размерности (это к Вашему вопросу) 2. Код: vbnet 1.
получаем двумерный массив из трех строк и двух столбцов (наподобие МУМНОЖ) lbppbу меня волшебный ExcelExcel у Вас обычный :) lbppbsumproduct умеет их перемножать?Я уже ответил выше - нет, не умеет. Но умеет создавать матрицы ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2014, 21:47 |
|
Суммирование диапазона по условиям и в колонке и в строке
|
|||
---|---|---|---|
#18+
Serge 007lbppbберу два одномерных массива разного размера и умножаю через sumproduct, то по-вашему ничего не происходит? Попробуйте две формулы и Вам станет все понятно :) 1. Код: vbnet 1.
эта формула вернёт значение ошибки, так как перемножаются два массива разной размерности (это к Вашему вопросу) 2. Код: vbnet 1.
получаем двумерный массив из трех строк и двух столбцов (наподобие МУМНОЖ) lbppbу меня волшебный ExcelExcel у Вас обычный :) lbppbsumproduct умеет их перемножать?Я уже ответил выше - нет, не умеет. Но умеет создавать матрицы Даже странно, что вы мне пытаетесь доказать или разъяснить то, что я уже выяснил несколько часов назад, в то время как не замечаете очевидного. Массивы формула перемножает, с определенными условиями, но перемножает. Все это разве что ТС будет полезно знать, но вот что-то мне подсказывает, что он не будет в это вникать. Давайте перестанем разводить демагогию. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2014, 21:55 |
|
Суммирование диапазона по условиям и в колонке и в строке
|
|||
---|---|---|---|
#18+
авторМне все это было понятно еще несколько часов назад. Странно...Я ведь как раз пояснил свое решение в ответ на фразу: авторНе знал, что sumproduct умеет массивы разного размера перемножать Разные размерности массивов допускаются только при наличии двумерного массива и с определенными условиями, озвученными мной выше. Т.е. по сути не умеет СУММПРОИЗВ перемножать массивы разного размера - в пределах своего направления массивы должны быть равны. Либо я фразу понял не в том смысле, который Вы в неё закладывали. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2014, 22:02 |
|
Суммирование диапазона по условиям и в колонке и в строке
|
|||
---|---|---|---|
#18+
The_Prist авторМне все это было понятно еще несколько часов назад. Странно...Я ведь как раз пояснил свое решение в ответ на фразу: авторНе знал, что sumproduct умеет массивы разного размера перемножать Разные размерности массивов допускаются только при наличии двумерного массива и с определенными условиями, озвученными мной выше. Т.е. по сути не умеет СУММПРОИЗВ перемножать массивы разного размера - в пределах своего направления массивы должны быть равны. Либо я фразу понял не в том смысле, который Вы в неё закладывали. Хорошо, тогда какая терминология должна быть применима вот к этому? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2014, 22:08 |
|
Суммирование диапазона по условиям и в колонке и в строке
|
|||
---|---|---|---|
#18+
lbppbкакая терминология должна быть применима вот к этому?Я уже отвечал: Serge 007 Код: vbnet 1.
получаем двумерный массив из трех строк и двух столбцов (наподобие МУМНОЖ) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2014, 22:15 |
|
Суммирование диапазона по условиям и в колонке и в строке
|
|||
---|---|---|---|
#18+
lbppbстранно, что вы мне пытаетесь доказать или разъяснить то, что я уже выяснил несколько часов назадДействительно, чего это лезу? Больше не буду - всего хорошего ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2014, 22:31 |
|
Суммирование диапазона по условиям и в колонке и в строке
|
|||
---|---|---|---|
#18+
Спасибо большое. p.s. перед вопросом, я пробовал СУММПРОИЗВ, не получилось. Скорее всего из-за того что я диапазон суммирования "захватывал" с текстовым полем. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2014, 22:52 |
|
Суммирование диапазона по условиям и в колонке и в строке
|
|||
---|---|---|---|
#18+
Serge 007lbppbкакая терминология должна быть применима вот к этому?Я уже отвечал: Serge 007 Код: vbnet 1.
получаем двумерный массив из трех строк и двух столбцов (наподобие МУМНОЖ) Жаль, что вы такой обидчивый. Операция получения результирующего двумерного массива называется умножением, не самый лучший источник , да и не матрицы это, но все же принцип тот же. Т.е. все это действие - произведение двух одномерных массивов, один из которых имеет размер 1xN (или Nx1), а другой Kx1 (или 1xK соответственно), где N и K - натуральные числа отличные от нуля. Результирующий массив имеет размер NxK (или KxN) и следовательно терминология о произведении массивов вполне применима в примере, который я выложил ранее. И моя первоначальная фраза (с определенными оговорками, которые вы и The_Prist предоставили с лихвой) верна: lbppbsumproduct умеет массивы разного размера перемножать Вам, как видимо, очень захотелось блестнуть знаниями о sumproduct, вы решили, не могу сказать иначе, до@@@@@ься до моей фразы, с целью показать мою полную и жуткую некомпетентность как в sumproduct, массивах и матрицах, так и в Excel в целом. Но я и не претендую на формулировки в своих постах, которые можно было бы в учебниках печатать, ну или в диссертациях на край. Почитайте , и не примите за оскорбление. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2014, 23:13 |
|
Суммирование диапазона по условиям и в колонке и в строке
|
|||
---|---|---|---|
#18+
авторХорошо, тогда какая терминология должна быть применима вот к этому? Терминология проста: я основывался не на всех возможностях и особенностях СУММПРОИЗВ, а на конкретном примере, приложенном к теме. И я уже писал: в пределах своего направления массивы должны быть равны. По сути Вы правы - СУММПРОИЗВ может перемножать массивы разных размеров, но с одним условием: массивы должны быть и разных направлений. Вы в своем примере перемножаете массивы разнонаправленные(т.е. один вертикальный, другой горизонтальный) и СУММПРОИЗВ автоматом пытается перемножить их с использованием виртуального двумерного массива. И перемножает. Поэтому ошибки не возникает. Т.е. очень большое влияние имеет еще и направление массива(т.е. будет ли он (1хN,1x01) или (1x01,1хN)). Легко убедиться, если попробовать перемножить два горизонтальных или два вертикальных массива разного размера. Получите ошибку. Тоже самое будет, если хоть один из массивов одного направления отличается размером. Это мы все и так знаем и именно из-за этого весь сыр-бор. Хотя я честно признался, что возможно не так понял Ваше высказывание и это так и оказалось. Я зациклился именно на однонаправленных массивах и упустил сам факт того, что Вы говорите про очевидные для меня вещи - можно перемножить массивы разной размерности при условии их разной направленности. Но однако не могу не уточнить, что при попытке сделать так, как того требует синтаксис функции: =СУММПРОИЗВ(A2:A5;C2:E2) получим ошибку. СУММПРОИЗВ просто внутри себя проводит определенные вычисления для преобразования аргументов в массив для перемножения. Что и расширяет её функционал и дает свободу творчества :-) И не увидел я лично в своих высказываниях попыток докопаться до Вашей фразы. Я лишь написал, что возможно не так её понял. И тем более не нашел даже намека на сомнения в Ваших знаниях по части Excel. Сугубо личное мнение, но я всегда считал, если высказываюсь на форуме, то рассчитываю на то, что остальные участники форума воспримут смысл фразы так же, как и я. Если тема меня интересует и я вижу, что не смог донести нужный смысл фразой или меня просто не понимают/не хотят понять - я стараюсь пояснить иначе, но никак не перехожу на высказывания в адрес других, что они решили тут поблистать на моем фоне. Блеснуть знаниями на Вашем фоне лично я не планировал и не имею такой привычки - то о чем я написал не тайна великая есть. Все мы чего-то не знаем. Я дал решение не Вам, а ТС. И попытался дать пояснение про разные размеры массивов. Своим последним постом Вы заставили меня вспомнить поговорку: "Не делай добра, не получишь зла" :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2014, 00:23 |
|
Суммирование диапазона по условиям и в колонке и в строке
|
|||
---|---|---|---|
#18+
The_Prist, Я вас поблагодарил, хотя о помощи просил не я. И к вам претензий не предявлял. И за последний ваш пост тоже спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2014, 01:38 |
|
Суммирование диапазона по условиям и в колонке и в строке
|
|||
---|---|---|---|
#18+
lbppbВам, как видимо, очень захотелось блестнуть знаниями о sumproductНу да, а как же. Мечта всей моей жизни - это до@@@@@ься до фразы lbppb и блеснуть тем что и так почти все знают. Мечта сбылась, теперь у меня нет смысла в жизни :) ЗЫ " Блеснуть " - от слова " блеск ", без буквы " т "; обращение " Вы ", по отношению к одному человеку, пишется с большой буквы ЗЫЗЫ Остальное объяснил The_Prist ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2014, 11:21 |
|
|
start [/forum/search_topic.php?author=kroliki2013&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
others: | 439ms |
total: | 596ms |
0 / 0 |