Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Упростить формулу на базе ВПР. - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Упростить формулу на базе ВПР. (Формулы/Formulas)
Упростить формулу на базе ВПР.
Proletariy Дата: Воскресенье, 08.11.2015, 01:02 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 6 ±
Замечаний: 0% ±

Excel 2007
Прикладываю файл. Таблица выполняет поиск по "Артикулу", а затем по "Наименованию" в нескольких листах и подтягивает цену.
Таблица рабочая. В рабочей версии файла будет около 10 листов максимально количество строк 32000 на листе. Размер файла около 15Мб.При открытии файла с данной таблицей начинает тормозить exel. При открытии 2 файлов с данной таблицей в момент автосохранения, exel зависает и завершает работу по ошибке.
Собственно вопрос: как упростить формулу для реализации данной задачи.
К сообщению приложен файл: 2917864.xls (81.5 Kb)
 
Ответить
СообщениеПрикладываю файл. Таблица выполняет поиск по "Артикулу", а затем по "Наименованию" в нескольких листах и подтягивает цену.
Таблица рабочая. В рабочей версии файла будет около 10 листов максимально количество строк 32000 на листе. Размер файла около 15Мб.При открытии файла с данной таблицей начинает тормозить exel. При открытии 2 файлов с данной таблицей в момент автосохранения, exel зависает и завершает работу по ошибке.
Собственно вопрос: как упростить формулу для реализации данной задачи.

Автор - Proletariy
Дата добавления - 08.11.2015 в 01:02
Gustav Дата: Воскресенье, 08.11.2015, 01:26 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2748
Репутация: 1137 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Что мешает слить 10 таблиц по 32 тыщи строк в одну таблицу из 320 тыщ строк, добавив колонку типа "Категория", в которой будет нынешнее имя одного из 10 листов? Судя по тому, что используется функция ЕСЛИОШИБКА, версия Excel больше 2003 и позволяет работать с таким количеством строк на одном листе. Это уже значительно бы облегчило вычисления.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеЧто мешает слить 10 таблиц по 32 тыщи строк в одну таблицу из 320 тыщ строк, добавив колонку типа "Категория", в которой будет нынешнее имя одного из 10 листов? Судя по тому, что используется функция ЕСЛИОШИБКА, версия Excel больше 2003 и позволяет работать с таким количеством строк на одном листе. Это уже значительно бы облегчило вычисления.

Автор - Gustav
Дата добавления - 08.11.2015 в 01:26
Proletariy Дата: Воскресенье, 08.11.2015, 10:12 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 6 ±
Замечаний: 0% ±

Excel 2007
Каждый лист это прайс. Прайсы часто меняются.Легче работать с прайсом на отдельном листе. Реализовать хочу именно в таком виде.
 
Ответить
СообщениеКаждый лист это прайс. Прайсы часто меняются.Легче работать с прайсом на отдельном листе. Реализовать хочу именно в таком виде.

Автор - Proletariy
Дата добавления - 08.11.2015 в 10:12
Pelena Дата: Воскресенье, 08.11.2015, 11:00 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19188
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Массивные формулы на больших диапазонах всегда тормозят, да и функция ДВССЫЛ() пересчитывается при каждом изменении на листе.
Использование ссылок на целые столбцы тоже замедляет работу формул.

Что можно сделать?
Отключить автоматический пересчёт формул, пересчитывать по клавише F9
Заменить ссылки на целые столбцы ссылками на диапазоны. Можно создать именованные динамические диапазоны
Или использовать макрос


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеМассивные формулы на больших диапазонах всегда тормозят, да и функция ДВССЫЛ() пересчитывается при каждом изменении на листе.
Использование ссылок на целые столбцы тоже замедляет работу формул.

Что можно сделать?
Отключить автоматический пересчёт формул, пересчитывать по клавише F9
Заменить ссылки на целые столбцы ссылками на диапазоны. Можно создать именованные динамические диапазоны
Или использовать макрос

Автор - Pelena
Дата добавления - 08.11.2015 в 11:00
Gustav Дата: Воскресенье, 08.11.2015, 12:09 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2748
Репутация: 1137 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Если не согласны вести единый справочник на одном листе, то можно попробовать такой единый лист создать искусственно-динамически - с простейшими формулами на другие 10 листов, и уже к нему обращаться с листа "Исходник"
[vba]
Код
         Артикул        Наименование   Цена
---------------------------------------------------
A1      =Лист1!A1      =Лист1!B1      =Лист1!C1
...................................................
A32000  =Лист1!A32000  =Лист1!B32000  =Лист1!C32000

