2 таблицы. В ячейки колонки "Атрибуты" первой таблицы надо вставить данные из ячеек 4-х колонок второй таблицы, предварительно добавив перед значением каждой добавляемой ячейки определенные данные (константы), разделенные вертикальной чертой (соответствие колонок и добавляемых данных, я указал во второй таблице справа). Причем вставляемые данные из ячейки одной колонки должны быть разделены с данными из ячейки другой колонки переносом строки. Например: берем значение из первой колонки "белый", так как данной колонке в таблице соответствия стоит "цвет", то в ячейку А2 колонки "Атрибуты" первой таблицы записываем "Цвет|белый". Далее берем значение из второй колонки "908", так как данной колонке в таблице соответстветствует значение "Размер", то в ячейку А2 добавляем перенос строки и "размер|908". Аналогично и с другими колонками. Если ячейка без данных, то ничего и не переносим. В первой таблице показал, как должен выглядеть конечный результат, думаю по нему понятно что я хочу. Скажите одно, формулы не спасут, нужен макрос? Если да, то сложный, сколько по Вашему может стоить такая работа? Большое спасибо!
2 таблицы. В ячейки колонки "Атрибуты" первой таблицы надо вставить данные из ячеек 4-х колонок второй таблицы, предварительно добавив перед значением каждой добавляемой ячейки определенные данные (константы), разделенные вертикальной чертой (соответствие колонок и добавляемых данных, я указал во второй таблице справа). Причем вставляемые данные из ячейки одной колонки должны быть разделены с данными из ячейки другой колонки переносом строки. Например: берем значение из первой колонки "белый", так как данной колонке в таблице соответствия стоит "цвет", то в ячейку А2 колонки "Атрибуты" первой таблицы записываем "Цвет|белый". Далее берем значение из второй колонки "908", так как данной колонке в таблице соответстветствует значение "Размер", то в ячейку А2 добавляем перенос строки и "размер|908". Аналогично и с другими колонками. Если ячейка без данных, то ничего и не переносим. В первой таблице показал, как должен выглядеть конечный результат, думаю по нему понятно что я хочу. Скажите одно, формулы не спасут, нужен макрос? Если да, то сложный, сколько по Вашему может стоить такая работа? Большое спасибо!oxojeck
Function JoinRng(Rng As Range) As String Dim arr arr = Split("цвет размер комната тип") With Rng For I = 1 To 4 If Not IsEmpty(.Cells(1, I)) Then JoinRng = JoinRng & arr(I - 1) & "|" & .Cells(1, I) & " " Next I End With JoinRng = Application.WorksheetFunction.Trim(JoinRng) End Function
[/vba] При желании можно ее в макрос засунуть, чтобы в выделенном диапазоне сам проходил и все подставлял
Вот такая UDF получилась [vba]
Код
Function JoinRng(Rng As Range) As String Dim arr arr = Split("цвет размер комната тип") With Rng For I = 1 To 4 If Not IsEmpty(.Cells(1, I)) Then JoinRng = JoinRng & arr(I - 1) & "|" & .Cells(1, I) & " " Next I End With JoinRng = Application.WorksheetFunction.Trim(JoinRng) End Function
[/vba] При желании можно ее в макрос засунуть, чтобы в выделенном диапазоне сам проходил и все подставлялМВТ