1

Мой сценарий состоит в том, что у меня есть таблица стилей "Dashboard", которая ищет данные из большой таблицы на основе ячейки в столбце B, который всегда слева от нее. Ячейка в столбце B содержит INDEX, MATCH, IF, формулу массива для извлечения уникальных имен из таблицы, в которой выбрана "Группа". Этот список заполняется вниз и заполняется на основе раскрывающегося списка различных вариантов "Группа". Может возвращать до 20 имен, основанных на "Группе".

У меня есть 17 ячеек с формулами справа, которые могут вернуть ошибку, если данных там нет. Поэтому я предшествовал им с оператором IFERROR() . Мой вопрос заключается в том, что если бы я поставил перед ними оператор IF() ускорило бы вычисления, потому что оператор IF прочитал бы, если True, затем дал бы пустое значение, если false, тогда вычислил бы формулу.

Логично, что мне так кажется, но я хотел знать, чувствует ли кто-то из вас то же самое. Благодарю. Возможно, это больше для мета-обсуждения.

п.с. Вот одна из 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 ответ1

2

= ЕСЛИ делает «короткое замыкание», но для ускорения работы я бы предложил http://msdn.microsoft.com/en-us/library/office/aa730921%28v=office.12%29.aspx. Включает макрос для синхронизации. = НЕПРЯМОЙ, казалось бы, стоит внимания.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .