Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2010, 02:11   #1
A2B
 
Регистрация: 23.02.2010
Сообщений: 5
По умолчанию Количество повторов значения ячейки в массиве

Доброго времени суток!

Помогите чайнику) (Excel 2003)

ПРИМЕР: Необходимо вывести в ячейке С1 количество повторений значения ячейки А1 в массиве Columns("B"), при том, что это значение в ячейках столбца "В" может быть в любом месте текста ячейки (позиция плавающая)

Имеется ввиду аналог "Ctrl+F", когда выдаётся в скольких ячейках найден искомый текст.

Смысл в том, чтобы в итоге, в столбце А оставить только те значения, которые повторяются в массиве меньше чем n раз

Бьюсь вторую неделю, понимаю, что наверное нужна серьёзная процедурка, но у самого знаний не хватает(((

Если у Вас решения нет, подкажите хоть, возможно ли оно чисто теоретически...

Заранее спасибо!

Последний раз редактировалось A2B; 23.02.2010 в 02:26.
A2B вне форума Ответить с цитированием
Старый 23.02.2010, 02:33   #2
Dophin
Форумчанин
 
Аватар для Dophin
 
Регистрация: 13.01.2010
Сообщений: 410
По умолчанию

возможно практически все если есть пример.

с листами "есть вот" и "хочу вот так"
Dophin вне форума Ответить с цитированием
Старый 23.02.2010, 02:34   #3
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Цитата:
количество повторений значения ячейки А1 в массиве Columns("B")
=СЧЁТЕСЛИ(B1:B65000;A1)
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru

Последний раз редактировалось alex77755; 23.02.2010 в 02:35. Причина: добавлено
alex77755 вне форума Ответить с цитированием
Старый 23.02.2010, 03:02   #4
A2B
 
Регистрация: 23.02.2010
Сообщений: 5
По умолчанию

Цитата:
Сообщение от alex77755 Посмотреть сообщение
=СЧЁТЕСЛИ(B1:B65000;A1)
Спасибо, так уже конечно пробовал, сравнивает только ячейки целиком, потому не подходит...

Цитата:
Сообщение от Dophin Посмотреть сообщение
возможно практически все если есть пример.

с листами "есть вот" и "хочу вот так"
Примерно хочу так, столбец "А" - значения, столбец "В" - база сравнения, столбец "С" - количество ячеек в столбце "В" содержащих значение An (значение проставил ручками)))
Вложения
Тип файла: rar Пример.rar (216.1 Кб, 40 просмотров)

Последний раз редактировалось Stilet; 23.02.2010 в 08:19.
A2B вне форума Ответить с цитированием
Старый 23.02.2010, 03:36   #5
Pavel55
Форумчанин
 
Регистрация: 21.08.2007
Сообщений: 292
По умолчанию

=СЧЁТЕСЛИ(B:B;"*" & A1 & "*")
Pavel55 вне форума Ответить с цитированием
Старый 23.02.2010, 03:54   #6
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Сделал функцию. Работает, но долго
Код:
Function KolMas(Iskomoe, massiv As Range)
Dim I
Dim re
re = massiv.Column
For I = 1 To massiv.Count
re = Cells(I, massiv.Column).Value
If InStr(1, re, Iskomoe) > 0 Then KolMas = KolMas + 1
Next I
End Function
Мжно попробовать загнать всё в массив и обработать массив. Будет быстрей. Но сейчач уже спать охота. Завтра попробую
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 23.02.2010, 10:48   #7
A2B
 
Регистрация: 23.02.2010
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Pavel55 Посмотреть сообщение
=СЧЁТЕСЛИ(B:B;"*" & A1 & "*")
СПАСИБО ОГРОМНОЕ!
Так заработало, сам не допёр что * в кавычки взять нужно)))
A2B вне форума Ответить с цитированием
Старый 23.02.2010, 10:54   #8
A2B
 
Регистрация: 23.02.2010
Сообщений: 5
По умолчанию

Цитата:
Сообщение от alex77755 Посмотреть сообщение
Сделал функцию. Работает, но долго
Код:
Function KolMas(Iskomoe, massiv As Range)
Dim I
Dim re
re = massiv.Column
For I = 1 To massiv.Count
re = Cells(I, massiv.Column).Value
If InStr(1, re, Iskomoe) > 0 Then KolMas = KolMas + 1
Next I
End Function
Мжно попробовать загнать всё в массив и обработать массив. Будет быстрей. Но сейчач уже спать охота. Завтра попробую
Pavel подсказал как встроенной функцией сделать, так удобнее пока.
В любом случае спасибо за участие!)

Кстати, интересно, если усложнить задачу и искать не значение ячейки An полностью, а часть текста по признаку, например 6 цифр подряд (Типа *######*). Такое возможно?
A2B вне форума Ответить с цитированием
Старый 23.02.2010, 13:25   #9
Dophin
Форумчанин
 
Аватар для Dophin
 
Регистрация: 13.01.2010
Сообщений: 410
По умолчанию

мне полностью повторить свое прошлое сообщение или сами догадаетесь?
Dophin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
количество повторяющихся элементов в массиве Андрей.12 Помощь студентам 1 28.01.2010 23:57
Паскаль количество чётных чисел в массиве DeMoN_tmb Помощь студентам 14 29.09.2009 18:22
Количество элементов в массиве skit Общие вопросы C/C++ 3 18.03.2009 21:56
Количество элементов в динамическом массиве lytkin Общие вопросы Delphi 8 21.02.2007 14:50