|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.08.2013, 22:31 | #1 |
Старожил
Регистрация: 15.05.2008
Сообщений: 2,058
|
Сравнить два массива и вывести в отдельный столбец кол-во вхождений
Здравствуйте, уважаемые!
Нужна Ваша помощь. Собственно задача описана в названии темы, перерыл весь форум, что только не пробовал, но увы. Нашел код от Hugo, почти то, что нужно, но доделать его - не получилось. Код:
Мне нужно понять, потому как дальше еще нужно будет сделать почти такое же, но только нужно будет по совпадению просуммировать значения в диапазоне [c7:g8638] из столбца "G" Спасибо. ЗЫ Где можно найти доступное описание работы с массивами и словарями/коллекциями?
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499 Последний раз редактировалось VictorM; 25.08.2013 в 22:36. Причина: дополнение |
25.08.2013, 22:57 | #2 |
Форумчанин
Регистрация: 09.06.2011
Сообщений: 388
|
Код:
Код:
на неконкретные вопросы даю неконкретные ответы ...
Последний раз редактировалось Step_UA; 25.08.2013 в 23:17. Причина: Исправление ошибки в п.5 |
25.08.2013, 23:07 | #3 |
Регистрация: 24.08.2013
Сообщений: 7
|
У меня есть один макрос но он только для сравнения одного или двух диапазонов ячеек. Он может как пометить совпадающие значения указанным цветом, так и установить в соседних столбиках заданное число напротив совпадающих значений. Посмотри может он и подойдет тебе.
|
25.08.2013, 23:22 | #4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Виктор, я бы подсказал, но не вполне понял задачу - с примером файла было бы проще.
Если нужно просто подсчитать количество вхождений (даже повторных), то массив с не нужен, достаточно ii = ii + 1 и в конце показать это число.
webmoney: E265281470651 Z422237915069 R418926282008
|
25.08.2013, 23:23 | #5 |
Старожил
Регистрация: 15.05.2008
Сообщений: 2,058
|
Step_UA, спасибо, за столь быстрый ответ.
Проверил, что-то не то, выдал все повторы =1, хотя я точно знаю, считал СЧЕТЕСЛИ(), что есть повторы. Буду еще смотреть и обязательно воспользуюсь Вашим советом. samsaa, спасибо за файл. Но на циклах я уже и так сделал, много данных, медленно получается.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499 |
26.08.2013, 09:53 | #6 | |
Старожил
Регистрация: 15.05.2008
Сообщений: 2,058
|
Цитата:
Вот пример файла. Сопадения посчитаны СЧЕТЕСЛИ() ) и макросом с изменениями, предложенными Step_UA. Вроде все так, но видно, что макрос пропустил значения и счет сбился.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499 |
|
26.08.2013, 10:02 | #7 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
А если так:
Код:
webmoney: E265281470651 Z422237915069 R418926282008
|
26.08.2013, 10:07 | #8 |
Старожил
Регистрация: 15.05.2008
Сообщений: 2,058
|
Да, я все понял.
Неправильно сформулирована задача. В массиве b также могут повторяться значения, но это уже ничего не значит. Рядом должно быть также выведено кол-во совпадения, как в столбце с формулой.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499 |
26.08.2013, 10:31 | #9 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Ну, если Вам нравится функция "СЧЕТЕСЛИ", то используйте ее в макросе.
Пример во вложении. Код в модуле "Module2". Макрос "qq".
Чем шире угол зрения, тем он тупее.
Последний раз редактировалось SAS888; 26.08.2013 в 10:34. |
26.08.2013, 10:47 | #10 |
Старожил
Регистрация: 15.05.2008
Сообщений: 2,058
|
SAS888, спасибо.
Функция мне нравится, но на моих объемах (10 000 строк и 6 000 строк) немного тормозит. Хотя, если ничего не получится со словарями, видимо остановлюсь на таком варианте.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499 |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
нужно сравнить два массива указателей типа char | Никнейм94 | C++ Builder | 2 | 22.05.2013 10:53 |
Сравнить два ассоциативных массива и вывести одинаковые значения. | livesport | PHP | 1 | 20.10.2012 15:10 |
нужен макрос на выделение значения из массива в отдельный столбец | 30gb | Microsoft Office Excel | 3 | 14.01.2011 09:06 |