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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2010, 13:16   #1
kudich
 
Регистрация: 26.06.2008
Сообщений: 2
По умолчанию подсчёт количества пар определённых значений в ячейках

Подскажите пожалуйста как (всё равно программно или с помощью встроенных функций) подсчитать количество пар/троек/четвёрок значений в ячейках.
Постараюсь пояснить: например в одной ячейке находятся такие значения:
алле межд. разг. устар.
а в другой такие:
аморалка разг. устар.
и требуется посчитать количество пар "разг. устар."
Причём эти слова не обязательно будут рядом, т.е. между "разг." и "устар." может быть впихано всякой абракадабры, иначе можно было бы воспользоваться простым ПОИСКЕСЛИ
kudich вне форума Ответить с цитированием
Старый 08.03.2010, 14:26   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

[
Код:


Public Function PARA(RNG As Range, fras1 As String, fras2 As String) As Long
 Dim n, m As Long
 PARA = 0
   Dim rr
 rr = RNG.Value
  For n = 1 To RNG.Columns.Count
   For m = 1 To RNG.Rows.Count
 If InStr(1, rr(m, n), fras1) * InStr(1, rr(m, n), fras2) <> 0 Then
 PARA = PARA + 1
 End If
Next: Next
End Function
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 08.03.2010 в 14:35.
doober вне форума Ответить с цитированием
Старый 08.03.2010, 14:52   #3
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

=СЧЁТЕСЛИ(диапазон;*разг*устар*)
ZORRO2005 вне форума Ответить с цитированием
Старый 08.03.2010, 15:33   #4
kudich
 
Регистрация: 26.06.2008
Сообщений: 2
По умолчанию

2doober
Я первый раз пользуюсь макросами, спасибо, но пока получается. Я создал макрос, сохранил его, теперь появилась функция PARA. Первый её аргумент это диапазон ячеек в которых работаем, а вторые два элемента - пара, которую будем искать. Записываются они в функцию через почку с запятой в двойных кавычках. А можешь всю логику рассказать? И может быть посоветуешь какую-нибудь книжку по программированию в excel?
2ZORRO2005 спасибо

Последний раз редактировалось kudich; 08.03.2010 в 15:36.
kudich вне форума Ответить с цитированием
Старый 08.03.2010, 16:14   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Функции VBA с пояснениями можно посмотреть здесь
В примерах замените
Console.WriteLine(InStr(1, "Это текст, " & _
"где мы будем искать слово 'тест', кстати, " & _
"функция возвратит 39", "тест"))
на

Msgbox(InStr(1, "Это текст, " & _
"где мы будем искать слово 'тест', кстати, " & _
"функция возвратит 39", "тест"))

InStr
Синтаксис: InStr([Start], String1, String2[, Compare])
Описание:
Функция возвращает позицию первого вхождения указанной последовательности символов в другой последовательности символов. Для поиска последовательности символов с конца строки можно использовать функцию InStrRev.
Start - числовое выражение, указывающее номер позиции, с которой должен начинаться поиск. По умолчанию поиск начинается с первого символа.

String1 - строковое выражение, представляющее собой строку, в которой производится поиск.

String2 - строковое выражение, представляющее собой искомую строку.

Compare - указывает метод сравнения. Двоичное ,или сравнение текста

Если String2 присутствукт в String1 то результат будет отличный от нуля.Если оба выражения присутствуют в тексте ячейки
Цитата:
InStr(1, rr(m, n), fras1) * InStr(1, rr(m, n), fras2) <> 0
значит произведение будет не равно 0.Ведем подсчет этих совпадений
Цитата:
PARA = PARA + 1

Это своего рода буквари
Справка,которую выложил Serge 007
Здесь книжка
Здесь книжка
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление и ввод значений в ячейках segail Microsoft Office Excel 0 16.12.2009 09:45
Подсчёт количества памяти занимаемого программами zonclayv Win Api 0 19.03.2009 22:03
удаление значений в ячейках pirat:) Microsoft Office Excel 4 23.12.2008 20:54
Сравнение значений в ячейках и выдача результата в различиях tovruslan Microsoft Office Excel 1 02.12.2008 22:25
при достижении определённых значений в формуле должна происходить пульсация цифр или ячейки. vladi Microsoft Office Excel 3 08.04.2007 23:34