Поскольку кажется, что нет ничего тривиального, используя только его функции, в итоге я использовал макрос (чего я хотел избежать).
Dim all_lov As Variant Dim row_nr As Integer Sub Button1_Click() Worksheets("LoV").Range("I:N").Delete row_nr = 3 all_lov = Worksheets("LoV").ListObjects("tbl_lov").DataBodyRange.Value Worksheets("LoV").Range("B3:G3").Copy Worksheets("LoV").Range("I3") For i = 1 To UBound(all_lov) If all_lov(i, 6) = True Then row_nr = row_nr + 1 Worksheets("LoV").Range("B" & (3 + i) & ":G" & (3 + i)).Copy Worksheets("LoV").Range("I" & row_nr) End If Next i Worksheets("Lov").ListObjects.Add(SourceType:=xlSrcRange, Source:=Worksheets("LoV").Range("I3:N" & row_nr), xlListObjectHasHeaders:=xlYes, tablestyleName:="TableStyleDark3").Name = "tbl_lovActive" End Sub
Это будет повторять мою существующую таблицу и копировать в новый диапазон только активные проекты. Проверка данных указывает на новую таблицу.