Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 02.10.2010, 04:12   #1
kola672
Форумчанин
 
Регистрация: 24.12.2008
Сообщений: 50
Репутация: 5
По умолчанию Сформировать из 30 таблиц 15 000 таблиц, за 15 минут.

Добрый день. Кто возьмётся написать программу, которая за короткое время (15 минут), из 30 таблиц сможет сформировать 15 000 таблиц?

Пример формирования из 30 таблиц 15 000 таблиц:

Есть 30 таблиц c данными, в Еxcel.
Каждая таблица состоит из 12 000 – 15 000 строк с данными.
Строки состоят из 8 колонок.
Надо сделать так, чтобы из этих 30 таблиц получилось примерно 15 000 таблиц.
Создавать эти 15 000 таблиц надо по следующим критериям.
1. Блок из стрёх строк:
Берём строки 1,2,3, из 1-ой таблицы из 30. (Основной список 1)
Переставляем строки местами 1,3,2; и переносим в таблицу (Лист) 1.3.2.
Переходим к следующим строкам 4,5,6,
Переставляем их местами 4,6,5, и переносим в таблицу (Лист) 1.3.2.
Переходим к следующим строкам 7,8,9,
Переставляем их местами 7,9,8, и переносим в таблицу (Лист) 1.3.2.
Это всё делается в одном дне. И переносится в одну таблицу.
И так далее, за все дни
Следующая комбинация : 1,3,2; - Оборот.
Все такие же действия как выше написанные, но перевернуть данные за день, с низу вверх. Сделать это надо со всеми днями.

Следующие комбинации блока из трёх строк: 2,1,3;
Следующая комбинация : 2,1,3; - Оборот.
Следующая комбинация : 2,3,1;
Следующая комбинация : 2,3,1; - Оборот.
Следующая комбинация: 3,1,2;
Следующая комбинация: 3,1,2; - Оборот.
Следующая комбинация : 3,2,1;
Следующая комбинация : 3,2,1; - Оборот.
Все варианты комбинаций блока из трёх строк, каждая комбинация отдельная таблица (Лист).

Когда перебраны все комбинации блока из трёх строк (1,2,3,), переходим к блоку из четырёх строк (1,2,3,4,), перебираем все комбинации, составляем таблицы.

2. Блок из четырёх строк:
Берём строки 1,2,3,4, из 1-ой таблицы из 30.(Основной список 1)
Переставляем строки местами 1,2,4,3, и переносим в таблицу (Лист) 1,2,4,3,
Следующая комбинация: 1,2,4,3 – Оборот. В таблицу (Лист) 1,2,4,3, - оборот.
Следующая комбинация: 1,3,2,4,
Следующая комбинация: 1,3,2,4, - Оборот.
Следующая комбинация: 1,3,4,2,
Следующая комбинация: 1,3,4,2, - Оборот.
Следующая комбинация: 1,4,2,3,
Следующая комбинация: 1,4,2,3, - Оборот.
Следующая комбинация: 1,4,3,2,
Следующая комбинация: 1,4,3,2, - Оборот.
Следующая комбинация: 2,1,4,3,
Следующая комбинация: 2,1,4,3, - Оборот.
Следующая комбинация: 2,4,1,3,
Следующая комбинация: 2,4,1,3, - Оборот.
И так далее. Перебрать все комбинации блока из четырёх строк (1,2,3,4,).

3.Блок из пяти строк:
Берём строки 1,2,3,4,5, из 1-ой таблицы из 30. (Основной список 1).
Переставляем строки местами 1,2,3,5,4, и переносим в таблицу (Лист) 1.2.3.5.4.
Следующая комбинация: 1,2,3,5,4, - Оборот.
И так далее. Всё, тоже самое, сделать, что и с предыдущими блоками и строками.
Блок из 10 строк – это последний.
Из одной таблицы из 30 (Основной список 1), получается примерно: 294 таблицы “Блоков”.
Из 30 таблиц получатся примерно: 8 820 таблиц “Блоков”. Повторюсь, в каждой таблицы от 12 000 до 15 000 строк.
kola672 вне форума   Ответить с цитированием
Старый 02.10.2010, 07:41   #2
Anbor
Пользователь
 
