Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
Разнесение и подсчёт количества серий из цифр в строке, количества цифр и их сумм в заданном диапазоне
 
Igor67, я попытался изменить Ваш модуль 1 для сравнения плана и факта, вроде работает, хоть и написал криворуко и рукопопа, если получится, хотелось бы. чтоб он стал человеческий. Про серию 24, да она должна работать, вроде даже работает. Про сумму в сериях пока ваще не получается. Сама идея заключается в том, чтобы  сосчитать факт соответствующий плану, т.е. по плану событие или нет, к учёту идёт, то что по плану.

Соответствие значений не важно, т.е. если планировали 1 час, а фактически было 3, то 1 серия. Если не планировали, то к учёту не идёт.

В примере: 1 группа строк - факт по плану по сериям "более 24 по плану"  - 2 серии сумма  56, по "менее 24 по плану" - 4 сумма 13.
                      2 группа строк - факт по плану по сериям "более 24 по плану"  - 1 серия сумма  29, по "менее 24 по плану" - 0 сумма 0
                      3 группа строк - факт по плану по сериям "более 24 по плану"  - 0 серий сумма  0, по "менее 24 по плану" - 2 сумма 3.

* сумма в примере не считается (красным)
Разнесение и подсчёт количества серий из цифр в строке, количества цифр и их сумм в заданном диапазоне
 
Всем добрый день! Igor67 написал и отшлифовал великолепные макросы для разнесения и подсчёта количества серий из цифр в строке, количества цифр и их сумм в заданном диапазоне.
Сейчас выполняется автоматический подсчёт и разнесение по столбцам серий цифр и количества, а так же их сумм при следующих условиях:
1. если в заданном диапазоне в ячейке есть значение 24 (или более) и в предыдущей или последующей ячейке значение больше нуля, то в столбце "Более 24, количество, шт" (А12) должно отразиться количество таких серий,  а  в столбце "Более 24, продолжительность, час" (В12) сумма значений.
2. если в заданном диапазоне в ячейке есть значение 24  и в предыдущей или последующей ячейке пусто (или 0), в ячеках подряд или не подряд значения менее 24, то в столбце "Менее 24, количество, шт" (С12) должно отразиться количество таких ячеек,  а  в столбце "Менее 24, продолжительность, час" сумма значений (D12).

Прошу помочь доработать данные макросы в части сопоставления двух строк план и факт, т.е.:
1.  если в заданном диапазоне верхней и нижней строки в ячейках есть значение 24 (или более) и в предыдущей или последующей ячейке значение больше нуля, то в столбце "Более 24, количество, шт" (Е12) и (F12) "Менее 24 по плану/количество/продолжительность) ничего не должно быть.
2. если в заданном диапазоне  верхней и нижней строки в ячейках есть значение 24  и в предыдущей или последующей ячейке пусто (или 0), в ячеках подряд или не подряд значения менее 24, и в ячейках верхней и нижней не пусто, тогда в столбце "Менее 24 по плану, количество, шт" (Е12) должно отразиться количество таких ячеек,  а  в столбце "Менее 24 по плану, продолжительность, час" сумма значений (F12).
Сложно объяснить, но на пальцах необходимо добавить сравнения по вертикали, т.е. в таблице:
5 числа при плане 3 было 5, идет в количество и сумму;
7 числа при плане 5 было 0, никуда не идёт;
10 числа при плане 5 было 5, идет в количество и сумму;
Тогда суммарно в Е12 - 2, F12 - 10
....как-то так

Люди знающие, умеющие, помогите!
Подсчёт суммы нефиксированного количества значений, идущих не подряд, в определённом диапазоне
 
Спасибо Светлый, и memo, в результате взял вашу совместную формулу, она как раз показалась мне наиболее универсальной
=СУММПРОИЗВ(Ч(+E$6:E$30)*($D$6:$D$30=$D32)*((СТРОКА(D$6:D$30)<ПОИСКПОЗ("СИНИЙ";$F:$F;))=(СЧЕТЕСЛИ($C29:$C32;"*ЫЙ")>0)))

Ещё раз СПАСИБО!!!
Изменено: Peet - 18.12.2020 10:54:26
Подсчёт суммы нефиксированного количества значений, идущих не подряд, в определённом диапазоне
 
Цитата
Светлый написал: =(ПРАВБ($C29&$C30&$C31&$C32;2)="ЫЙ")))
Светлый
, всё здорово, действительно работает как универсальная, только вот эту часть понять не могу, почему ЫЙ и что она по логике делает (вопрос конечно не совсем корректный, но так на пальцах)....если не сложно
Изменено: Peet - 17.12.2020 08:21:39
Подсчёт суммы нефиксированного количества значений, идущих не подряд, в определённом диапазоне
 
memo, этот вариант намного проще и лучше! Спасибо!

Вообще не понял зачем вводится дополнительный столбец (см. предыдущие сообщения темы), если при этом формула не является универсальной, т.е. имеется ДВЕ формулы для синего и красного  массива, смысл их обозначать, если можно задать по границам массива.
Задача размещена скорее не для потому что мне приспичило и возникла необходимость, а для выработки оптимального (может быть совершенного) решения!
Я, изначально, представлял это как макрос с изменяемыми значениями от красного до синего, с ориентированием на поиск "план 1" и т.д. и последующего суммирования...

