4 способа разбить ячейки на части в программе Microsoft Excel. Excel разбить на столбцы


Как разбить ячейку на две в Excel

При работе с таблицами Excel иногда нужно разбить определенную ячейку на две части. Но, это не так просто, как кажется на первый взгляд. Давайте разберемся, как разбить ячейку на две части в программе Microsoft Excel, и как её разделить по диагонали.

Разделение ячеек

Сразу нужно отметить, что ячейки в программе Microsoft Excel являются первичными структурными элементами, и они не подлежат делению на более мелкие части, если до этого не были объединены. Но, что делать, если нам, например, нужно создать сложную шапку таблицы, один из разделов который, делится на два подраздела? В этом случае, можно применить небольшие хитрости.

Способ 1: объединение ячеек

Для того, чтобы определенные ячейки казались разделенными, следует объединить другие ячейки таблицы.

  1. Нужно хорошо продумать всю структуру будущей таблицы.
  2. Над тем местом на листе, где нужно иметь разделенный элемент, выделяем две соседние ячейки. Находясь во вкладке «Главная», ищем в блоке инструментов «Выравнивание» на ленте кнопку «Объединить и поместить в центре». Жмем на неё.
  3. Для наглядности, чтобы лучше видеть, что у нас получилось, установим границы. Выделяем весь диапазон ячеек, который планируем отвести под таблицу. В той же вкладке «Главная» в блоке инструментов «Шрифт» жмем на иконку «Границы». В появившемся списке выбираем пункт «Все границы».

Как видим, несмотря на то, что мы ничего не делили, а наоборот соединяли, создается иллюзия разделенной ячейки.

Урок: Как объединить ячейки в программе Excel

Способ 2: разделение объединенных ячеек

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

  1. Выделяем два соседних столбца. Кликаем на стрелку около кнопки «Объединить и поместить в центре». В появившемся списке, кликаем по пункту «Объединить по строкам».
  2. Кликаем по той объединенной ячейке, которую нужно разделить. Опять жмем на стрелку около кнопки «Объединить и поместить в центре». На этот раз выбираем пункт «Отменить объединение».

Таким образом, мы получили разделенную ячейку. Но, нужно учесть, что Excel воспринимает этим способом разделенную ячейку, как единый элемент.

Способ 3: разделение по диагонали путем форматирования

А вот, по диагонали можно разделить даже обычную ячейку.

  1. Кликаем правой кнопкой мыши по нужной ячейке, и в появившемся контекстном меню выбираем пункт «Формат ячеек…». Или же, набираем на клавиатуре сочетание клавиш Ctrl+1.
  2. В открывшемся окне формата ячеек, переходим во вкладку «Граница».
  3. Около размещенного посередине окна «Надпись» кликаем на одну из двух кнопок, на которых изображена косая линия, наклоненная справа налево, или слева направо. Выбираем нужный вариант. Тут же можно выбрать тип и цвет линии. Когда выбор сделан, жмем на кнопку «OK».

После этого, ячейка будет разделена косой чертой по диагонали. Но, нужно учесть, что Excel воспринимает этим способом разделенную ячейку, как единый элемент.

Способ 4: разделение по диагонали через вставку фигуры

Следующий способ подойдет для разделения ячейки по диагонали только в том случае, если она большая, или создана путем объединения нескольких ячеек.

  1. Находясь во вкладке «Вставка», в блоке инструментов «Иллюстрации», кликаем по кнопке «Фигуры».
  2. В открывшемся меню, в блоке «Линии», кликаем по самой первой фигуре.
  3. Проводим линию от угла к углу ячейки в том, направлении, которое вам требуется.

Как видим, несмотря на то, что в программе Microsoft Excel не существует стандартных способов разбить первичную ячейку на части, с помощью нескольких способов можно достигнуть требуемого результата.

Мы рады, что смогли помочь Вам в решении проблемы. Задайте свой вопрос в комментариях, подробно расписав суть проблемы. Наши специалисты постараются ответить максимально быстро.