A32001  =Лист2!A1      =Лист2!B1      =Лист2!C1
...................................................
A64000  =Лист2!A32000  =Лист2!B32000  =Лист2!C32000

A64001  =Лист3!A1      =Лист3!B1      =Лист3!C1
...................................................
A96000  =Лист3!A32000  =Лист3!B32000  =Лист3!C32000

A96001  =Лист4!A1      =Лист4!B1      =Лист4!C1
...................................................
[/vba]


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеЕсли не согласны вести единый справочник на одном листе, то можно попробовать такой единый лист создать искусственно-динамически - с простейшими формулами на другие 10 листов, и уже к нему обращаться с листа "Исходник"
[vba]
Код
         Артикул        Наименование   Цена
---------------------------------------------------
A1      =Лист1!A1      =Лист1!B1      =Лист1!C1
...................................................
A32000  =Лист1!A32000  =Лист1!B32000  =Лист1!C32000

A32001  =Лист2!A1      =Лист2!B1      =Лист2!C1
...................................................
A64000  =Лист2!A32000  =Лист2!B32000  =Лист2!C32000

A64001  =Лист3!A1      =Лист3!B1      =Лист3!C1
...................................................
A96000  =Лист3!A32000  =Лист3!B32000  =Лист3!C32000

A96001  =Лист4!A1      =Лист4!B1      =Лист4!C1
...................................................
[/vba]

Автор - Gustav
Дата добавления - 08.11.2015 в 12:09
Proletariy Дата: Воскресенье, 08.11.2015, 13:46 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 6 ±
Замечаний: 0% ±

Excel 2007
Спасибо за советы.
Мои познания в exel на уровне обычного пользователя и чтобы реализовать данный вариант была потрачена не одна неделя.
Я даже не представляю как реализовать, то что вы предлагаете.
Можете более подробно разъяснить и привести пример.
 
Ответить
СообщениеСпасибо за советы.
Мои познания в exel на уровне обычного пользователя и чтобы реализовать данный вариант была потрачена не одна неделя.
Я даже не представляю как реализовать, то что вы предлагаете.
Можете более подробно разъяснить и привести пример.