Для интереса: разработать универсальную формулу....ну или как-то так...
Подсчёт суммы нефиксированного количества значений, идущих не подряд, в определённом диапазоне
 
Цитата
Максим В. написал:
Предложил простое и понятное решение
нужно оптимальное, без изменения данных и т.д.
Подсчёт суммы нефиксированного количества значений, идущих не подряд, в определённом диапазоне
 
Максим В.,ни коим образом не хотел Вас задеть или оскорбить. А насчёт оптимальность хранения данных, там всё сложнее, просто файл примера абсолютно условный, по правилам форума обозначил узко направленную, конкретную  задачу)))
Подсчёт суммы нефиксированного количества значений, идущих не подряд, в определённом диапазоне
 
Ну как вариант.....не самый оптимальный, но спасибо!
Подсчёт суммы нефиксированного количества значений, идущих не подряд, в определённом диапазоне
 
Да, всегда, если это имеет значение. В каждой секции 4 строки, как обзывать думаю не суть....
Подсчёт суммы нефиксированного количества значений, идущих не подряд, в определённом диапазоне
 
Всем добрый день! Прошу помочь найти оптимальный способ (формулу, функцию, макрос) подсчёта суммы не фиксированного количества значений, расположенных через некоторое количество строк в определённом диапазоне. При этом, ВАЖНО, что количество суммируемых значений может изменятся!
В файле примера:необходимо подсчитать суммы значений "план 1", "план 2", "факт 1" и "факт 2" соответственно в красном и синем диапазонах, при этом, количество "секций" может меняться, как добавляться, так и удалятся.

Заранее благодарен всем, кто применит свои навыки, умения и нестандартное мышление!
Разнесение и подсчёт количества серий из цифр в строке, количества цифр и их сумм в заданном диапазоне
 
Да, более чем даже изначально в задаче представлялось....НЕТ ПРЕДЕЛА СОВЕРШЕНСТВУ!
Разнесение и подсчёт количества серий из цифр в строке, количества цифр и их сумм в заданном диапазоне
 
Igor67,а это побеждать не придётся, во всяком случае, в том проекте, который мы с Вами делаем))))
там идёт подсчёт часов и достаточно 1 знака после запятой, большая точность не требуется.
Ещё раз СПАСИБО!
Разнесение и подсчёт количества серий из цифр в строке, количества цифр и их сумм в заданном диапазоне
 
Igor67,спасибо, а то сам бы очень долго бы искал....и не нашёл бы
Разнесение и подсчёт количества серий из цифр в строке, количества цифр и их сумм в заданном диапазоне
 
Igor67,а конкретно в Ваших функциях это как будет выглядеть?
Разнесение и подсчёт количества серий из цифр в строке, количества цифр и их сумм в заданном диапазоне
 
Igor67,только ещё один нюанс, что надо поменять в функции, чтобы подсчёт был до 1 знака после запятой, без округления?
Разнесение и подсчёт количества серий из цифр в строке, количества цифр и их сумм в заданном диапазоне
 
Igor67, всё считает как надо и как хотелось. ОГРОМНОЕ ВАМ СПАСИБО! ВОСХИЩЁН ВАШИМИ СПОСОБНОСТЯМИ!
Ещё раз СПАСИБО!
Разнесение и подсчёт количества серий из цифр в строке, количества цифр и их сумм в заданном диапазоне
 
Если в первую ячейку поставить 24, то сумма возникает в "Более 24"...а её там быть не должно
Разнесение и подсчёт количества серий из цифр в строке, количества цифр и их сумм в заданном диапазоне
 
Igor67,почти...с 30-31 числом что-то не совсем...
Разнесение и подсчёт количества серий из цифр в строке, количества цифр и их сумм в заданном диапазоне
 