Помогла ли вам эта статья?

Да Нет

lumpics.ru

Объединение и разбиение данных в ячейках в Excel с форматированием

Форматирование и редактирование ячеек в Excel – удобный инструмент для наглядного представления информации. Такие возможности программы для работы бесценны.

Значимость оптимальной демонстрации данных объяснять никому не нужно. Давайте посмотрим, что можно сделать с ячейками в Microsoft Excel. Из данного урока вы узнаете о новых возможностях заполнения и форматирования данных в рабочих листах.

Как объединить ячейки без потери данных Excel?

Смежные ячейки можно объединить по горизонтали или по вертикали. В результате получается одна ячейка, занимающая сразу пару столбцов либо строк. Информация появляется в центре объединенной ячейки.

Порядок объединения ячеек в Excel:

  1. Возьмем небольшую табличку, где несколько строк и столбцов.
  2. Для объединения ячеек используется инструмент «Выравнивание» на главной странице программы.
  3. Выделяем ячейки, которые нужно объединить. Нажимаем «Объединить и поместить в центре».
  4. При объединении сохраняются только те данные, которые содержатся в верхней левой ячейке. Если нужно сохранить все данные, то переносим их туда, нам не нужно:
  5. Точно таким же образом можно объединить несколько вертикальных ячеек (столбец данных).
  6. Можно объединить сразу группу смежных ячеек по горизонтали и по вертикали.
  7. Если нужно объединить только строки в выделенном диапазоне, нажимаем на запись «Объединить по строкам».

В результате получится:

Если хоть одна ячейка в выбранном диапазоне еще редактируется, кнопка для объединения может быть недоступна. Необходимо заверить редактирование и нажать «Ввод» для выхода из режима.



Как разбить ячейку в Excel на две?

Разбить на две ячейки можно только объединенную ячейку. А самостоятельную, которая не была объединена – нельзя. НО как получить такую таблицу:

Давайте посмотрим на нее внимательнее, на листе Excel.

Черта разделяет не одну ячейку, а показывает границы двух ячеек. Ячейки выше «разделенной» и ниже объединены по строкам. Первый столбец, третий и четвертый в этой таблице состоят из одного столбца. Второй столбец – из двух.

Таким образом, чтобы разбить нужную ячейку на две части, необходимо объединить соседние ячейки. В нашем примере – сверху и снизу. Ту ячейку, которую нужно разделить, не объединяем.

Как разделить ячейку в Excel по диагонали?

Для решения данной задачи следует выполнить следующий порядок действий:

  1. Щелкаем правой кнопкой по ячейке и выбираем инструмент «Формат» (или комбинация горячих клавиш CTRL+1).
  2. На закладке «Граница» выбираем диагональ. Ее направление, тип линии, толщину, цвет.
  3. Жмем ОК.

Если нужно провести диагональ в большой ячейке, воспользуйтесь инструментом «Вставка».

На вкладке «Иллюстрации» выбираем «Фигуры». Раздел «Линии».

Проводим диагональ в нужном направлении.

Как сделать ячейки одинакового размера?

Преобразовать ячейки в один размер можно следующим образом:

  1. Выделить нужный диапазон, вмещающий определенное количество ячеек. Щелкаем правой кнопкой мыши по любой латинской букве вверху столбцов.
  2. Открываем меню «Ширина столбца».
  3. Вводим тот показатель ширины, который нам нужен. Жмем ОК.

Можно изменить ширину ячеек во всем листе. Для этого нужно выделить весь лист. Нажмем левой кнопкой мыши на пересечение названий строк и столбцов (или комбинация горячих клавиш CTRL+A).

Подведите курсор к названиям столбцов и добейтесь того, чтобы он принял вид крестика. Нажмите левую кнопку мыши и протяните границу, устанавливая размер столбца. Ячейки во всем листе станут одинаковыми.

Как разбить ячейку на строки?

В Excel можно сделать несколько строк из одной ячейки. Перечислены улицы в одну строку.

