Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: Пред. 1 2 3 След.
RSS
Как ускорить эксель?, задействовать всю производительность компьютера для работы Эксель
 
Цитата
Zasypich написал:
одна из формул ссылалась в цикле на себя.
Интересно,  или там, или там должно было показать что есть циклическая ссылка.

Цитата
Zasypich написал:
Комп - неттоп.
- ну это путаница в терминах. С момента появления такого оборудования все миниатюрное приписывают к нему. вот например такая коробочка много что сможет.
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
Интересно,  или там, или там должно было показать что есть циклическая ссылка.
https://drive.google.com/file/d/19X47k87uT_Uq2FHJA65lUb7A8LFW3mBD/view?usp=sharing

Циклических ссылок нет, просто в столбце CI дюже тяжелая формула. Много просмотров массива.
Она комп вешает наглухо.

Иногда возникают ситуации, где такие формулы нужны.
Вопрос, что из железок не вытягивает такие рассчёты?
Изменено: Zasypich - 10 авг 2020 13:32:30
 
Разбираться нужно с формулами, а не с железом. В формуле столбца CI трижды встречается вызов выражения
Код
СУММЕСЛИМН(CH:CH;BY:BY;"="&A4)

(приведено для 4 строки).

Напишите в DD4
Код
=СУММЕСЛИМН(CH:CH;BY:BY;"="&A4)

и протяните на несколько ячеек вниз.
Владимир
 
Zasypich, и формула не тяжелая, и массивов там нет. Другое дело что вызывается расчет более ста тысяч раз. Даже сократив несколько формулу сильно не повлияет
=IF(CH4<=0;0;IF(ABS(SUMIF(BY:BY;A4;CH:CH)-CF4/2)<CF4/2;CF4*CH4/SUMIF(BY:BY;A4;CH:CH);CH4))

Но есть вопрос.
В BY только 0 и 1 а в A от 1 до ..... Внимание , вопрос и что мы там cуvмируем?
Изменено: БМВ - 10 авг 2020 14:25:14
По вопросам из тем форума, личку не читаю.
 
СУММЕСЛИМН неповоротлива. Указывая в качестве диапазонов целые столбцы, создаете себе проблемы
 
Цитата
vikttur написал:
СУММЕСЛИМН неповоротлива.
Вить, я для краткости заменил, но реально при тех же условиях скорость не ниже чем у старушки. При этом обе, в отличии от COUNTIFS даже при нескольких условиях работают без замедления при выборе всего столбца. Проверял лично.
Тут пример хороший
Изменено: БМВ - 10 авг 2020 15:58:38
По вопросам из тем форума, личку не читаю.
 
Добрый день, коллеги! См. "Alternatively, use whole column and row references". Написано про SUMIF, но и к SUMIFS тоже относится (проверял). Кроме того, по информации разработчика эти функции "в разы" ускорены в последних версиях (365?).
Владимир
 
sokol92,  Владимир, приветсвую. У меня 2016, но и на 2013 проверял и на своем примере и на том что по ссылке. только COUNTIFS грешит и то только если два и более условий.
По вопросам из тем форума, личку не читаю.
 
Добрый день, Михаил! Я имел в виду (цитата)

Цитата
In Office 365 version 2005 monthly channel and later, Excel's SUMIFS,  AVERAGEIFS, COUNTIFS, MAXIFS, and MINIFS as well as their singular  counterparts SUMIF, AVERAGEIF, and COUNTIF are much faster than Excel  2010 aggregating string data in the spreadsheet. These functions now  create an internal cached index for the range being searched in each  expression. This cached index is reused in any subsequent aggregations  that are pulling from the same range.

The effect is dramatic: For example calculating 1200 SUMIFS,  AVERAGEIFS, and COUNTIFS formulas aggregating data from 1 million cells  on a 4 core 2 GHz CPU that took 20 seconds to calculate using Excel  2010, now takes 8 seconds only, on Excel M365 2006.

В Excel 2019 не проверял.

Владимир
 
Цитата
БМВ написал: Но есть вопрос.В BY только 0 и 1 а в A от 1 до ..... Внимание , вопрос и что мы там cуvмируем?
Пока обезличивал файл поломал немножко. Должно быть примерно так:
Код
=СУММЕСЛИМН(CH:CH;BZ:ZY;"="&B4) 
Суммируются повторы артикулов
Вынес это выражение в отдельный столбец. Сильно не помогло.
Проблема в том, что всё. что до формул ежедневно обновляемые данные. Пробовал накрутить умную таблицу, но она не ворочается.

Цитата
vikttur написал: СУММЕСЛИМН неповоротлива
Сделал уже вместо столбца диапазон, но он всёравно 120-140 тысяч строк. Особо не помогло
 