Igor67,Вы о том, что если в первой и второй ячейке 24 то в сумму не идёт? При серии 24, 24 и т.д., первое значение в сумму не идёт....почему-то(((
А вообще Igor67, просто СУПЕР!!!

...и последнее значение не учитывает, если 31 число
Разнесение и подсчёт количества серий из цифр в строке, количества цифр и их сумм в заданном диапазоне
 
не нужно жать на кнопку цитирования только пому, что она есть [МОДЕРАТОР]

Игорь, всё работает, почти всё....если в первую ячейку (за первое число) ввести значение, то всё ломается((((
Это возможно исправить?
Разнесение и подсчёт количества серий из цифр в строке, количества цифр и их сумм в заданном диапазоне
 
не совсем, 1-вариант верно, если превышает 24 часа подряд, то серия (т.е. 2424245 - это 1 серия сумма 77),
а второй вариант не серии, а числа...т.е. 24 5 6 - это 3 числа, сумма 35

т.е. если в строке идёт 24245 6 7 24 - то 1 серия сумма 53 и 3 числа сумма 47

с разнесением по столбцам

вроде понятно....
Разнесение и подсчёт количества серий из цифр в строке, количества цифр и их сумм в заданном диапазоне
 
Всем добрый день! Не могу придумать макросы для разнесения и подсчёта количества серий из цифр в строке, количества цифр и их сумм в заданном диапазоне. Задача: обеспечить автоматический подсчёт и разнесение по столбцам серий цифр и количества, а так же их сумм при следующих условиях:
1. если в заданном диапазоне в ячейке есть значение 24 (или более) и в предыдущей или последующей ячейке значение больше нуля, то в столбце "Более 24, количество, шт" (А12) должно отразиться количество таких серий,  а  в столбце "Более 24, продолжительность, час" (В12) сумма значений.
2. если в заданном диапазоне в ячейке есть значение 24  и в предыдущей или последующей ячейке пусто (или 0), в ячеках подряд или не подряд значения менее 24, то в столбце "Менее 24, количество, шт" (С12) должно отразиться количество таких ячеек,  а  в столбце "Менее 24, продолжительность, час" сумма значений (D12).

*Для ячеек А12 макрос имеется, вроде работает
** Для ячеек В12 макрос писал, но он кривой, считает только первые значения, вообще его как и нет лучше считать.

Люди знающие, умеющие, помогите!
Нельзя установить свойство Hidden класса Range
 
Цитата
aequit написал:
Защищаете паролем проект и никто внутрь кода не доберется, Ваши модули (с паролем) не увидит
А вот за это спасибо! Остальное я так  и прописал, разобрался, а вот про это....СПАСИБО!
Нельзя установить свойство Hidden класса Range
 
aequit,спасибо вам большое, немного поправил, как смог разобраться, теперь почти всё работает....вот только сложность выше описанная
Нельзя установить свойство Hidden класса Range
 
vikttur,вроде сделал как писали:
Цитата
vikttur написал:
Снять защиту (Unprotect)Скрыть/отбразить столбецУстановить защиту  (Protect)
но для скрытия и показа нужно пароль ввести, не совсем то что нужно, хотелось, чтобы и скрытие и отображения не запрашивало пароль
Нельзя установить свойство Hidden класса Range
Нельзя установить свойство Hidden класса Range
 
vikttur, Защита с паролем, тогда в макросе его увидеть можно будет, так ведь?
Нельзя установить свойство Hidden класса Range
 
Нашел в архиве вот такое, но куда это прислюнить не знаю, в VBA совсем не волоку:


Может, кому интересно или поможет в решении ошибки  
"Нельзя установить свойство Hidden класса Range" при скрывании целых колонок через  
.EntireColumn.Hidden = True  
 
Одна из возможных причин (в моем случае)  
Если  скрываемый диапазон содержит большое количество столбцов и в одной из  ячеек этого диапазона есть примечание, которое имеет свойсвто  .Comment.Visible = True  
возможно появление этой ошибки при попытке скрыть такой диапазон.    
Прячем комментарий .Comment.Visible = False и все работает  
Нельзя установить свойство Hidden класса Range
 
Необходимо, чтобы при одетой защите, всё фунициклировало...
Нельзя установить свойство Hidden класса Range
 
Доброе время суток!
Столкнулся с проблемой при автоматической скрытии файлов, выскакивает сообщение "Нельзя установить свойство Hidden класса Range"
Столбцы скрываются при изменении даты в ячейке ВС5 прилагаемого примера (меняем месяц, получаем календарь на месяц, лишние дни скрываются, содержимое ячеек очищается). Скрытие столбцов происходит по средствам кода, написанного aequit:
Код
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("BC5")) Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Dim lLastDay As Long
    Dim x As Date
    Dim DayinMonth As Long
    x = DateAdd("m", 1, Range("BC5"))
    lLastDay = DateSerial(Year(x), Month(x), 0)
    DayinMonth = Day(lLastDay)
    Select Case DayinMonth
        Case Is = 31
            ActiveSheet.Columns(52).Hidden = False &#39;29
            ActiveSheet.Columns(53).Hidden = False &#39;30
            ActiveSheet.Columns(54).Hidden = False &#39;31
        Case Is = 30
            ActiveSheet.Columns(52).Hidden = False &#39;29
            ActiveSheet.Columns(53).Hidden = False &#39;30
            ActiveSheet.Columns(54).Hidden = True &#39;31
            Range("BB12:BB300").ClearContents
       Case Is = 29
            ActiveSheet.Columns(52).Hidden = False &#39;29
            ActiveSheet.Columns(53).Hidden = True &#39;30
            ActiveSheet.Columns(54).Hidden = True &#39;31
            Range("BA12:BB300").ClearContents
        Case Is = 28
            ActiveSheet.Columns(52).Hidden = True &#39;29
            ActiveSheet.Columns(53).Hidden = True &#39;30
            ActiveSheet.Columns(54).Hidden = True &#39;31
            Range("AZ12:BB300").ClearContents
    End Select
    Application.ScreenUpdating = True
End Sub 

После защите листа, при изменении даты, выскакивает эта пакость....кто-то может помочь поправить код?
Страницы: 1 2 След.
Наверх