|
Хитрый цикл
|
|||
---|---|---|---|
#18+
Есть такая задача На одном листе данные в колонках "День Недели" "Название" "количество" На втором - "День недели" "Название" "цена" Не факт что это как-то упорядочено. Я делаю третий лист на котором мне надо чтобы были День недели, Название, Количество, Цена, и Цена*Количество Делаю тупо циклами: i=2 Do while день недели в строке i на первом листе <> "" j=2 Do while день недели в строке j на втором листе <> "" If НазваниеЛист1 = НазваниеЛИст2 then Копирую Количество и цену... j=j+1 loop i=i+1 loop На каждом листе под 10000 строк. Время выполнения удручает Нету ли какого нить метода укоротить циклы, типа фильтр какой то предварительно накладывать по дням недели, или даже не знаю что??? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2004, 20:35 |
|
Хитрый цикл
|
|||
---|---|---|---|
#18+
Есть вариант отсортировать обе таблицы по полю "название" и продвигаться по обеим таблицам одновременно. В этом случае достаточно будет одного прохода. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2004, 12:14 |
|
Хитрый цикл
|
|||
---|---|---|---|
#18+
MrCorpЕсть вариант отсортировать обе таблицы по полю "название" и продвигаться по обеим таблицам одновременно. В этом случае достаточно будет одного прохода. Беда в том, что количество строк где название одинаково в разных таблицах разное. У меня возникла идея как раз отсортироваться по дням недели, сделать массив с первыми и последними ячейками, или только первыми скажем и цикл второй делать внутри нужного дня недели. Но пока не реализовал. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2004, 17:01 |
|
Хитрый цикл
|
|||
---|---|---|---|
#18+
Если у тебя встречаются одинаковые значения в столбце "Название", то как же ты определяешь соответствие в двух таблицах? В твоем коде была строчка If НазваниеЛист1 = НазваниеЛИст2 then Копирую Количество и цену... из которой я понял, что значения НазваниеЛист1 и НазваниеЛИст2 уникальны. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2004, 11:47 |
|
Хитрый цикл
|
|||
---|---|---|---|
#18+
MrCorpЕсли у тебя встречаются одинаковые значения в столбце "Название", то как же ты определяешь соответствие в двух таблицах? В твоем коде была строчка If НазваниеЛист1 = НазваниеЛИст2 then Копирую Количество и цену... из которой я понял, что значения НазваниеЛист1 и НазваниеЛИст2 уникальны. Уникальна пара ДЕнь Недели + Название ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2004, 17:33 |
|
Хитрый цикл
|
|||
---|---|---|---|
#18+
Вот набросал примерный алгоритм Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2004, 09:25 |
|
Хитрый цикл
|
|||
---|---|---|---|
#18+
данные клади в БД, и делай средствами БД, быстрее будет ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2004, 01:54 |
|
Хитрый цикл
|
|||
---|---|---|---|
#18+
Deosfenданные клади в БД, и делай средствами БД, быстрее будет Иногда нет возможности или нецелесообразно использовать БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2004, 09:07 |
|
Хитрый цикл
|
|||
---|---|---|---|
#18+
В коде небольшая опечатка. Вот исправленный код Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2004, 09:09 |
|
Хитрый цикл
|
|||
---|---|---|---|
#18+
О, спасибо, мудрость на меня излилась. Я че то не врубался что после сортировки текстовые поля можно сравнивать... А по поводу БД скажу так, что я рассматривал эту возможность, но программа которая вываливает мне данные умеет экспортировать только в Эксель, и скажем так каждую группу названий на отдельный лист. А Акцесс например в свою очередь импортирует из Экселя только один лист за раз. Это меня и остановило, я и так буду иметь значительное количество ручной работы по доводке, ибо заставить юзеров одинаково вводить названия без грамматических ошибок и единообразно не реально. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2004, 11:11 |
|
|
start [/forum/search_topic.php?author=EXEL&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 866ms |
total: | 1034ms |
0 / 0 |