Регистрация: 30.08.2010
Сообщений: 10
Репутация: 0
По умолчанию

Обращайтесь ICQ 634-707-481
Anbor вне форума   Ответить с цитированием
Старый 02.10.2010, 11:49   #3
doober
Профессионал
 
Аватар для doober
 
Регистрация: 02.05.2009
Адрес: Леса Мордовии
Сообщений: 3,903
Репутация: 650

skype: d_ober1
По умолчанию

Я занимался этим вопросом и мне интересен конечный результат по времени работы программы.
К будущему автору программы -Если не трудно отпишете результат .можно в личку.
В данном случае входной файл Excel 16 метров.
Я смог добиться времени работы с выводом информации в районе 24 часов.На выходе информация-16 гигов.
__________________
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 02.10.2010 в 11:51.
doober вне форума   Ответить с цитированием
Старый 02.10.2010, 13:18   #4
alon_ka
Новичок
 
Регистрация: 17.10.2009
Сообщений: 0
Репутация: 10
По умолчанию

1000 таблиц за 1 минуту это вряд ли. Я правильно понимаю 15 тыс таблиц - это отдельные экселевские файлы? Только на открытие 1 файла, сохранение и закрытие уйдет пару секунд. Я думаю, можно улучшить результат с 24 до 2-3 часов и это наверно максимум, которого можно добиться, какой бы "мощный" процессор не стоял бы на Вашем компьютере. Мне приходилось делать подобные работы.
alon_ka вне форума   Ответить с цитированием
Старый 04.10.2010, 19:31   #5
kola672
Форумчанин
 
Регистрация: 24.12.2008
Сообщений: 50
Репутация: 5
По умолчанию

Можно делать не в Еxcel. Как будет удобно, но время должно быть 15 минут. Кто возьмёться за работу?
kola672 вне форума   Ответить с цитированием
Старый 05.10.2010, 08:39   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Адрес: Россия, Урал
Сообщений: 6,840
Репутация: 1286

skype: ExcelVBA.ru
По умолчанию

15 000 таблиц за 15 минут - итого 16 таблиц за секунду
Если, как вы говорите, в каждой таблице от 12 000 до 15 000 строк, - обычный комп не справится (не хватит производительности)

А приобретать для дома суперкомпьютер для написания одной программы не хотелось бы...

Озвучьте сумму, которую вы готовы выложить за программу, - наверняка это увеличит количество желающих помочь.

PS: Я бы не взялся ни за какие деньги. Поскольку крайне сложно уложиться в заданное время.
EducatedFool вне форума   Ответить с цитированием
Старый 05.10.2010, 09:11   #7
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
Репутация: 75

icq: 169527143
По умолчанию

Бардак автоматизировать нельзя. Ни за какие время и деньги.
mss вне форума   Ответить с цитированием
Старый 05.10.2010, 12:48   #8
kola672
Форумчанин
 
Регистрация: 24.12.2008
Сообщений: 50
Репутация: 5
По умолчанию

Убедительная просьба, не засорять страницу. Размещать сообщения, только знающим и желающим, как выполнить задачу. Спасибо.
kola672 вне форума   Ответить с цитированием
Старый 05.10.2010, 12:51   #9
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
Репутация: 75

icq: 169527143
По умолчанию

Да не реально это - уложить твою задачу в 15 минут, если Excel хоть каким-то боком этого касается)
Любой иной табличный контейнер, не использующий COM/OLE - тут еще можно побороться за время.
mss вне форума   Ответить с цитированием
Старый 05.10.2010, 13:09   #10
kola672
Форумчанин
 
Регистрация: 24.12.2008
Сообщений: 50
Репутация: 5
По умолчанию

Так никто и не просит делать в Excel.
kola672 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копии таблиц Spaun БД в Delphi 2 25.05.2010 11:02
Форматирование таблиц faiza Microsoft Office Word 2 10.05.2010 14:41
Связывание таблиц skev48 Microsoft Office Excel 4 22.03.2010 00:58
Связывание таблиц stscolt БД в Delphi 0 21.03.2010 12:29
Сведение таблиц Funky_man Microsoft Office Excel 1 08.01.2008 04:36


05:59.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.