Add Me!Close Menu Navigation
Полный список уроков excel

Данные из нескольких ячеек в одну

Есть несколько способов поместить данные из нескольких ячеек в одну.

Самый простой  — это использовать знак &,

Если между данными ячеек нужны пробелы или другие знаки, их можно проставить в отдельном столбце, потом их просто скрыть (в примере в ячейке С2 стоит пробел).

Есть более легкий способ — использовать формулу, чтобы не тыркать кажду ячейку вручную. Это формула СЦЕПИТЬ

Этот способ хорош, если не нужно объединять большие диапазоны данных.

Если нужно объединить данные из большого количества ячеек, расположенных в одном или в нескольких столбцах, проще всего использовать макросы. Для этого находясь в том файле, где нужно разместить в одной ячейке данные и других ячеек надо нажать Alt+F11. Откроется окно макросов. Там надо выбрать пункт Insert, в выпавшем списке пункт Module

и в открывшемся белом поле вставить следующие макрос

Function СЦЕПДИАП_A(Диапазон As Variant, Optional Разделитель As String = » «, _
Optional ПоСтолбцам As Boolean = False, Optional сПереносом As Boolean = False) As String
‘—————————————————————————————
‘ Author       : RAN
‘ Purpose      : Сцепляет текст ячеек из заданного диапазона
‘ Notes      : Разделитель по умолчанию » »
‘ Notes      : Optional ПоСтолбцам — просмотр по строкам(умолчание) и по столбцам
‘ Notes      : Optional сПереносом по умолчанию — «нет»
‘—————————————————————————————
Dim i&, j&, k&, arr
If сПереносом Then
If Разделитель <> » » Then
Разделитель = Разделитель & vbLf
Else
Разделитель = vbLf
End If
End If
If TypeName(Диапазон) = «Range» Then Диапазон = Диапазон.Value
If Not IsArray(Диапазон) Then СЦЕПДИАП_A = Диапазон: Exit Function
ReDim arr(1 To UBound(Диапазон, 1) * UBound(Диапазон, 2))
If ПоСтолбцам Then
For i = 1 To UBound(Диапазон, 2)
For j = 1 To UBound(Диапазон, 1)
If Len(Диапазон(j, i)) Then k = k + 1: arr(k) = Диапазон(j, i)
Next: Next
Else
For j = 1 To UBound(Диапазон, 1)
For i = 1 To UBound(Диапазон, 2)
If Len(Диапазон(j, i)) Then k = k + 1: arr(k) = Диапазон(j, i)
Next: Next
End If
ReDim Preserve arr(1 To k)
СЦЕПДИАП_A = Join(arr, Разделитель)
СЦЕПДИАП_A = Application.Trim(СЦЕПДИАП_A)
End Function

Далее вернуться к странице excel и там в нужной ячейке вписать формулу =СЦЕПДИАП_A(ваш диапазон)

И все готово!

Popularity: 4% [?]

поведал admin

Оставьте комментарий




Рубрики