Нам нужно сделать несколько строк, чтобы каждая улица была написана в одной строке.

Выделяем ячейку. На вкладке «Выравнивание» нажимаем кнопку «Перенос текста».

Данные в ячейке автоматически распределятся по нескольким строкам.

Пробуйте, экспериментируйте. Устанавливайте наиболее удобные для своих читателей форматы.

exceltable.com

Разделить один столбец на несколько столбцов MS Excel онлайн

Мне было интересно, если кто-нибудь может любезно посоветовать разделить строку с разделенными запятыми значениями на несколько столбцов. Я пытался понять это, но с трудом находил хорошее решение. (также проверенный онлайн, кажется несколько, которые приближаются, но не обязательно соответствуют тем, что мне нужно)

Предположим, у меня есть рабочий лист, например, назовите его «пример», и на листе таблицы есть следующие строки под несколькими строками, но все в столбце «А».

20120112,aaa,bbb,ccc,3432 20120113,aaa,bbb,ccc 20120113,ddd,bb,ccc,ddd,eee,fff,ggg,hhhh 20120132,aaa,bbb,ccc 20120112,aaa,bbb,ccc 20120112,xxx,bbb,ggg,ggg,333 20120112,aaa,bbb,ccc 20120112,abbd,bbb,ccc

Как я могу создать макрос, который разделит это на несколько столбцов.

Всего несколько баллов

(1) Я должен уметь указывать имя рабочего листа ex: что-то вроде

листы («пример»). range (A, A) '

(2) Количество столбцов и строк не фиксировано, поэтому я не знаю, сколько значений, разделенных запятыми, и сколько строк было бы до запуска сценария vba.

Solutions Collecting From Web of "Разделить один столбец на несколько столбцов"
  • Вы можете использовать функцию InputBox() и получить имя листа с данными, которые должны быть разделены.
  • Затем скопируйте данные в массив вариантов, разделите их и создайте новый массив разделенных значений.
  • Наконец, назначьте массив разделенных значений обратно в диапазон excel. НТН

(Обратите внимание, что исходные данные изменяются напрямую, поэтому, наконец, они разделяются на столбцы, а исходное состояние без разделения теряется. Но можно изменить код, чтобы исходные данные не были перезаписаны.)

Option Explicit Private Const sourceColumnName As String = "A" Private Const delimiter As String = "," Public Sub Splitter() ' splits one column into multiple columns Dim sourceSheetName As String Dim sourceSheet As Worksheet Dim lastRow As Long Dim uboundMax As Integer Dim result On Error GoTo SplitterErr sourceSheetName = VBA.InputBox("Enter name of the worksheet:") If sourceSheetName = "" Then _ Exit Sub Set sourceSheet = Worksheets(sourceSheetName) With sourceSheet lastRow = .Range(sourceColumnName & .rows.Count).End(xlUp).row result = SplittedValues(data:=.Range(.Cells(1, sourceColumnName), _ .Cells(lastRow, sourceColumnName)), _ partsMaxLenght:=uboundMax) If Not IsEmpty(result) Then .Range(.Cells(1, sourceColumnName), _ .Cells(lastRow, uboundMax)).value = result End If End With SplitterErr: If Err.Number <> 0 Then _ MsgBox Err.Description, vbCritical End Sub Private Function SplittedValues( _ data As Range, _ ByRef partsMaxLenght As Integer) As Variant Dim r As Integer Dim parts As Variant Dim values As Variant Dim value As Variant Dim splitted As Variant If Not IsArray(data) Then ' data consists of one cell only ReDim values(1 To 1, 1 To 1) values(1, 1) = data.value Else values = data.value End If ReDim splitted(LBound(values) To UBound(values)) For r = LBound(values) To UBound(values) value = values(r, 1) If IsEmpty(value) Then GoTo continue End If ' Split always returns zero based array so parts is zero based array parts = VBA.Split(value, delimiter) splitted(r) = parts If UBound(parts) + 1 > partsMaxLenght Then partsMaxLenght = UBound(parts) + 1 End If continue: Next r If partsMaxLenght = 0 Then Exit Function End If Dim matrix As Variant Dim c As Integer ReDim matrix(LBound(splitted) To UBound(splitted), _ LBound(splitted) To partsMaxLenght) For r = LBound(splitted) To UBound(splitted) parts = splitted(r) For c = 0 To UBound(parts) matrix(r, c + 1) = parts(c) Next c Next r SplittedValues = matrix End Function

