Страницы: 1
RSS
Выбор нескольких значений из заголовка таблицы.
 
Подскажите пожалуйста, как сделать.
Нужно по наличию любых знаков в строке (B2:F2) получить список работ из заголовка таблицы (B1:F1) к ячейке H2 (в ней сейчас написано, что в результате должно получиться). Заранее количество "активных ячеек" в строке неизвестно. От одной, до всех сразу. Знаки в таблице можно ставить какие угодно, лишь бы заработало.
 
В модуль листа:
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("Таблица1")) Is Nothing Then
        x = Cells(1, Columns.Count).End(xlToLeft).Column
        For i = 2 To x
            If Cells(Target.Row, i) <> "" Then
                y = y & " " & Cells(1, i)
            End If
        Next
    Cells(Target.Row, 8) = Trim(y)
    End If
End Sub
Изменено: GRIM - 02.12.2019 09:52:13
 
Спасибо. Буду пользоваться.
А без VBA такое возможно?
 
gnork, в Power Query можно)
правильно писать - фрезеровка
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, {"Столбец1"}, "Атрибут", "Значение"),
    #"Grouped Rows" = Table.Group(#"Unpivoted Other Columns", {"Столбец1", "Значение"}, {{"a", each Text.Combine([Атрибут]," ")}})[a]
in
    #"Grouped Rows"
 
Почитайте здесь: https://www.planetaexcel.ru/techniques/7/205/
А можно ещё решить прям в лоб
Код
=ЕСЛИ(Таблица1[@Сверление]<>"";Таблица1[[#Заголовки];[Сверление]]&" ";"")&ЕСЛИ(Таблица1[@Точение]<>"";Таблица1[[#Заголовки];[Точение]]&" ";"")&ЕСЛИ(Таблица1[@Фрезировка]<>"";Таблица1[[#Заголовки];[Фрезировка]]&" ";"")&ЕСЛИ(Таблица1[@Покраска]<>"";Таблица1[[#Заголовки];[Покраска]]&" ";"")&ЕСЛИ(Таблица1[@Сварка]<>"";Таблица1[[#Заголовки];[Сварка]]&" ";"")
Изменено: msi2102 - 02.12.2019 10:14:42
 
gnork, еще вариант формулой если выводить не в одну ячейку, а в столбцы (в сторону)
в H2 и протянуть в низ и в право.
Код
=ЕСЛИОШИБКА(ИНДЕКС($B$1:$F$1;0;ПОИСКПОЗ(1;ИНДЕКС((СЧЁТЕСЛИ($G2:G2;$B$1:$F$1)=0)/($B2:$F2<>"");0);0));"")
так же еще такой способ.
https://www.planetaexcel.ru/techniques/2/81/
Не бойтесь совершенства. Вам его не достичь.
 
А ещё у Щербакова Дмитрия была пользовательская функция "СцепитьЕсли" вот ЗДЕСЬ
Страницы: 1
Наверх