=IF does 'short circuit' but for for speeding up performance I would suggest http://msdn.microsoft.com/en-us/library/office/aa730921%28v=office.12%29.aspx. Includes a macro for timing. =INDIRECT would appear to be worth attention.
Делает ли оператор Excel IF расчетный лист быстрее, чем использование IFERROR?
Мой сценарий состоит в том, что у меня есть таблица стилей «Dashboard», которая ищет данные из большой таблицы на основе ячейки в столбце B, который всегда слева от нее. Ячейка в столбце B содержит INDEX, MATCH, IF, формулу массива для извлечения уникальных имен из таблицы, в которой выбрана «Группа». Этот список заполняется вниз и заполняется на основе раскрывающегося списка различных вариантов «Группа». Может возвращать до 20 имен, основанных на «Группе».
У меня есть 17 ячеек с формулами справа, которые могут вернуть ошибку, если данных там нет. Так что я предшествовал им с IFERROR()
заявлением. Мой вопрос заключается в том, что если бы я поставил перед ними IF()
оператор, который ускорил бы вычисления, потому что оператор IF прочитал бы, если True, то дал бы пустое значение, если false, тогда вычислил бы формулу.
Логично, что мне так кажется, но я хотел знать, чувствует ли кто-то из вас то же самое. Благодарю. Возможно, это больше для мета-обсуждения.
ps Вот одна из 9 самых сложных формул, которые я использую.
=IFERROR((SUMIFS(INDIRECT("tblData["&N$7&" Top Box Num]"),INDIRECT("tblData["&$B$7&"]"),$B$16,INDIRECT("tblData[Date]"),">="&$C$5,INDIRECT("tblData[Date]"),"<="&$D$5))/(SUMIFS(INDIRECT("tblData["&N$7&" Den]"),INDIRECT("tblData["&$B$7&"]"),$B$16,INDIRECT("tblData[Date]"),">="&$C$5,INDIRECT("tblData[Date]"),"<="&$D$5)),"")
Является ли приведенная выше формула медленнее, чем приведенная ниже, когда она истинна?
=IF(OR($C$16=0,C16=""),"",(SUMIFS(INDIRECT("tblData["&N$7&" Top Box Num]"),INDIRECT("tblData["&$B$7&"]"),$B$16,INDIRECT("tblData[Date]"),">="&$C$5,INDIRECT("tblData[Date]"),"<="&$D$5))/(SUMIFS(INDIRECT("tblData["&N$7&" Den]"),INDIRECT("tblData["&$B$7&"]"),$B$16,INDIRECT("tblData[Date]"),">="&$C$5,INDIRECT("tblData[Date]"),"<="&$D$5)))
Формулы, по сути, складывают значения числителя и делят их на значения знаменателя, где условия выполняются из таблицы строк 20000, и возвращают процентную оценку.
1 ответ на вопрос
Похожие вопросы
-
3
Мой файл заблокирован в Excel 2007, что происходит?
-
6
Установка Windows 7 по умолчанию: что нужно изменить, чтобы сделать это быстрее?
-
4
Установка Windows Vista по умолчанию: Какие общие изменения для улучшения скорости?
-
-
2
Есть ли способ заставить Excel 2007 автоматически восстанавливать фоновые файлы, как в MS Word?
-
4
Настройка модема для загрузки Bittorrent
-
1
Excel Word Wrap + исчезающий текст
-
1
Простое объединение / очистка с помощью Excel
-
7
Как вы поддерживаете Microsoft Excel на полной скорости, даже если у него нет фокуса окна?
-
2
Почему вы не можете копировать / вставлять изображения в Excel, но скриншоты работают?
-
3
Как синхронизировать Excel с таблицей Google Docs