0 / 0 / 1
Регистрация: 05.02.2013
Сообщений: 150
|
|||||||||||
1 | |||||||||||
Как в массив добавить внесение не только по 4 символам, но и по 2,3,5 и 7?20.03.2013, 13:55. Показов 2230. Ответов 27
Метки нет (Все метки)
Здравствуйте!
Подскажите, как в массив добавить внесение не только по 4 символам, но и по 2,3,5 и 7 Ниже привожу массив
0
|
20.03.2013, 13:55 | |
Ответы с готовыми решениями:
27
Как считать из файла текст по символам в массив php? Значение Chr только символам 0-9 a-z A-Z Чтение строк, разобрать по спец.символам, добавить в DataGridView Ссылка на документ на компьтере только по первым символам в названии Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
|
20.03.2013, 14:06 | 2 |
Выложите файл и расскажите, какова конечная цель этих действий.
Получение "уникальных кодов" лучше производить с помощью коллекции или словаря.
0
|
0 / 0 / 1
Регистрация: 05.02.2013
Сообщений: 150
|
|
20.03.2013, 15:07 [ТС] | 3 |
Макрос сравнивает коды с разных листов и выдает результат.
В этом варианте он загружает в массив только первые 4 символа строки. Необходимо, чтобы в массив загружалось 4,2,3,7 символов и по ним шло сравнение. и затем эти коды сравнивались. Файл прилагаю
0
|
0 / 0 / 1
Регистрация: 05.02.2013
Сообщений: 150
|
|
21.03.2013, 13:18 [ТС] | 4 |
Уважаемые, есть какая-нибудь информация ? путного придумать не получается
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
21.03.2013, 13:32 | 5 |
Нету.
Загрузил, посмотрел - ничего не понял. Решать шарады желания нет. Расскажите подробно задачу, словами - может и придумаем решение.
0
|
0 / 0 / 1
Регистрация: 05.02.2013
Сообщений: 150
|
||||||
21.03.2013, 15:18 [ТС] | 6 | |||||
необходимо так же чтобы в этот самый массив загружались коды по 2 первых символа, 3 и 7 символов. А потом сравнивались с информацией на листе 2 столб Е. и выходили в результат на лист 3.
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
21.03.2013, 15:44 | 7 |
Загружайте не в массив, а в словарь (или коллекцию) - сравнивать будет и легче, и быстрее.
А задачу в целом так и не объяснили.
0
|
0 / 0 / 1
Регистрация: 05.02.2013
Сообщений: 150
|
|
21.03.2013, 15:49 [ТС] | 8 |
Расскажите, что есть словарь или коллекция ?
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
21.03.2013, 17:17 | 9 |
Расскажу своими словами, а "научное" описание несложно нагуглить (образцов кода на форуме уже тоже много).
Scripting.Dictionary или Collection есть некий безразмерный объект, где могут храниться значения. В словаре уникальные, в коллекции не только (т.е. есть некоторые отличия). Причём проверка наличия значения в этих объектах происходит практически мнгновенно ибез всяких внешних циклов. Например нам нужно сравнить два списка - одним циклом по одному списку заносим значения в словарь, затем одним циклом по второму списку получаем информацию - всё быстро и коротким кодом. В Вашем случае вероятно одним циклом по одному списку можно в словарь занести эти 4/2/3/7 символов, затем одним циклом по второму списку проверить, нет ли в словаре текущих 4/2/3/7 символов. Если конечно нужно это - Вы так и не рассказали, что именно нужно.
0
|
0 / 0 / 1
Регистрация: 05.02.2013
Сообщений: 150
|
|
21.03.2013, 22:47 [ТС] | 10 |
Да, мне так и нужно, проверить на совпадение коды с листа 1 с листом 2 и вывести на лист3 совпадающие.
т.е. есть код 1520111 на листе 1(на котором критерии) из этого кода берутся первые 2,3,4,7 символа и сравниваются с листом 2 на котором код 1530000 (далее он проверяется на искл из листа 1) соответственно если его в искл нет он переносится на лист 3. На выходе получаться дубли, которые будут по другому алгоритму фильтроваться
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
22.03.2013, 10:02 | 11 |
Не понятен смысл - зачем отбирать по 3,4,7, если текущее значение уже будет отобрано по 2?
Т.е. из 1520111 получаем как критерии 15, 152, 1520 и 1520111, далее любое значение если не проходит по 15, то по остальным критериям можно уже и не проверять. Или же раскладываем фильтруемых в 4 кучки - сперва по совпадению по 7, далее по убывающей? Тогда создаём 4 словаря, затем в таком порядке и проверяем. У Вас там довольно путаный код - разбираться честно лень, жаль времени. Скажите конкретно - где критерии, по какому столбцу что проверять, куда складывать отобранное. Добавлено через 10 часов 44 минуты Нет, не нужно 4 словаря - достаточно одного. Раскладывать по кучкам можно в зависимости от проверяемого критерия.
0
|
0 / 0 / 1
Регистрация: 05.02.2013
Сообщений: 150
|
||||||
22.03.2013, 13:29 [ТС] | 12 | |||||
общая база в которой находится инф. находится на листе 2. На листе 1 в столбце "А" находятся коды (критерии) которые нужны и здесь же на листе 1 в столбце 2 находятся исключения. Т.е. есть групповые коды 1500000( в которые входят 1520111 и др.) и для них есть искл 1520211 если на листе 2 есть этот код из искл то он не будет переносится в общ результат. Ниже код который загружает в массив и проверяет
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
22.03.2013, 13:44 | 13 |
Нет, я в код вникать с целью понять задачу не буду - времени жалко (да и нет его, работаю...).
Лучше продолжайте рассказывать - вот есть список кодов и исключений, что дальше? Где ищем совпадения, по каким параметрам, что делаем по результату? Ведь если отбирать по двум первым цифрам, то достаточно списка 11, 15, 94, зачем там 20 номеров? По исключениям тоже есть вопрос - именно такие номера, или все в десятке этого номера?
0
|
0 / 0 / 1
Регистрация: 05.02.2013
Сообщений: 150
|
|
25.03.2013, 00:43 [ТС] | 14 |
Алгоритм следующий на данный момент.
берется 4 первых символа сравниваются с листом 2 если они совпадают то проверяются на искл(искл это полностью все 7 символов кода) и далее результат переносится на лист 3. теперь же нужно увеличить, как я писал выше. можно конечно сделать разными макросами, но это убого.
0
|
25.03.2013, 15:01 | 15 |
О, узнаю свой код. А предыдущей макрописатель что ушел в отпуск?
Если выложите книгу в формате Excel 2003, может и помогу разобраться. И неплохо бы еще ссылку на старую тему в этом разделе.
0
|
0 / 0 / 1
Регистрация: 05.02.2013
Сообщений: 150
|
|
25.03.2013, 15:08 [ТС] | 16 |
Dragokas, Доброго дня. Файл во вложении )
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
25.03.2013, 17:15 | 17 |
Увеличить...
Вот зачем увеличивать, если по описанию достаточно заменить 4 на 2?
0
|
0 / 0 / 1
Регистрация: 05.02.2013
Сообщений: 150
|
|
26.03.2013, 12:58 [ТС] | 18 |
Ссылка на предыдущую тему Необходимо написать цикл для поиска
Добавлено через 1 час 36 минут Таковы критерии... Добавлено через 38 минут чтобы можно было найти только те которые соответствуют 2м те которые соответствуют 3,4,7 т.е. есть в перечне 1500000 и 1680000 нужно чтобы он работал только у того у кого 2 символа если 1680000 то с 3мя символами. и там далее с 4мя и полностью с 7мю
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
26.03.2013, 13:27 | 19 |
Т.е. всё же нужно на 4 кучки разложить? Куда?
Понимаете - в деталях ничего не понятно, соотв. писать код нет смысла (я могу сделать так, как я предполагаю - но ведь Вам нужно другое...).
0
|
0 / 0 / 1
Регистрация: 05.02.2013
Сообщений: 150
|
|
26.03.2013, 14:11 [ТС] | 20 |
Да можно и 4 кучки, т.е. один лист по 2, второй по 3, третий по 4 и последний по 7, потом клеить это в какой-нибудь лист к примеру 7.
Но тут вопрос это по одной фирме, а как если будет еще одна. Значится на листе 1 будет подряд куча фирм.
0
|
26.03.2013, 14:11 | |