Чередование двух столбцов в Excel - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь выяснить, как объединить / объединить два столбца:

как мне объединить два столбца данных в один, как показано ниже:

Name   Age    Age_1
========================
A       18       
B              45
C       31       
D       15         
E              62  

в этот

Name   Age    
============
A       18       
B       45      
C       31       
D       15         
E       62      

В моем случае у меня может быть примерно 3 - 4 одинаковых столбца и 200 строк

Ответы [ 5 ]

0 голосов
/ 28 февраля 2019

Один из более простых вариантов:

  1. Выберите диапазон данных в любом из 2 столбцов, как показано ниже,

    fillupBlanksWithDataFromAdjacentColumn-1

  2. После выбора диапазона данных в одном из столбцов выберите пустые ячейки, нажав клавишу F5 Fn, а затем выберите «Пробелы», как показано на рисунке ниже,

    fillupBlanksWithDataFromAdjacentColumn-select-blank-cells

    Это будет результирующий выбор в вашем случае,

    fillupBlanksWithDataFromAdjacentColumn-select-blank-cells-result

  3. Теперь вам нужно будет ввести формулу (хотя все пустые ячейки в целевом столбце выбираются по завершении предыдущего шага, формула, которую вы вводите сейчас, будет изначально со ссылкой на ячейку, которая в данный момент находится в фокусе. Текущая ячейкав фокусе можно узнать из адресной строки)

    Начните вводить формулу, нажав знак "=", как показано на рисунке ниже,

    fillupBlanksWithDataFromAdjacentColumn-enter-formula-in-blank-cell

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

    fillupBlanksWithDataFromAdjacentColumn-enter-formula-in-blank-cell-select-copy-source-cell

  4. После выбора, как показано на изображении выше, нажмите Ctrl + Enter.Вуаля!

    fillupBlanksWithDataFromAdjacentColumn-enter-formula-in-blank-cell-select-paste-down-to-all-by-Ctrl+Enter

Надеюсь, это поможет.Должно быть проще, если вы попробуете это в более реальных сценариях.

0 голосов
/ 28 февраля 2019

Один из вариантов - объединить ячейки B: E в каждом ряду, где B пусто, а затем сразу же их объединить.Это приведет к тому, что первое значение в C: E будет записано в столбец B. Range.SpecialCells может использоваться для сокращения работы до строк, в которых столбец B пуст.

dim blnk as range

with worksheets("sheet1")

    with .range(.cells(2, "B"), .cells(.rows.count,"A").end(xlup).offset(0, 1))

        for each blnk in .specialcells(xlcelltypeblanks)

            blnk.resize(1, 4).merge
            blnk.unmerge

        next blnk

    end with

end with
0 голосов
/ 28 февраля 2019

Если вы можете добавить получившийся столбец, попробуйте следующее:

enter image description here

Это будет формула в ячейке D3, которую можно скопировать вниз и настроитьячейки B3: C3 для включения других столбцов:

=TEXTJOIN("";TRUE;B3:C3)
0 голосов
/ 28 февраля 2019

Вы можете использовать функцию CONCATENATE

enter image description here


Отредактировано

Если выпросто хотите разрешить " Числа ", вы можете заменить свою функцию на эту:

=IFERROR(VALUE(CONCATENATE(R3:U3)),"")

enter image description here

IFERROR(): IFERROR(value, [value_if_error])

VALUE(): преобразует строку даты / времени / числа в число

CONCATENATE(): CONCATENATE(string1, [string2, ...])


Надеюсь, ясмог помочь вам

0 голосов
/ 28 февраля 2019

Решение VBA

Для реализации: Open VBE > On Project Explorer > ThisWorkbook > Paste Code > Click Play (Green button up top)


Option Explicit

Sub Merger()

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
Dim Target As Range, LR As Long

LR = ws.Range("B" & ws.Rows.Count).End(xlUp).Row

For Each Target In ws.Range("B2:B" & LR)
    If Target = "" Then
        Target.Value = Target.Offset(0, 1).Value
    End If
Next Target

'If you want to delete Column C after
ws.Range("C1").EntireColumn.Delete

End Sub

Решение не VBA

Создание вспомогательного столбца (Column D) и поместите следующее уравнение в D2

'If your columns may contain text
=IF(B2 = "", C2, B2)

'If your columns only contains positive numbers
=MAX(B2, C2)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...