Необходимо автоматизировать отбор из огромного списка значений Листа1 и вывести необходимые в Лист2.
Лист1
Строки с залитые
синим это этапы корректировки.
Между ними строки без заливки это контрольные измерения.
Лист2
1-6 столбец - значения последнего из
6-20 контрольных измерений (В ЗАВИСИМОСТИ ОТ ТОГО СКОЛЬКО ИХ ЕСТЬ до наступления новой КОРРЕКТИРОВКИ, т.е.
синей строки), которые ПЕРВЫЕ подряд удовлетворили установленным ограничениям по "среднеарифметическому отклонению по длине" не превысили от -2 до 2 и "среднеарифметическому отклонению по диаметру" не превысили от -3 до 3).
7-9 столбец - столбец "кол-ва сортиментов" - это функция СЧЁТ по первым УСПЕШНЫМ (т.е. удовлетворяющим условию отклонения)
6-20 подряд контрольным измерениям, а столбцы по "среднеарифметическому отклонению по длине" и "диаметру" это средние значения этих контрольных измерений.
10 столбец - если в рамках одной
КОРРЕКТИРОВКИ были выполнены контрольные измерения с диаметрами стволов до 200 то М, если от 200 и до 300 то К, если выше то С, Если были все диаметры, то М,К,С.
11 столбец - время первой
корректировки в рамках которой было проведено
6-20ти УСПЕШНЫХ контрольных измерений.
12 столбец - столбец "Количество сортиментов с последней корректировки" - это функция СЧЁТ по последним НЕУДОВЛЕТВОРИТЕЛЬНЫМ
6-20 (т.е. до наступления
корректировки с удовлетворительными показателями отклонений) контрольным измерениям в которых отклонения по длине и диаметру превысили установленные ограничения. + если значения на выходе окажутся от 6-9 то желтая заливка этой ячейки, от 10-15 зеленая.
я пытался в коде определить границы с которых начинаются удовлетворительные контр. измерения условиям отклонения, но как это реализовать грамотно не приложу ума
Dim i As Integer
Dim a As Integer
Dim iLastRow As Integer
iLastRow = .Cells(.Rows.Count, "L").End(xlUp).Row
For i = 2 To iLastRow
If Cells(i, 12) = "0:00:00" Then
If Cells(i, 19) >= -2 Or Cells(i, 19) <= 2 Then 'колонка 19 (-2 - 2)
If Cells(i, 20) >= -3 Or Cells(i, 20) <= 3 Then 'колонка 20 (-3 - 3)
Exit For
End If
End If
End If
Next i