10 минут, чтобы вычислить самую простую формулу Excel - почему?

1

Ну, отчасти я знаю, почему моя таблица содержит около 180 000 строк. Но это не представляет проблемы для сортировки или фильтрации.

Но когда я вошел =B2в ячейку C2 и растянул ее до дна, потребовалось 10 минут, чтобы рассчитать ее. Все значения в столбце B являются простыми целыми числами. На самом деле в этом столбце всего около 5 разных целых чисел. Как это может занять так много времени, чтобы выполнить простейшую формулу в Excel?

Я запускаю Excel 2013 на совершенно новом компьютере Alienware X51, Intel i7-4790 @ 3,60 ГГц с 16 ГБ ОЗУ, Windows 8.1. Изучая производительность моей системы, мой ЦП во время этого «расчета» составлял 20% или ниже, несмотря на заявления Excel использовать все 8 ядер. Почему бы не использовать более 80% и выполнить работу в 4 раза быстрее? И почему так долго вычисляется самая простая формула? Это займет менее секунды для одного ядра!

Теперь я сделал vlookupпротив другой таблицы с 57000 строк, и это закончилось в течение 15 секунд. Как простой может =занять гораздо больше времени?

И это бежало мгновенно! =IF(C2>3,E2+25,IF(C2>0,E2+5,E2-5))

Баттл Буткус
источник
1
Это действительно риторический вопрос. Никто не может ответить на этот вопрос для неизвестной таблицы в неизвестной системе, кроме как путем догадок. У вас нет теоретической таблицы, у вас есть настоящая.
fixer1234 13.10.15
1
FYI Excel 2013 выполняет вычисления немного по-другому, чем в 2010 году. Он будет пытаться запустить все эти параллельно. Внесение изменений в одну формулу приведет к выполнению ВСЕХ вычислений. Начните с перехода к дополнительным параметрам и отключения анимации (может потребоваться добавить ключ reg) и отключения аппаратного ускорения графики. На самом деле имеет значение.
Рекс Шеффилд
Сохраните версии до и после команды =B2. Выберите удобочитаемый формат. Сделайте сравнение и подчеркните различия. Возможно, eXcel делает что-то для всех ячеек Bстолбца, может быть, это только проверка форматов, может быть, он меняет ячейку за ячейкой, особенно если она не всегда одинакова. Кстати, по моему опыту и ИМХО, 57k строк и eXcel никогда не должны быть вместе ... :)
Hastur
@Hastur первая электронная таблица была 180k строк, таблица поиска была 57k. Это экспорт MySQL, но есть некоторые вещи, которые (теоретически) проще сделать в Excel, чем в MySQL. Но если это займет 10 минут, чтобы изменить простое значение ...
Buttle Butkus
@ButtleButkus "...> 57k строк и eXcel никогда не должны быть вместе." :-) Хуже всего то, что он начинает работать приемлемым образом и непредсказуемо (по крайней мере для меня), что-то вроде этого. Всегда есть причина, по которой может потребоваться больше времени, чтобы начать с нуля. Здесь у меня сложилось сильное впечатление, что eXcel начинает выполнять умные операции со всеми столбцами Bили со всеми 2ячейками строк . Теперь вы можете попытаться увидеть, изменятся ли какие-либо другие характеристики ячеек при записи =B2. SaveAs в удобочитаемом формате, который сохраняет форматирование, может быть хорошим для сравнения.
Хастур