Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 11.08.2008, 23:26   #1
дмидми
Форумчанин
 
Аватар для дмидми
 
Регистрация: 06.03.2008
Сообщений: 352
Вопрос Можно ли оптимизировать формулу?

{=СУММ(RC197*RC179:RC195*Ч(СМЕЩ(Прай сы!RC3:RC147;0;R1793C179:R1793C195-1;1;1)))}

(В строке 1793 - числа от 1 до 145 или пустые ячейки.)

Всего-то полторы тысячи строк, а пересчитывается лист около 3 сек.
Колонок с такими формулами две. При попытке добавить еще пару колонок с аналогичными формулами окончания пересчёта не дождался
дмидми вне форума
Старый 12.08.2008, 00:20   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

вот это будет не одно и тоже?
Код:
{=СУММ(RC197*RC179:RC195*Ч(СМЕЩ(Прайсы!RC3;;R1793C179:R1793C195-1)))}
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 12.08.2008, 00:24   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

и не совсем представляю зачем надо Ч(от смещения) если там числа от 1 до 145 или пусто. Смещ() указывающее на пустую ячейку даст 0.
Пока писал понял - смещения берутся с Прайса((( Видимо, без Ч - никак.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 12.08.2008 в 00:26.
IgorGO вне форума
Старый 12.08.2008, 11:28   #4
дмидми
Форумчанин
 
Аватар для дмидми
 
Регистрация: 06.03.2008
Сообщений: 352
По умолчанию

Спасибо, формула стала компактнее.

Моя главная надежда - замена СМЕЩ на ИНДЕКС, поскольку все формулы со СМЕЩ пересчитываются при каждом вычислении листа независимо от того, изменились ли влияющие ячейки.

Ч() пришлось ставить потому, что при пустом номере прайса получаем смещение -1 и попадаем на текст (наименование товара).


(Добавлено.)
Наврал. Даже если нет пустых номеров прайсов (все в диапазоне 1...145), всё равно без Ч() получаем результат #ЗНАЧ!
Вот бы узнать - почему.

Последний раз редактировалось дмидми; 12.08.2008 в 11:35.
дмидми вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите оптимизировать процедуру Cold Went Компоненты Delphi 4 29.04.2008 15:11
Помогите оптимизировать! Altera Общие вопросы Delphi 6 25.03.2008 20:09
Оптимизировать код NeiL Помощь студентам 2 21.02.2008 08:57
помогите оптимизировать процедуру _XspeC_ Общие вопросы Delphi 12 08.04.2007 02:05
Помогите оптимизировать сайт Nadejda HTML и CSS 4 07.01.2007 21:04