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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2012, 13:18   #1
Hagen83
Пользователь
 
Регистрация: 13.03.2010
Сообщений: 33
По умолчанию Подсчет кол-ва повторений символов в одной ячейке.

Всем привет! Подскажите, пожалуйста, как подсчитать количество повторений последовательности, указанной в шапке приложенного файла, для каждой ячейки столбца B.
Вложения
Тип файла: zip Book2.zip (6.4 Кб, 16 просмотров)

Последний раз редактировалось Hagen83; 24.09.2012 в 13:22. Причина: Добавлено вложение.
Hagen83 вне форума Ответить с цитированием
Старый 24.09.2012, 13:20   #2
Hagen83
Пользователь
 
Регистрация: 13.03.2010
Сообщений: 33
По умолчанию

Сообщение удалено.

Последний раз редактировалось Hagen83; 24.09.2012 в 13:23.
Hagen83 вне форума Ответить с цитированием
Старый 24.09.2012, 13:34   #3
DV68
Форумчанин
 
Регистрация: 05.08.2009
Сообщений: 465
По умолчанию

Так:
Код:
=(ДЛСТР($B2)-ДЛСТР(ПОДСТАВИТЬ($B2;C$1;)))/ДЛСТР(C$1)
Вложения
Тип файла: rar Book22.rar (8.9 Кб, 13 просмотров)
"Все следует делать настолько простым, насколько это возможно, но не проще." Альберт Эйнштейн

Последний раз редактировалось DV68; 24.09.2012 в 13:37. Причина: Добавил файл
DV68 вне форума Ответить с цитированием
Старый 24.09.2012, 13:37   #4
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

прежде всего, как сравнивать:

в исходном слове: WLWLWLW
сколько будет комбинаций LWL - одна или две?
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 24.09.2012, 13:37   #5
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Для C2:
Код:
=(LEN(B2)-LEN(SUBSTITUTE(B2,$C$1,"")))/LEN($C$1)
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 24.09.2012, 13:40   #6
Hagen83
Пользователь
 
Регистрация: 13.03.2010
Сообщений: 33
По умолчанию

Цитата:
Сообщение от DV68 Посмотреть сообщение
Так:
Код:
=(ДЛСТР($B2)-ДЛСТР(ПОДСТАВИТЬ($B2;C$1;)))/ДЛСТР(C$1)
Огромное спасибо. Получилось.
Hagen83 вне форума Ответить с цитированием
Старый 24.09.2012, 13:42   #7
Hagen83
Пользователь
 
Регистрация: 13.03.2010
Сообщений: 33
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
прежде всего, как сравнивать:

в исходном слове: WLWLWLW
сколько будет комбинаций LWL - одна или две?
Две комбинации.
Hagen83 вне форума Ответить с цитированием
Старый 24.09.2012, 13:45   #8
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Две комбинации.
Цитата:
Огромное спасибо. Получилось.
Тогда не получилось... Указанная формула только одно вхождение находит. Тут, скорей всего, потребуется пользовательскую функцию использовать. Типа такой:

Код:
Public Function CntComb(Fnd As String, Txt As String) As Integer
  CntComb = 0
  I = InStr(1, Txt, Fnd, vbTextCompare)
  While I > 0
    CntComb = CntComb + 1
    I = InStr(I + 1, Txt, Fnd, vbTextCompare)
  Wend
End Function
Правильно поставленная задача - три четверти решения.

Последний раз редактировалось DiemonStar; 24.09.2012 в 13:58.
DiemonStar вне форума Ответить с цитированием
Старый 24.09.2012, 13:52   #9
Hagen83
Пользователь
 
Регистрация: 13.03.2010
Сообщений: 33
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
Тогда не получилось... Указанная формула только одно вхождение находит.
Действительно...Формула находит совпадения без наложений. Может можно как-то это учесть?
Hagen83 вне форума Ответить с цитированием
Старый 24.09.2012, 14:05   #10
Hagen83
Пользователь
 
Регистрация: 13.03.2010
Сообщений: 33
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
Тогда не получилось... Указанная формула только одно вхождение находит. Тут, скорей всего, потребуется пользовательскую функцию использовать. Типа такой:

Код:
Public Function CntComb(Fnd As String, Txt As String) As Integer
  CntComb = 0
  I = InStr(1, Txt, Fnd, vbTextCompare)
  While I > 0
    CntComb = CntComb + 1
    I = InStr(I + 1, Txt, Fnd, vbTextCompare)
  Wend
End Function
Спасибо большое. Попробую.
Hagen83 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчет данных введенных в одной ячейке. Hagen83 Microsoft Office Excel 12 15.06.2013 12:31
Подсчет кол-ва символов в Memo,RichEdit Dima DDM Общие вопросы Delphi 7 26.07.2011 23:07
Дана строка символов в одной ячейке. Anton777 Помощь студентам 2 30.05.2011 09:49
Подсчет повторений символа в строке. Sasha9307 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 16.12.2010 09:50
Как посчитать кол-во повторений? Pro100c00l Помощь студентам 5 03.12.2009 01:00