Цитата
Zasypich написал: СУММЕСЛИМН неповоротлива.... Сделал уже вместо столбца диапазон.. Особо не помогло
Я ж выше писал, что тут уже становится более важно сколько раз считаем. Тут только выходить на промежуточные таблицы,
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал: промежуточные таблицы
Промежуточные таблицы? Это как? ВПР-ить потом из них?

Цитата
sokol92 написал: Напишите в DD4 =СУММЕСЛИМН(CH:CH;BY:BY;"="&A4)
Подобные расчёты мне надо делать по разным показателям (высчитывать что-то суммарное по повторяющимся признакам либо искать второе значение. зная первое).
Отдельный столбец с этим куском делал. Сильно быстрее не стало :(
 
Цитата
Zasypich написал:
=СУММЕСЛИМН(CH:CH;BZ:ZY;"="&B4) - Суммируются повторы артикулов
Их много?
По вопросам из тем форума, личку не читаю.
 
28 тысяч пар
 
ну уже это можно в отдельную таблицу перекинуть, при этом, прям сводной, а уже из нее брать.
По вопросам из тем форума, личку не читаю.
 
придётся 2 отдельных файла вести тогда - на парные артикула и на непарные.
каждый день количество парных разное
 
Цитата
Zasypich написал:
Проблема в том, что всё. что до формул ежедневно обновляемые данные.
А как именно обновляются данные? Добавляются в конец предыдущего массива или формируются заново?
Если данные обновляются один раз в день, то формулы можно сразу поменять на значения (или сформировать значения макросом).
Владимир
 
Зачем? сводная просуммирует то что у вас в этой формуле и получите набор уникальных с суммой. От туда брать.
По вопросам из тем форума, личку не читаю.
 
Цитата
sokol92 написал: А как именно обновляются данные? Д
Ребята кидают csv-ник из базы данных и я его втыкаю в область данных. Целиком заменяю то, что было. Пока так и делаю - прогружаю формулы по одному столбцу и пересохраняю в значения

Цитата
Зачем? сводная просуммирует то что у вас в этой формуле и получите набор уникальных с суммой.
Сводная тоже скрипит на таких объёмах :(
 
Замена формул на значения (через специальную вставку значений) в целом по листу из примера #32 у меня заняло 3 секунды.
Выделяем A1, Ctrl+A, Ctrl+Ins, ПКМ специальная вставка значений, Esc.
Изменено: sokol92 - 11 авг 2020 14:01:20
Владимир
 
Цитата
sokol92 написал:
Выделяем A1, Ctrl+A, Ctrl+Ins, ПКМ специальная вставка значений, Esc.
Прежде чем заменить на значения, надо формулы обсчитать, а если это зарядить сразу на всех - комп встанет часа на 2, если не навсегда
 
Цитата
Zasypich написал:
Сводная тоже скрипит на таких объёмах
с огромным трудом верю.
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
с огромным трудом верю
Привет, Михаил.
Сводная может использоваться нестандартным способом - для трансформации. И тогда там 100 тысяч строк, десяток другой столбцов, плюс хитрые вычисляемые объекты и поля. Вот и добро пожаловать в тормозную систему. Если пытаться гонять на курвиметре, то чего ожидать скорости :)
 
Цитата
БМВ написал:
с огромным трудом верю.
Вычисляемые поля сложнее формул и так же вешают комп
Ну и мне итоговые вычисления нужны построчно. Т.е. даже если я сверну пары, мне потом их как-то надо будет после вычислений развернуть
 
я вам говорю что нужно только это =СУММЕСЛИМН(CH:CH;BY:BY;"="&A4) в сводной сделать, то есть получить сумму CH по каждому BY - два столбца и у же в основной таблице получить эти значения не суммирую, а поиском.
По вопросам из тем форума, личку не читаю.
 
Спасибо. Так гораздо быстрее!
 
выше я показывал как  проверить значение между 0 и ... одним условием, что убирает один поиск - это тоже даст прирост, если уже не сделано.

Интересно на сколько быстрее после всех действий, в сравнении с исходным.
По вопросам из тем форума, личку не читаю.
 
21 минута против 8 секунд ;) (было 4 столбца с суммеслимн на разные поля)
Будет немного возни с обновлением, но, возможно, теперь и умную таблицу не грех попробовать накрутить, тогда вапще прекрасно
Долго осталось ставить и особенно снимать фильтры.
 
Цитата
Zasypich написал:
Так гораздо быстрее!
и  
Цитата
Zasypich написал:
21 минута против 8 секунд
ну если не учитывать обновление промежуточных таблиц то в 140 раз  :D
По вопросам из тем форума, личку не читаю.
 
Как бы теперь ещё тормоза при фильтрации автофильтром победить?
Проц не грузит, память тоже. Просто висит.
Страницы: Пред. 1 2 3 След.
Читают тему (гостей: 1)
Наверх