Автор - Proletariy
Дата добавления - 08.11.2015 в 13:46
Pelena Дата: Воскресенье, 08.11.2015, 16:32 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 19188
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Вот здесь есть UDF, позволяющая ВПР() работать со всеми листами.
Попробуйте её использовать в Вашем файле
К сообщению приложен файл: 2917864-1-.xls (80.5 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеВот здесь есть UDF, позволяющая ВПР() работать со всеми листами.
Попробуйте её использовать в Вашем файле

Автор - Pelena
Дата добавления - 08.11.2015 в 16:32
Proletariy Дата: Воскресенье, 08.11.2015, 17:09 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 6 ±
Замечаний: 0% ±

Excel 2007
Здесь поиск реализован по всем листам, как реализовать поиск из выбранного диапазона листов?
Листов "Исходник" в одном файле может быть несколько.
 
Ответить
СообщениеЗдесь поиск реализован по всем листам, как реализовать поиск из выбранного диапазона листов?
Листов "Исходник" в одном файле может быть несколько.

Автор - Proletariy
Дата добавления - 08.11.2015 в 17:09
Pelena Дата: Воскресенье, 08.11.2015, 17:22 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 19188
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Можно иначе организовать цикл по листам, например, привязаться к названиям листов или к их порядковым номерам, но для этого надо знать их расположение в книге


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеМожно иначе организовать цикл по листам, например, привязаться к названиям листов или к их порядковым номерам, но для этого надо знать их расположение в книге

Автор - Pelena
Дата добавления - 08.11.2015 в 17:22
Proletariy Дата: Воскресенье, 08.11.2015, 17:39 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 6 ±
Замечаний: 0% ±

Excel 2007
Название листов и порядок выбираю я. Так что это не проблема.
 
Ответить
СообщениеНазвание листов и порядок выбираю я. Так что это не проблема.

Автор - Proletariy
Дата добавления - 08.11.2015 в 17:39
Pelena Дата: Воскресенье, 08.11.2015, 17:49 | Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 19188
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Ну, я-то этого не вижу. Перечень искомых листов всегда одинаковый?


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеНу, я-то этого не вижу. Перечень искомых листов всегда одинаковый?

Автор - Pelena
Дата добавления - 08.11.2015 в 17:49
Proletariy Дата: Воскресенье, 08.11.2015, 19:01 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 6 ±
Замечаний: 0% ±

Excel 2007
Да, всегда одинаков. Редко бывают дополнения. Во вложении названия листов.
К сообщению приложен файл: Test.xls (89.0 Kb)
 
Ответить
СообщениеДа, всегда одинаков. Редко бывают дополнения. Во вложении названия листов.

Автор - Proletariy
Дата добавления - 08.11.2015 в 19:01
Pelena Дата: Воскресенье, 08.11.2015, 21:20 | Сообщение № 13
Группа: Админы
Ранг: Местный житель
Сообщений: 19188
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Раз
бывают дополнения
можно вынести имена листов на отдельный лист и использовать этот список при организации цикла по листам
К сообщению приложен файл: Test-12-.rar (28.6 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеРаз
бывают дополнения
можно вынести имена листов на отдельный лист и использовать этот список при организации цикла по листам

Автор - Pelena
Дата добавления - 08.11.2015 в 21:20
Proletariy Дата: Воскресенье, 08.11.2015, 22:14 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 6 ±
Замечаний: 0% ±

Excel 2007
Спасибо огромное за помощь. Тестирую в реальных условиях. Работает значительно быстрее.
Еще один вопрос, добавлять новые искомые листы возможно ?


Сообщение отредактировал Proletariy - Воскресенье, 08.11.2015, 22:19
 
Ответить
СообщениеСпасибо огромное за помощь. Тестирую в реальных условиях. Работает значительно быстрее.
Еще один вопрос, добавлять новые искомые листы возможно ?

Автор - Proletariy
Дата добавления - 08.11.2015 в 22:14
Pelena Дата: Воскресенье, 08.11.2015, 22:16 | Сообщение № 15
Группа: Админы
Ранг: Местный житель
Сообщений: 19188
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Да, я поэтому и вынесла имена листов в отдельную таблицу, чтобы можно было легко добавить новые


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеДа, я поэтому и вынесла имена листов в отдельную таблицу, чтобы можно было легко добавить новые

Автор - Pelena
Дата добавления - 08.11.2015 в 22:16
Proletariy Дата: Воскресенье, 08.11.2015, 22:19 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 6 ±
Замечаний: 0% ±

Excel 2007
Добавил лист с именем "1" в по нему поиск не работает.
Как правильно добавить его в список ?


Сообщение отредактировал Proletariy - Воскресенье, 08.11.2015, 22:24
 
Ответить
СообщениеДобавил лист с именем "1" в по нему поиск не работает.
Как правильно добавить его в список ?

Автор - Proletariy
Дата добавления - 08.11.2015 в 22:19
Pelena Дата: Воскресенье, 08.11.2015, 22:26 | Сообщение № 17
Группа: Админы
Ранг: Местный житель
Сообщений: 19188
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
После добавления листа сохраните и закройте файл. Новый список формируется при открытии файла.

Немного исправила макрос
К сообщению приложен файл: 3393084.rar (28.5 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеПосле добавления листа сохраните и закройте файл. Новый список формируется при открытии файла.

Немного исправила макрос

Автор - Pelena
Дата добавления - 08.11.2015 в 22:26
Proletariy Дата: Воскресенье, 08.11.2015, 22:42 | Сообщение № 18
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 6 ±
Замечаний: 0% ±

Excel 2007
Еще, когда делаю изменение в искомом листе -это не отображается в "Исходнике".
К сообщению приложен файл: Test_13.xls (94.0 Kb)


Сообщение отредактировал Proletariy - Воскресенье, 08.11.2015, 22:48
 
Ответить
СообщениеЕще, когда делаю изменение в искомом листе -это не отображается в "Исходнике".

Автор - Proletariy
Дата добавления - 08.11.2015 в 22:42
Serge_007 Дата: Воскресенье, 08.11.2015, 22:46 | Сообщение № 19
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Новый список формируется при открытии файла
Лена, есть событие Workbook_NewSheet :)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Новый список формируется при открытии файла
Лена, есть событие Workbook_NewSheet :)

Автор - Serge_007
Дата добавления - 08.11.2015 в 22:46
Pelena Дата: Воскресенье, 08.11.2015, 22:54 | Сообщение № 20
Группа: Админы
Ранг: Местный житель
Сообщений: 19188
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Спасибо, Серёж.
Только я зря, наверное, взялась за эту задачу. Знаний не хватит доделать


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеСпасибо, Серёж.
Только я зря, наверное, взялась за эту задачу. Знаний не хватит доделать

Автор - Pelena
Дата добавления - 08.11.2015 в 22:54
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Упростить формулу на базе ВПР. (Формулы/Formulas)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!