WIN7 64 bit проц i7 32 GB памяти офис правда 32 битный
имею 2 таблицы (их больше , но проблема уже с двумя). точнее это 2 разных файла за разные годы примерно 150 000 строк и 35 колонок - все было импортировано из текста и форматировано в числовой формат.
задача построчные поиск соответствий (решаю через индекс-поиск позиции) проблема: 1. при приведении импортированых данных в числовой формат - менял заменой . на , (точку на запятую) как оказалось Excel не смог поменять все - менял частями примерно в 10 подходов как то можно его обучить пользоваться дополнительной оперативкой, чувствуешь себя как в 20 веке - программа электронных таблиц не может сразу обработать весь лист с данными
2. далее при попытке копирования всей таблицы из одного файла в другой - программа "считала" примерно 30 минут и в конце концов вывалилась с ошибкой. проблему решал также - копировал таблицу частями. далее следующий паралич - сохранить после копирования - комп снова усиленно думает полчаса -час
подскажите как это можно решить? как заставить Excel справляться со всем массивом данных за один проход чего ему надо додать, где чего включить спасибо
открывал таблицу в архиваторе - пробовал найти drawing - но эта папка мизерного размера. также удалял пустые строки и столбцы - это ничего не дало - их там нет
Попробуйте пересохранить файл в "Двоичная книга Excel" (Это .xlsb) - это должно немного помочь. Аналогичная проблема у меня на работе где сервер слабый и на нем мы пытались большие объемы данных крутить.
такие объемы лучше макросами решать (мое мнение) с отключением обновления экрана и пересчет формул. На форуме были примеры импорта из текстового фала нужных данных.
Дмитрий спасибо проблема не в этом. при замене точек на запятые нет никаких формул - чистый лист с импортированными данными и эксель не может заменить сразу все, частями в 10 проходов только
спасибо за советы, видео дома посмотрю. все ваши предложения наводят на мысль что проблема работы Экселя с большими таблицами существует. так как предложения по сути - это способы как обойти проблему, но не решить почему же эксель не способен сразу заменить много точек на запятых. я посчитал общее количество ячеек 5 000 000 примерно, точки даже не в каждой есть. менять в исходном файле попробую вечером, но похоже будут проблемы с датами потом
Алексей, точку на точку менять довольно долго. Для каждой ячейки производится пересчет. По идее действительно, может, в текстовике предварительно поменять? Еще вариант попробовать так - сходить в настройки Винды и там поставить разделитель целой и дробной части точку. В файле нажать F9 - пересчет. Потом файл закрыть, настройки поменять обратно, файл открыть. Добавлено. Думаю, что лучше сначала поменять настройки, а потом загружать данные в Excel
По поводу оперативки - 32 бита по определению не может кушать больше 4-х гигов (фактически не больше 3,5). Переходите на 64 бита.
Обратите внимание на форматы в таблицах. Они очень прожорливые. В особенности это относится к цветным границам ячеек. Проверьте, нет ли в файлах кучи ненужных стилей (при выгрузках бывает). Также проверьте, нет ли кучи непонятно зачем нужных именованных диапазонов (Контрл F3). Если есть, то поубивайте всё нафиг.
Отключите автопересчет формул (Формулы - Параметры вычислений). И неважно, что формул в файле нет, все равно отключите.
При копировании вставляйте не через Контрл+V, а значениями
Мне на работе достались в наследство неподъемные таблицы размером примерно 600 000 строк на 150 столбцов и весом под 350 мегов. Это они там так базу вели. Таблицы, конечно же, практически не работали, зависали после каждого телодвижения. Я поубирал в них все раскраски, границы, везде, кроме дат, поставил стиль Общий, убил все имена - стало более-менее возможно работать. Сейчас-то, конечно, такого безобразия у нас уже нет, но тогда нужно было как-то реанимировать этих монстров и указанные способы неплохо помогли.
Тогда тем более - 150 000 ПОИСКПОЗов по 150 000 строк каждый конечно вешает всё. Кстати, Алексей, если есть автофильтры и Вы ими пользуетесь, то не забывайте, что при их использовании формулы пересчитываются. Да, забыл еще про Условное форматирование - оно тоже постоянно пересчитывается
_Boroda_ написал: По поводу оперативки - 32 бита по определению не может кушать больше 4-х гигов (фактически не больше 3,5). Переходите на 64 бита.
да я давно хотел, потом вычитал что не все надстройки работают, хотя уже не актуально была у меня на прошлой работе нужна я примочка для диаграмм, теперь это не нужно. какие еще недостатки 64 битной?
Юрий М написал: (решаю через индекс-поиск позиции)
не редактировал и сейчас это есть в описании но формулы я пишу после всех копирований и с самими формулами проблем нет они считаются нормально по скорости проблема ступора проявляется при 1. замены точек идут на вообще чистом листе после импорта форматы надо попробовать ощий - я ставил числовой и множил на 1 (множит кстати быстро) 2. копирование с аналогичного чистого листа на такой же. 3. сохранение файла после копирования также долго и сам файл минут 10 в проводнике не обновляется - т.е. эксель чето там внутри себя долго думает перед тем как на диск пересохранить. диск SSD
ребят как быстро удалить то, что не нужно, например фильтрую только положительное и отрицательное могу выкинуть. может есть какая комбинация клавиш сразу снести все что не попало в фильтр? пока делаю все наоборот - фильтрую отрицательное - удаляю строки, потом удаляю фильтр. но с учетом тормозов таблицы это архидолго - полчаса и после отфильтрованного уже начинает шевелиться наконец таблица
Провёл эксперимент на своей старенькой машине (ХР, 2010 [32], 2М оперативной, дохлый процессор 1,9 ГГц и 2 ядра): Заполнил на листе таблицу 100 000 строк на 10 столбцов. В каждой ячейке текст с точкой. Ctrl+H точка на запятую. Потребовалось около 500 секунд, но Excel не упал - и всё поменялось )
Дмитрий Тарковский написал: Алексей , скиньте обезличенный небольшой пример текстового файла, отражающий реальную картину.
Может при импорте текстового файла менять запятую на точку в нужной колонке? Приложите пример текстового файла только поменяйте данные чтоб не раскрывать конфиденциальную информацию.
21 век - это просто обработать выборку с помощью Power (Query, Pivot, etc) 20 век - обработать входные данные, используя dynamic-SQL и ODBC/ADO/DAO/COM Ззаниматься обработкой кучи (десятков-сотен тысяч) записей хоть средствами фейса XL, хоть формулами - это моветон...
Ну, не "мгновенно" - просто это воспринимать надо как "числа в источнике данных имеют разделителем десятичных разрядов точку". Результат - запрос читает исходник в потоке, не занимаясь преобразованиями типов в результирующей таблице.
А "продолжить" можно тем, что вообще и весь анализ (по поводу "построчный поиск соответствий"), и получение результата ("далее при попытке копирования всей таблицы из одного файла в другой") можно возложить на Power. Будет быстро, качественно и совсем не сердито