Страницы: Пред. 1 2 3 4 5 След.
RSS
Подсчитать последовательное значение
 
Example
 
Цитата
МВТ написал:  donik  , Вам предложили несколько вариантов решения. Вы хоть один попробовали?
Да я пробовал но после внесения вашей формулы я не знаю что  делать дальше sorry
 
Вы не ответили на вопрос - в одной строке может быть несколько искомых последовательностей? Или нашли хоть одну искомую и переходим к другой строке.
Ваше "различные комбинации фигур" непонятно как трактовать. В одной формуле должна задаваться одна комбинация или несколько?
Поэтому я и просил Вас привести (сочинить) пример требуемой формулы. Представьте, что формула сделает все, как надо, но как в нее Вы бы хотели вводить диапазон ячеек и задавать шаблон? Я уже приводил пример гипотетической формулы, которая будет вводиться в ячейку:  =ИмяФункции(A1:Z1000; "а здесь что?") ну так подправьте/дополните её, как хотелось бы.
Вопросов, на самом деле, чем дальше, тем не меньше ;)
Например, последующая строка считать продолжением предыдущей, рассматривая все данные как один массив?
Поймите правильно, уже не хочется тратить время на что-то додумывая (уже было, но оказалось не то).
Пока не станет понятно, что конкретно ожидается, и как конкретно это должно считаться (лучше описать текстом на примере, как именно должен выглядеть процесс расчета), то пытаться что-то реализовывать не имеет смысла.
Изменено: ZVI - 12.05.2015 03:58:18
 
Что делать с примером в сообщении #32? Там нет ожидаемого результата и пояснений как он бы получился
 
Еще вопрос: предположим, что в данных будет последовательность -P-P-P-P-
А искать предполагается P-P, и сколько их тогда 2 или 3 ? Результат ведь зависит от алгоритма - опишите его
 
На первый вопрос - да в строке может  быть несколько последовательностей.
На счет второго вопроса как вам лучше ....поймите мне нужно просто подсчитать количество каждой комбинации.
Чтобы быть более понятным например представим что мне нужно подсчитать общее  kоличество  во всех моих листах
1. РР
2. РРP
3. РРРР и т.д.  без  всяких комбинаций ....для этого нужна одна формула или несколько?

Или вам лучше чтобы я дал вам все последовательности фигур которые мне нужно подсчитать.  
Последующая строка не продолжение, каждая строка независима друг от друга.  

Извините если сразу не смог детально объяснить. Я вас понимаю перед тем как создать формулу нужно четко знать суть.
 
#32 я дал пример моих реальных листов без  всяких описаний и на таких листах мне нужно подсчитать общее количество различных последовательностей.  
 
НАПРИМЕР В СТРОКЕ МЫ ВИДИМ BBBPPBBBPPPPBBPBB  ДРУГИМИ СЛОВАМИ PP....PPPP...P
 
Цитата
donik написал: подсчитать общее  kоличество  во всех моих листах
Формула уже должна считать не на одном листе. а не нескольких? Продумайте, пожалуйста, все требования заранее и озвучьте окончательную версию. Мне поэтому и нужен пример формулы, как Вы бы ее хотели видеть в ячейке, т.е. продумали заранее, что там должно быть. Но пока не добьюсь этого от Вас.
Цитата
для этого нужна одна формула или несколько?
По мне, так это должна быть одна формула, но с разным значением аргумента поиска, аналогично ,например , второму аргументу функции СЧЁТЕСЛИ - посмотрите в справке.
Изменено: ZVI - 12.05.2015 04:22:53
 
Цитата
donik написал:различных последовательностей
различных последовательностей или задаваемых Вами в формуле?
 
ЕСЛИ PPPP ТОГДА ЭТО БУДЕТ ВХОДИТЬ В ГРУППУ  PPPP
ВСЕГО МЫ ИМЕЕМ 5 ГРУПП  ФИГУР
1. P
2. PP
3. PPP
4. PPPP
5. PPPPP+

ЕСЛИ НАПРИМЕР PPPPPP,  PPPPPPP, PPPPPPPP, ЭТИ ВСЕ В ГРУППЕ  5+
 