Если вам снова не понадобится работать над этой задачей, здесь будет ручной способ обхода:

  1. Используйте текстовый редактор (Notepad ++), чтобы заменить «,» на «вкладку».
  2. Скопируйте содержимое и вставьте его в пустой лист Excel.

Или вы можете попробовать Excel импортировать данные из файла («,» в качестве разделителя).

Если вам нужен автоматический скрипт, попробуйте следующее: 1) Нажмите Ctrl + F11, чтобы открыть редактор VBA, вставьте модуль. 2) щелкните модуль, добавьте код внутри, как показано ниже.

Option Explicit Public Function LastRowWithData(ByRef sht As Excel.Worksheet, Optional colName As String = "A") As Long LastRowWithData = sht.Range(colName & sht.Rows.Count).End(xlUp).Row End Function Sub SplitToColumns(ByRef sColNames As String, ByRef strSeparator As String, ByRef rngDest As Excel.Range) Dim arrColNames As Variant, i As Long arrColNames = Split(sColNames, strSeparator) For i = LBound(arrColNames) To UBound(arrColNames) rngDest.Offset(0, i).Value = arrColNames(i) Next i End Sub Sub PerformTheSplit() Dim totalRows As Long, i As Long, sColNames As String totalRows = LastRowWithData(Sheet1, "A") For i = 1 To totalRows sColNames = Sheet1.Range("A" & i).Value Call SplitToColumns(sColNames, ",", Sheet2.Range("A" & i)) Next i End Sub

3) Предположим, что у вас есть имя столбца в Sheet1:

Нажмите «Alt + F8», чтобы запустить макрос «PerformTheSplit», вы увидите результат в Sheet2:

Я бы просто использовал мастер «Текст-Колонка» с помощью подпрограмм VBA, чтобы вы могли выбрать лист и диапазон для обработки, как вы просили выше.

Коды ввода используются для получения листа и диапазона для обработки, и по умолчанию будут использоваться активный лист и выбор. Это, безусловно, может быть изменено различными способами.

Затем вызывается функция встроенного текста в столбцы, и, хотя вы этого не указали, ti кажется, что ваш первый столбец представляет дату в формате YMD, поэтому я добавил, что в качестве опции – должно быть очевидно, как удалить или при необходимости измените его.

Дайте мне знать, как это работает для вас:

Option Explicit Sub TTC_SelectWS_SelectR() Dim WS As Worksheet, R As Range Dim sMB As String Dim v On Error Resume Next Set WS = Worksheets(Application.InputBox(Prompt:="Enter Worksheet Name: ", _ Title:="Select Worksheet", _ Default:=ActiveSheet.Name, _ Type:=2)) If Err.Number <> 0 Then sMB = MsgBox("Invalid Worksheet Name", vbRetryCancel) If sMB = vbRetry Then TTC_SelectWS_SelectR Exit Sub End If On Error GoTo 0 Set R = (Application.InputBox(Prompt:="Select Range to Process: ", _ Title:="Select Range", _ Default:=Selection.Address, _ Type:=8)) Set R = WS.Range(R.Address) R.TextToColumns DataType:=xlDelimited, textqualifier:=xlTextQualifierDoubleQuote, _ consecutivedelimiter:=False, Tab:=False, semicolon:=False, comma:=True, Space:=False, _ other:=False, fieldinfo:=Array(Array(1, xlYMDFormat)) End Sub

excel.bilee.com