суммировать если

Автор DragoN1111, 26 января 2016, 16:23

0 Пользователи и 1 гость просматривают эту тему.

DragoN1111

1. да  столбец меняется, дырок не будет
2. справа и слева не интересует
3. да длинна как у исходного вначале нули затем результаты
4. да и не будет
все, верно извини за головомойку с екселем вроде дружу а программирование забыл начисто :(((
еще если не трудно добавить подсчет в конце столбца среднего без учета начальных нулей, только по результату подсчета
как то так :(((

JohnSUN

Ещё три уточняющих вопроса:
1. Такая пара столбцов будет одна на листе?
2. И исходный диапазон, и результат подсчета - будут на одном листе, как в твоих образцах?
3. На пуркуа это всё надо?
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

DragoN1111

1. столбцов 5-20
2. результат будет на другом листе
3. проверка одной теории

DragoN1111

объясните барану если не в лом:  ???
вот результат работы макроса
лист L1 в столбце А содержит лог работы датчика (взятый из произвольного места или весь лог без разницы), который "якобы" срабатывает случайно
столбец В результат просчета серий, в столбце С: количество одиночных, двойных и т.д. серий
на листе L2 тоже самое только для инверсии столбца А с листа L1
Вопрос: почему для "якобы" случайного датчика совпадает сумма количества серий и это справедливо для любого из датчиков?
Может я что не так делаю?

rami

Цитата: DragoN1111 от 28 января 2016, 20:28Вопрос: почему для "якобы" случайного датчика совпадает сумма количества серий и это справедливо для любого из датчиков?
Для любой последовательности единиц и нулей, сумма количества серий единиц или нулей будет либо равна (если первая и последняя цифра разные), либо различаться на единицу (если первая и последняя цифра одинаковые)

DragoN1111

а как исправить макрос чтобы в конце оставались только суммы серий без нулей вообще

JohnSUN

Образец желаемого результата продемонстрируешь?
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

DragoN1111


JohnSUN

D2:D17 не соответствуют требованию "без нулей вообще"
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

DragoN1111

я имел ввиду что при встрече нуля в исходном массиве подсчет в серии заканчивается, результат записывается в ячейку и начинается поиск и подсчет следующей серии, а начало также затирается нулями.
Т.е. было: 1,0,1,1,1,0,0,1,1,1,1, стало 0,0,0,0,0,0,0,0,1,3,4

JohnSUN

...
For i = LBound(aInp)+1 To UBound(aInp)
If aInp(i, 1) Then ' В очередной ячейке единичка?
aInp(n, 1) = aInp(n, 1) + aInp(i, 1)
aInp(i, 1) = 0
Else ' В очередной ячейке ноль
If aInp(n, 1) Then n = n + 1 ' Сдвигаемся к следующей ячейке
EndIf
Next i
...
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

DragoN1111

все хорошо только иногда в конце остается "0"