Цитата
donik написал: НАПРИМЕР В СТРОКЕ МЫ ВИДИМ BBBPPBBBPPPPBBPBB  ДРУГИМИ СЛОВАМИ PP....PPPP...P
В строке всегда одна последовательность?
 
Я ДУМАЛ ФОРМУЛУ МОЖНО БУДЕТ ПЕРЕНОСИТЬ/ИСПОЛЬЗОВАТЬ  НА ДРУГИЕ ЛИСТЫ ТОЖЕ.
 
В редакторе VBE Tools->References->Microsoft VBScript Regular Expressions 5.5 (поставить галочку) ->OK.
Функцию скопировать в модуль
Код
Private Sub aaa()
Dim i As Integer, j As Integer, iL As Integer, jL As Integer
Dim s As Integer
Dim str As String
Dim re, matches
Set re = New RegExp
re.Pattern = "(^|B+)P{1}B+P{2}B+P{1}B+P{1}(B+|$)"
re.Global = True
s = 0
With ThisWorkbook.ActiveSheet
iL = .Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To iL
b1 = False: b2 = False: b3 = False: b4 = False
jL = .Cells(i, Columns.Count).End(xlToLeft).Column
str = ""
For j = 1 To jL
str = str & .Cells(i, j)
Next j
Set matches = re.Execute(str)
s = s + matches.Count
Next i
End With
MsgBox s
End Sub
Запустить на выполнение
В строке re.Pattern, то что в фигурных скобках считайте Ваши P...PP..P...P, меняйте цифры и наслаждайтесь новой последовательностью.
 
Цитата
ZVI написал: различных последовательностей или задаваемых Вами в формуле?
ЗАДАВАЕМЫХ МНОЙ В ФОРМУЛE
 
Цитата
ZVI написал:
Цитата
donik   написал: НАПРИМЕР В СТРОКЕ МЫ ВИДИМ BBBPPBBBPPPPBBPBB  ДРУГИМИ СЛОВАМИ PP....PPPP...P
В строке всегда одна последовательность?
В СТРОКЕ МОГУТ БЫТЬ РАЗЛИЧНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ  
 
На всякий случай, давайте я попробую сформулировать предположение о том, что требуется.
1. Есть диапазон строк на листе
2. В каждой строке есть последовательность ячеек с английским заглавным символом "P", разделенная ячейками с другими символами .
Требуется получить все возможные варианты последовательностей по п.2 и количество строк их содержащих.
Результат вывести на отдельный лист (или снизу данных?)

Исправьте, пожалуйста, что не так
Изменено: ZVI - 12.05.2015 04:37:13 ( лист)
 
[ZVI] > В строке всегда одна последовательность?
[donik] > В СТРОКЕ МОГУТ БЫТЬ РАЗЛИЧНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ

Есть же раница между "одна" и "одна и та же".
Меня интересовало, каждая строка - это всегда одна (не две и больше) последовательность? Если да, то это и отражено в моём предыдущем сообщении (предположении).
Изменено: ZVI - 12.05.2015 04:45:27
 
Так, вроде прояснилось, Попробую реализовать в виде макроса.
 
ИЗВИНИТЕ Я ПРОСТО НЕ ПОНЯЛ ПОЛНОСТЬЮ ЧТО ВЫ ИМЕЛИ В ВИДУ
СЕЙЧАС Я ДАМ ПРИМЕР ПОСЛЕДОВАТЕЛЬНОСТЕЙ
ОГРОМНОЕ СПАСИБО ЗА ПОТРАЧЕННОЕ ВРЕМЯ ВАМ ВЛАДИМИР МАРГАРИТА MBT ВСЕМ КТО ДАВАЛ СОВЕТ.
 
НАПРИМЕР ВОТ СТРОКА   BBBBBPPPBBBBPPPPBPPBBBPPBPPBPPBPPPPBBBPBBBPPPBPPPPBPPBPBPBPBPBPPBPBBPPBPP

МНЕ НУЖНО ПОДСЧИТАТЬ  КАКИЕ ПОСЛЕДОВАТЕЛНОСТИ ЗДЕСЬ МЫ ИМЕЕМ


 
Цитата
ZVI написал: Попробую реализовать в виде макроса.
БЛАГОДАРЮ
 
