Страницы: 1
RSS
Автозаполнение таблиц значениями больше нуля
 
Доброго времени суток. Обрисую проблему. Есть таблица с двумя столбцами. В первом столбце текст, во втором числовые значения. Необходимо автозаполнение таблицы на другом листе только теми строками из исходной таблицы, числовые значения в которых больше нуля. Заранее благодарю за ответ.  
 
Добрый и Вам. Покажите файл-пример с исходными данными и желаемым результатом.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Благодарю за ответ. Данные из листа 3 в следующий лист "спец-ция 0.4". Для удобства, желаемые ячейки помечены жëлтым цветом.  
 
Куболда Кикъялданов,  так ?
Код
Sub dsd()
Dim cell As Range
Dim i As Long, lr As Long
Dim list3 As Worksheet, Spec As Worksheet
Set list3 = Worksheets("Лист3")
Set Spec = Worksheets("Спец-ция 0.4")
lr = Spec.Cells(Rows.Count, 2).End(xlUp).Row
For i = 3 To lr
    Set cell = list3.Columns(2).Find(Spec.Cells(i, 3))
    If Not cell Is Nothing Then
    If cell.Offset(0, 30) > 0 Then
        Spec.Cells(i, 7) = cell.Offset(0, 30)
        Spec.Cells(i, 8) = cell.Offset(0, 1)
    End If
    End If
Next i
End Sub

Изменено: Mershik - 04.06.2020 21:53:45
Не бойтесь совершенства. Вам его не достичь.
 
Благодарю. А без макроса никак?  
Идея в том, чтобы ВПР определял крайний заполненный столбец в листе 3.
 
Куболда Кикъялданов, ну например заверните в если  типа

=ЕСЛИ(впр()>0;впр();"")

или в G6

Код
=ЕСЛИ(ЕЧИСЛО(ИНДЕКС(Лист3!$AF:$AF;ПОИСКПОЗ($C6;Лист3!$B:$B;0);1));ИНДЕКС(Лист3!$AF:$AF;ПОИСКПОЗ($C6;Лист3!$B:$B;0);1);"")

и в H6

Код
=ЕСЛИ(ЕЧИСЛО(ИНДЕКС(Лист3!$AF:$AF;ПОИСКПОЗ($C6;Лист3!$B:$B;0);1));ИНДЕКС(Лист3!$C:$C;ПОИСКПОЗ($C6;Лист3!$B:$B;0);1);"")
Изменено: Mershik - 05.06.2020 09:37:05
Не бойтесь совершенства. Вам его не достичь.
 
Благодарю, отличная мысль! Тоже пытался выкрутится с помощью "ИНДЕКС-ПОИСКПОЗ". Малость ещë подшаманю, чтобы ссылка на крайний столбец листа 3 в формуле, не слетала при добавлении промежуточных столбцов.  
Страницы: 1
Наверх