Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Требование к суммируемому диапазону в СУММПРОИЗВ() - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Требование к суммируемому диапазону в СУММПРОИЗВ() (Формулы/Formulas)
Требование к суммируемому диапазону в СУММПРОИЗВ()
nikitan95 Дата: Понедельник, 21.05.2018, 21:43 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 410
Репутация: 0 ±
Замечаний: 0% ±

2016
Здравствуйте!
Случайно обнаружил, что если суммируемый диапазон (БД!E2:L2) в СУММПРОИЗВ() не совпадает с диапазоном умножаемых диапазонов, то выдает #Н/Д. Как это обойти? Заранее благодарствую за помощь.
К сообщению приложен файл: 1567610.xlsx (19.9 Kb)
 
Ответить
СообщениеЗдравствуйте!
Случайно обнаружил, что если суммируемый диапазон (БД!E2:L2) в СУММПРОИЗВ() не совпадает с диапазоном умножаемых диапазонов, то выдает #Н/Д. Как это обойти? Заранее благодарствую за помощь.

Автор - nikitan95
Дата добавления - 21.05.2018 в 21:43
_Boroda_ Дата: Понедельник, 21.05.2018, 21:53 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Это не нужно обходить, этого нужно не допускать. Зачем такое извращение?
Ну, если уж очень хочется, то формула массива
Код
=СУММ(ЕСЛИОШИБКА((E2=_ri)*(H2=_year)*БД!E$2:L$9;))
К сообщению приложен файл: 1567610_1.xlsx (20.3 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЭто не нужно обходить, этого нужно не допускать. Зачем такое извращение?
Ну, если уж очень хочется, то формула массива
Код
=СУММ(ЕСЛИОШИБКА((E2=_ri)*(H2=_year)*БД!E$2:L$9;))

Автор - _Boroda_
Дата добавления - 21.05.2018 в 21:53
nikitan95 Дата: Понедельник, 21.05.2018, 22:00 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 410
Репутация: 0 ±
Замечаний: 0% ±

2016
_Boroda_, а если строк свыше 10 тысяч, формула массива не будет наседать на скорость?
 
Ответить
Сообщение_Boroda_, а если строк свыше 10 тысяч, формула массива не будет наседать на скорость?

Автор - nikitan95
Дата добавления - 21.05.2018 в 22:00
nikitan95 Дата: Понедельник, 21.05.2018, 22:06 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 410
Репутация: 0 ±
Замечаний: 0% ±

2016
А если записать то же самое как:
Код
=ЕСНД(СУММПРОИЗВ((E2=_ri)*(H2=_year)*БД!E$2:L$9);0)

?
Извините, что не смог в тегах, через трубку пишу, не получается с трубки в тегах

*Теги поправил - причина уважительная.
Борода


Сообщение отредактировал _Boroda_ - Понедельник, 21.05.2018, 22:08
 
Ответить
СообщениеА если записать то же самое как:
Код
=ЕСНД(СУММПРОИЗВ((E2=_ri)*(H2=_year)*БД!E$2:L$9);0)

?
Извините, что не смог в тегах, через трубку пишу, не получается с трубки в тегах

*Теги поправил - причина уважительная.
Борода

Автор - nikitan95
Дата добавления - 21.05.2018 в 22:06
_Boroda_ Дата: Понедельник, 21.05.2018, 22:14 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
формула массива не будет наседать на скорость?

Массивная формула или немассивная - вообще на скорость не влияет. Важно то, что внутри формулы
=ЕСНД(СУММПРОИЗВ((E2=_ri)*(H2=_year)*БД!E$2:L$9);0)

У меня 2016 Excel-я нет, поэтому и функции ЕСНД тоже нет, но и без этого скажу, что так работать не будет
То, что внутри СУММПРОИЗВ - это массив, в нем мы можем играться со всякими ЕСЛИ. Все равно результатом получится массив. А вот после отработки СУММПРОИЗВ из массива получится одно число (или ошибка). Это функция агрегирования, такая, как СУММ, СЧЁТ, НАИМЕНЬШИЙ, МАКС, ... И если мы дальше к этому ОДНОМУ!!! числу применим обработчик ошибок (в Вашем случае ЕСНД), то это нам ничего не даст. Обработчик ошибок нужно применять до агрегирования значений


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
формула массива не будет наседать на скорость?

Массивная формула или немассивная - вообще на скорость не влияет. Важно то, что внутри формулы
=ЕСНД(СУММПРОИЗВ((E2=_ri)*(H2=_year)*БД!E$2:L$9);0)

У меня 2016 Excel-я нет, поэтому и функции ЕСНД тоже нет, но и без этого скажу, что так работать не будет
То, что внутри СУММПРОИЗВ - это массив, в нем мы можем играться со всякими ЕСЛИ. Все равно результатом получится массив. А вот после отработки СУММПРОИЗВ из массива получится одно число (или ошибка). Это функция агрегирования, такая, как СУММ, СЧЁТ, НАИМЕНЬШИЙ, МАКС, ... И если мы дальше к этому ОДНОМУ!!! числу применим обработчик ошибок (в Вашем случае ЕСНД), то это нам ничего не даст. Обработчик ошибок нужно применять до агрегирования значений

Автор - _Boroda_
Дата добавления - 21.05.2018 в 22:14
nikitan95 Дата: Понедельник, 21.05.2018, 22:25 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 410
Репутация: 0 ±
Замечаний: 0% ±

2016
_Boroda_, увы, правда за вами. ЕСНД() работает криво с ошибками. Спасибо за подробное разъяснение и правку тега и за верное решение.
 
Ответить
Сообщение_Boroda_, увы, правда за вами. ЕСНД() работает криво с ошибками. Спасибо за подробное разъяснение и правку тега и за верное решение.

Автор - nikitan95
Дата добавления - 21.05.2018 в 22:25
nikitan95 Дата: Вторник, 22.05.2018, 01:07 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 410
Репутация: 0 ±
Замечаний: 0% ±

2016
_Boroda_, ваша формула работает только с числовыми значениями. В вашем же варианте если в столбце F или G выбрать последнее значение из списка (191010201) то результат выдает нулевой. А у меня в списке еще похуже есть, типа 740206-2508. Как заставить СУММПРОИЗВ() дружить с текстовыми значениями? Я кое как смог, но формулы в столбцах C и D "забунтовали".(
 
Ответить
Сообщение_Boroda_, ваша формула работает только с числовыми значениями. В вашем же варианте если в столбце F или G выбрать последнее значение из списка (191010201) то результат выдает нулевой. А у меня в списке еще похуже есть, типа 740206-2508. Как заставить СУММПРОИЗВ() дружить с текстовыми значениями? Я кое как смог, но формулы в столбцах C и D "забунтовали".(

Автор - nikitan95
Дата добавления - 22.05.2018 в 01:07
nikitan95 Дата: Вторник, 22.05.2018, 13:01 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 410
Репутация: 0 ±
Замечаний: 0% ±

2016
Может есть другие идеи на сей счет?
 
Ответить
СообщениеМожет есть другие идеи на сей счет?

Автор - nikitan95
Дата добавления - 22.05.2018 в 13:01
_Boroda_ Дата: Вторник, 22.05.2018, 13:06 | Сообщение № 9
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Не совсем ясен вопрос. Покажите на примере


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеНе совсем ясен вопрос. Покажите на примере

Автор - _Boroda_
Дата добавления - 22.05.2018 в 13:06
nikitan95 Дата: Вторник, 22.05.2018, 13:55 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 410
Репутация: 0 ±
Замечаний: 0% ±

2016
Сейчас не у компа. Как буду, выложу. Вообще-то, суть я изложил в сообщении 7
 
Ответить
СообщениеСейчас не у компа. Как буду, выложу. Вообще-то, суть я изложил в сообщении 7

Автор - nikitan95
Дата добавления - 22.05.2018 в 13:55
_Boroda_ Дата: Вторник, 22.05.2018, 14:33 | Сообщение № 11
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
если в столбце F или G выбрать последнее значение из списка (191010201) то результат выдает нулевой

А Вы как хотели? Вы что в формуле попросили написать? И у Вас в формуле в первом файле что написано?
Диапазон _ri равен
Код
=БД!$B$2:$B$10

а формула
Код
=СУММПРОИЗВ((E2=_ri)*(H2=_year)*БД!$E$2:$L$9)

Диапазон _ri до строки 10, а даипазон БД!$E$2:$L$9 до строки 9. Я Вас понял так, что Вам зачем-то нужно не считать последнюю строку. Если таки нужно, то просто напишите БД!$E$2:$L$10
Код
=СУММПРОИЗВ((E2=_ri)*(H2=_year)*БД!E$2:L$10)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
если в столбце F или G выбрать последнее значение из списка (191010201) то результат выдает нулевой

А Вы как хотели? Вы что в формуле попросили написать? И у Вас в формуле в первом файле что написано?
Диапазон _ri равен
Код
=БД!$B$2:$B$10

а формула
Код
=СУММПРОИЗВ((E2=_ri)*(H2=_year)*БД!$E$2:$L$9)

Диапазон _ri до строки 10, а даипазон БД!$E$2:$L$9 до строки 9. Я Вас понял так, что Вам зачем-то нужно не считать последнюю строку. Если таки нужно, то просто напишите БД!$E$2:$L$10
Код
=СУММПРОИЗВ((E2=_ri)*(H2=_year)*БД!E$2:L$10)

Автор - _Boroda_
Дата добавления - 22.05.2018 в 14:33
nikitan95 Дата: Вторник, 22.05.2018, 18:27 | Сообщение № 12
Группа: Проверенные
Ранг: Обитатель
Сообщений: 410
Репутация: 0 ±
Замечаний: 0% ±

2016
_Boroda_, мои искренние извинения. Из-за бессонницы скорее всего пропустил основные мелочи. Спасибо.
 
Ответить
Сообщение_Boroda_, мои искренние извинения. Из-за бессонницы скорее всего пропустил основные мелочи. Спасибо.

Автор - nikitan95
Дата добавления - 22.05.2018 в 18:27
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Требование к суммируемому диапазону в СУММПРОИЗВ() (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!