Цитата
donik написал: НАПРИМЕР ВОТ СТРОКА   BBBBB PPP BBBB PPPP B PP BBB P PB P PB PP B PPPP BBB P BBB PPP B PPPP B PP B P B P B P B P B PP B P BB PP B PP  МНЕ НУЖНО ПОДСЧИТАТЬ  КАКИЕ ПОСЛЕДОВАТЕЛНОСТИ ЗДЕСЬ МЫ ИМЕЕМ
Тут я снова потерял логику... Ну, и какие последовательности мы здесь имеем и почему?
Если это одна строка ячеек, то последовательность же одна, как мы ранее выяснили.
В другой строке ячеек может быть иная последовательность для "P".
Или все не так, и нам пора уже идти спать?
Изменено: ZVI - 12.05.2015 05:12:59
 
Поэтому я хотел дать определенные последовательности
 
Каждая строка имеет различные последовательности.

Если бы вы поняли то это очень просто что я хочу подсчитать.
 
Так, попробую сформулировать теперь новое предположение.
1. Есть диапазон строк на листе
2. В каждой строке есть ячейки с английским заглавным символом "P" и ячейки с другими символами.
3. Искомой последовательностью называются идущие в строке подряд ячейки с символом "P".
Примеры последовательностей:
P - одна ячейка с символом "P", рядом с которой такой же ячейки нет
PP -  две подряд ячейки с символом "P", до и после них - ячейки с другими символами
PPP -  три подряд ячейки с символом "P", до и после них - ячейки с другими символами
PPPP  -  четыре и более ячеек подряд с символом "P", до и после них - ячейки с другими символами

Требуется определить, сколько раз во всем диапазоне строк листа попадаются такие последовательности.
В ячейке результата должен получить такой текст: P=4, PP=3, PPP=0, PPPP=1
Что означает что последовательностей с одной P –четыре, с 2мя – 3, с 3мя – ни одной, а с четырьмя и более - 1.

Проверьте, все ли теперь верно?

И напишите ответ на мой вопрос: Ну, и какие последовательности мы здесь имеем и почему? Напишите результат по тому примеру из сообщения #53.
Изменено: ZVI - 12.05.2015 05:37:32
 
BBBBBPPPBBBBPPPPBPPBBBPPBPPBPPBPPPPBBBPBBBPPPBPPPPBPPBPBPBPBPBPPBPBBPPBPP

Например мне нужна последовательность Р....РР...Р...РР
В ЭТОЙ СТРОКЕ ЕСТЬ ТАКАЯ 1 раз значит в статистике уже имею одну

Например в следующих 500 строках общее количество этой последовательности/комбинации фигур скажем 233 раз....так в 500 строках вышло 233
Теперь мне нужна последовательность Р....РР...Р....Р
я должен определить сколько встречается в ТЕХ ЖЕ 500 СТРОКАХ...
И ТАКИХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ У МЕНЯ ОКОЛО 10-15
МНЕ НУЖНО ЗНАТЬ КОЛИЧЕСТВО КАЖДОЙ СКАЖЕМ В 10 000 СТРОКАХ.....СТАТИСТИКУ  
 
Цитата
donik написал: Например мне нужна последовательность
Тяжело с Вами... Мы же о другом договорились.
Откуда же я знаю, какие последовательности Вам нужны?
Тогда возвращаемся к тому, что их в формуле как-то нужно задавать - придумывайте пример написания такой формулы.
Приложите пример данных в пару небольших строк, напишите, какую последовательность ищите и вручную там напишите ожидаемый результат.
Изменено: ZVI - 12.05.2015 05:42:24
 
По моему вопросу в #36, уточню - предположим, что в данных будет последовательность ...P...P...P...P...
Требуется найти последовательность P...P, ну и сколько их тогда 2 или 3 ? Результат ведь зависит от алгоритма - опишите его
 
Похоже, что Михаил (МВТ) был ближе меня к пониманию задачи, почитайте внимательно его сообщения #11 (код) и #13 (что записать в формулу ячейки)
Изменено: ZVI - 12.05.2015 05:50:57
Страницы: Пред. 1 2 3 4 5 След.
Наверх