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

Вход

Регистрация

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

 

= Мир MS Excel/Сумма неповторяющихся значений по условию - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Сумма неповторяющихся значений по условию
Мурад Дата: Четверг, 19.02.2015, 14:22 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 513
Репутация: 18 ±
Замечаний: 0% ±

Excel 2007
Добрый день! Во вложении упрощенная задача, целью которой является суммирование договоров, относящихся к разным статьям расходов. Таблица будет регулярно прирастать снизу, будут появляться новые буквы и значения. Набор цифр меняться не будет.
К сообщению приложен файл: 9018841.xlsx (9.7 Kb)


Сообщение отредактировал Мурад - Четверг, 19.02.2015, 14:23
 
Ответить
СообщениеДобрый день! Во вложении упрощенная задача, целью которой является суммирование договоров, относящихся к разным статьям расходов. Таблица будет регулярно прирастать снизу, будут появляться новые буквы и значения. Набор цифр меняться не будет.

Автор - Мурад
Дата добавления - 19.02.2015 в 14:22
Pelena Дата: Четверг, 19.02.2015, 14:55 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19520
Репутация: 4633 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
Вариант с доп. столбцом

UPD. Если строк много, то такая формула для доп. столбца будет быстрее
Код
=ЕСЛИ(СЧЁТЕСЛИМН($C$2:C2;C2;$A$2:A2;A2;$B$2:B2;B2)=1;B2;0)
К сообщению приложен файл: 4059627.xlsx (11.4 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Вариант с доп. столбцом

UPD. Если строк много, то такая формула для доп. столбца будет быстрее
Код
=ЕСЛИ(СЧЁТЕСЛИМН($C$2:C2;C2;$A$2:A2;A2;$B$2:B2;B2)=1;B2;0)

Автор - Pelena
Дата добавления - 19.02.2015 в 14:55
_Boroda_ Дата: Четверг, 19.02.2015, 17:00 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16910
Репутация: 6615 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Вариант без доп. столбцов
Код
=СУММПРОИЗВ((ПОИСКПОЗ(A$2:A$99&B$2:B$99&C$2:C$99;A$2:A$99&B$2:B$99&C$2:C$99;)=СТРОКА(A$1:A$98))*(C$2:C$99=C2)*B$2:B$99)
К сообщению приложен файл: 9018841_1.xlsx (11.2 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВариант без доп. столбцов
Код
=СУММПРОИЗВ((ПОИСКПОЗ(A$2:A$99&B$2:B$99&C$2:C$99;A$2:A$99&B$2:B$99&C$2:C$99;)=СТРОКА(A$1:A$98))*(C$2:C$99=C2)*B$2:B$99)

Автор - _Boroda_
Дата добавления - 19.02.2015 в 17:00
Мурад Дата: Четверг, 19.02.2015, 17:39 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 513
Репутация: 18 ±
Замечаний: 0% ±

Excel 2007
Ну как тебе это удается? :)
 
Ответить
СообщениеНу как тебе это удается? :)

Автор - Мурад
Дата добавления - 19.02.2015 в 17:39
Мурад Дата: Пятница, 20.02.2015, 10:05 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 513
Репутация: 18 ±
Замечаний: 0% ±

Excel 2007
Сегодня опробовал формулу, Саша, на 10 тыс. строк. 4 процессора считают уже 10 минут :) Зависло все, пришлось перезапускать.
Процессор 3,2 Ггц, 4 гига оперативки. Пелена, Ваш вариант действительно быстрее, время расчета 10 тыс. строк составило не более 5 сек. Хоть общую сумму по цифре и можно получить только на втором шаге, буду использовать сводную таблицу и суммировать.


Сообщение отредактировал Мурад - Пятница, 20.02.2015, 10:17
 
Ответить
СообщениеСегодня опробовал формулу, Саша, на 10 тыс. строк. 4 процессора считают уже 10 минут :) Зависло все, пришлось перезапускать.
Процессор 3,2 Ггц, 4 гига оперативки. Пелена, Ваш вариант действительно быстрее, время расчета 10 тыс. строк составило не более 5 сек. Хоть общую сумму по цифре и можно получить только на втором шаге, буду использовать сводную таблицу и суммировать.

Автор - Мурад
Дата добавления - 20.02.2015 в 10:05
_Boroda_ Дата: Пятница, 20.02.2015, 10:17 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 16910
Репутация: 6615 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Все правильно, так и должно быть. Формулы массива хороши для небольших таблиц или для супермощных машин. Для больших таблиц лучше использовать дополнительные поля.
У нас фактически не формула массива (ввод не Контрл Шифт Ентер), но по сути - это все равно сцепление 3-х массивов, поиск каждого полученного в каждом, потом еще сравнение, перемножение 3-х массивов и сложение всего полученного - очень энергозатратная формула.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВсе правильно, так и должно быть. Формулы массива хороши для небольших таблиц или для супермощных машин. Для больших таблиц лучше использовать дополнительные поля.
У нас фактически не формула массива (ввод не Контрл Шифт Ентер), но по сути - это все равно сцепление 3-х массивов, поиск каждого полученного в каждом, потом еще сравнение, перемножение 3-х массивов и сложение всего полученного - очень энергозатратная формула.

Автор - _Boroda_
Дата добавления - 20.02.2015 в 10:17
Мурад Дата: Пятница, 20.02.2015, 10:19 | Сообщение № 7
Группа: Проверенные
Ранг: Ветеран
Сообщений: 513
Репутация: 18 ±
Замечаний: 0% ±

Excel 2007
Саша, твой способ сразу дает необходимые результат. Я думал, что современные машины (рабочие офисные ПК :) ) считают все моментально, что эпоха 486х и Пентиумов II далеко позади :D
 
Ответить
СообщениеСаша, твой способ сразу дает необходимые результат. Я думал, что современные машины (рабочие офисные ПК :) ) считают все моментально, что эпоха 486х и Пентиумов II далеко позади :D

Автор - Мурад
Дата добавления - 20.02.2015 в 10:19
  • Страница 1 из 1
  • 1
Поиск:

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