Урок за Excel: Комбиниране на колони, редове, клетки
Комбинирането на колони, редове или клетки обикновено се използва в нашата ежедневна работа в Excel, като комбиниране на име и фамилия, които в две колони в една колона, за да получите пълното име, комбиниране на редове на базата на един и същ идентификатор и сумиране на съответните стойности, комбиниране диапазон от клетки в една клетка и така нататък. Този урок изброява всички сценарии за комбиниране на колони/редове/клетки в Excel и предоставя различните решения за вас.
В този урок създавам няколко примера, за да обясня методите, можете да промените препратките според нуждите си, когато използвате по-долу VBA код или формули, или можете да изтеглите примерите за изпробване на методи директно.
Кликнете, за да изтеглите примерния файл
1 Комбинирайте колони/редове в една клетка
Комбинирането на колони или редове в една клетка и разделянето на резултата със запетая, интервал или други разделители, както е показано на екранната снимка по-долу, се използва най-широко в Excel.
Комбинирайте колони в една клетка |
Комбинирайте редове в една клетка |
1.11 Използване на символ амперсанд (&)
В Excel символът амперсанд & обикновено се използва за свързване на текстове.
Пример: Комбинирайте собствено име (колона A) и фамилия (колона B) до пълното име
Изберете клетка, където искате да поставите комбинирания резултат, след което въведете формула като тази:
=A2&" "&B2
Във формулата & се използва за свързване на текстовете, A2 и B2 са двата текста, които трябва да бъдат комбинирани, " " е разделителят (интервал), който разделя двата текста в клетката с резултати, ако искате да използвате запетая като разделител, просто въведете запетая, оградена с двойни кавички ",".
Натискане Въведете за да получите комбинирания резултат, след което плъзнете манипулатора за автоматично попълване надолу, за да получите комбинираните резултати.
Пример: Комбинирайте номер (ред 15) и име (ред 16) в една клетка
Ако искате да комбинирате редове в една клетка, променете препратките към клетките и разделителя във формулата, както е необходимо, и плъзнете манипулатора за автоматично попълване надясно, за да получите комбинираните резултати.
1.12 Използване на функция CONCATENATE (Excel 2016 или по-стари версии)
Ако използвате Excel 2016 или по-стари версии, функцията CONCATENATE може да ви помогне.
Синтаксис за CONCATENATE |
CONCATENATE (text1,[text2],…) |
За повече подробности относно функцията CONCATENATE, моля, посетете: КОНКЕТИРАНЕ.
Пример: Комбинирайте имена (колона F) и адрес (колона G) в една колона
Изберете клетка, където искате да поставите комбинирания резултат, след което въведете формула като тази:
=CONCATENATE(F2,",",G2)
Във формулата F2 и G2 са двата текста, които трябва да бъдат комбинирани, "," е разделителят (запетая), който разделя двата текста в клетката с резултати, ако искате да използвате интервал като разделител, просто въведете интервал ограден с двойни кавички " ".
Натискане Въведете за да получите комбинирания резултат, след което плъзнете манипулатора за автоматично попълване надолу, за да получите комбинираните резултати.
За комбиниране на редове просто променете препратките към клетките и разделителя според нуждите и плъзнете манипулатора за автоматично попълване надясно.
1.13 Използване на функция CONCAT или функция TEXTJOIN (Excel 2019 или Excel 365)
Ако използвате Excel 2019 или Excel 365, функцията CONCAT и функцията TEXTJOIN може да са по-добрият избор.
Синтаксис за CONCAT |
CONCAT (text1,[text2],…) |
За повече подробности относно функцията CONCAT, моля, посетете: CONCAT.
Използването на функцията CONCAT е същото като функцията CONCATENATE, за комбиниране на име и фамилия в две колони поотделно в една колона, формулата се използва по следния начин:
=CONCAT(A21," ",B21)
Във формулата A21 и B21 са двата текста, които трябва да бъдат комбинирани, " " е разделителят (интервал), който разделя двата текста в клетката с резултати, ако искате да използвате други разделители, просто въведете разделителя, ограден с двойно цитати "".
Натиснете клавиша Enter, за да получите комбинирания резултат, след което плъзнете манипулатора за автоматично попълване надолу, за да получите комбинираните резултати.
За разлика от комбинирането на колони, докато комбинирате редове, след като въведете първата формула, трябва да плъзнете манипулатора за автоматично попълване надясно, докато получите всички комбинирани резултати.
Синтаксис за TEXTJOINT |
TEXTJOIN (delimiter, ignore_empty, text1, [text2], ...) |
За повече подробности относно функцията TEXTJOIN, моля посетете: ПРИСЪЕДИНЕТЕ СЕ.
За да комбинирате колони или редове с помощта на TEXTJOIN:
=TEXTJOIN(",",ВЯРНО,E21:G21))
Във формулата E21:G21 е непрекъснат диапазон, който трябва да се комбинира. " " е разделителят (интервал), който разделя двата текста в клетката с резултати, ако искате да използвате други разделители, просто въведете разделителя, ограден с двойни кавички "". Логическият текст „ВЯРНО“ показва да се игнорират празните клетки при комбиниране, ако искате да комбинирате с празни, заменете ВЯРНО с НЕВЯРНО.
Натиснете клавиша Enter, за да получите комбинирания резултат, след което плъзнете манипулатора за автоматично попълване надолу, за да получите комбинираните резултати.
Игнорирайте празните места |
Включете празни места |
1.14 Използване на Notepad (само за комбиниране на колони)
1. Използването на Notepad също може да постигне комбиниране на колони (без ефект върху комбинирането на редове).
Изберете диапазона, който искате да комбинирате колони в една, и натиснете Ctrl + C клавиши за копиране на диапазона.
2. Отворете a Notepad, и натиснете Ctrl + V за да поставите копирания диапазон.
3. Изберете раздел между два текста в Notepad и натиснете Ctrl + H да се даде възможност Сменете функция, в която е поставен символ на раздел Намерете това, текстово поле.
4. В Заменете със текстово поле, въведете разделителя, който искате да разделите комбинираните текстове, и след това щракнете Замести всички. След това затворете Сменете диалогов прозорец.
5. Сега изберете текстовете в Notepad и натиснете Ctrl + C за да ги копирате и отидете в Excel, изберете клетка и натиснете Ctrl + V за да поставите комбинираните резултати.
Разширение: Комбинирайте колони/редове в една клетка с нов ред като разделител
Ако искате да комбинирате колони или редове в една клетка с нов ред, както е показано на екранната снимка по-долу:
Първо, трябва да разберете, че в Excel, CHAR() може да се използва за указване на знаци, които са трудни за въвеждане във формула, като напр CHAR (10) връща нов ред.
След това използвайте CHAR(10) във формулите, изброени по-горе, за да комбинирате колони или редове с нов ред като разделител:
Символ амперсанд:
=A49&CHAR(10)&B49
Функция CONCATENATE:
=CONCATENATE(A49,CHAR(10),B49)
Функция CONCAT
=CONCAT(A49,CHAR(10),B49)
Функция TEXTJOIN
=TEXTJOIN(CHAR(10),TRUE,A49:B49)
След като въведете формула по-горе, изберете резултатите и щракнете Начало > Обвиване на текст.
Сега колоните са комбинирани в една и разделени с нов ред.
Ако просто искате да комбинирате редове в една колона в една клетка, функцията Justify в Excel може да ви помогне. Изберете колоната с няколко реда и щракнете Начало > Напълнете > оправдае, тогава редовете ще бъдат комбинирани в горната клетка на диапазона с интервал като разделител.
В тази част урокът представя методите за комбиниране на колони или редове в една клетка и пропускане на празни клетки, както е показано на екранната снимка по-долу:
1.21 Използване на функцията TEXTJOIN (Excel 2019 или Excel 365)
Ако използвате Excel 2019 или Excel 365, за щастие новата функция TEXTJOIN може лесно да реши тази задача.
Синтаксис за CONCATENATE |
TEXTJOIN (delimiter, ignore_empty, text1, [text2], ...) |
За повече подробности относно функцията TEXTJOIN, моля посетете: ПРИСЪЕДИНЕТЕ СЕ.
Пример: Комбинирайте име (колона A) и номер (колона B) и домейн (колона C) в една клетка, за да генерирате имейл адрес, някои номера може да са празни.
Изберете клетка, използвана за поставяне на комбинирания резултат, въведете формулата по следния начин:
=TEXTJOIN("",ВЯРНО,A2:C2)
Във формулата A2:C2 е диапазонът, който съдържа текстове, които трябва да бъдат комбинирани, "" е разделителят (няма), който разделя двата текста в клетката с резултати, ако искате да използвате разделител за разделяне на текстовете, просто въведете разделителя, ограден с двойни кавички "", като например ",". Логическият текст „ВЯРНО“ показва да се игнорират празните клетки при комбиниране, ако искате да комбинирате с празни, заменете ВЯРНО с НЕВЯРНО.
Натискане Въведете за да получите първия резултат, и плъзнете манипулатора за автоматично попълване надолу или надясно, както трябва, за да генерирате всички резултати.
1.22 Използване на символ амперсанд (&)
Ако сте в Excel 2016 или по-стари версии на Excel, използвайте символа амперсанд &, за да свържете текстовете един по един и ръчно да пропуснете празните места.
Изберете клетка, където искате да поставите комбинирания резултат, след което въведете формула като тази:
=A10&C10
Във формулата & се използва за свързване на текстовете, A10 и C10 са двата текста, които трябва да бъдат комбинирани, ако искате да използвате запетая като разделител, просто въведете запетая, оградена с двойни кавички като "," и използвайте & за свързване между два текста.
Натискане Въведете ключ за получаване на комбинирания резултат. След това променете препратките на формулата, за да получите следващия комбиниран резултат.
1.23 Използване на дефинирана функция
За потребителите на Excel 2016 и по-стари версии на Excel, ако има няколко колони или редове, които трябва да бъдат комбинирани, като същевременно се пропускат празни места, можете да използвате VBA, за да създадете дефинирана функция за бързо решаване на тази задача.
1. Натиснете Друг + F11 клавиши за активиране на Microsoft Visual Basic за приложения прозорец.
2. кликване Поставете > Модули за вмъкване на нов модул.
3. Копирайте и поставете кода по-долу в новия модул и го запазете.
VBA: Комбинирането на клетки пропуска празни клетки
Function Concatenatecells(ConcatArea As Range) As String
'updateby Extendoffice
For Each n In ConcatArea: nn = IIf(n = "", nn & "", nn & n & "_"): Next
Concatenatecells = Left(nn, Len(nn) - 1)
End Function
4. Върнете се в работния лист и изберете клетка, която поставя комбинирания резултат, въведете формулата
=Concatenatecells(A15:C15)
Във формулата A15:C15 е диапазонът, съдържащ текстове, които трябва да бъдат комбинирани. В кода на VBA "_" показва разделителя, който се използва за разделяне на текстовете в комбинирания резултат, можете да промените разделителя според нуждите си.
Ако сте инсталирали Kutools за Excel в Excel, Комбинирайте редове, колони или клетки без загуба на данни функцията е доста полезна при различни видове комбиниране на работни места.
1. Изберете клетките, които искате да комбинирате, и клетките, в които искате да поставите комбинираните резултати.
2. кликване Kutools > Обединяване и разделяне > Комбинирайте редове, колони или клетки без загуба на данни.
3. В изскачащия диалогов прозорец задайте опциите по-долу:
1) Посочете комбиниране на колони, комбиниране на редове или комбиниране на всички клетки в една.
Комбинирайте колони Напр. | Комбинирайте редове Напр. | Комбинирайте в една клетка Напр. |
2) Посочете разделителя за текстовете в комбинирания резултат.
3) Посочете местоположението на комбинирания резултат (забранено при избор на опцията Комбиниране в една клетка)
Когато избирате опцията Комбиниране на колони, можете да зададете да поставите резултата в лявата клетка на избрания диапазон или в дясната клетка на избрания диапазон.
Лява клетка Напр. | Дясна клетка Напр. |
При избора на Комбинирайте редове опция, можете да зададете да поставите резултата в горната клетка на избрания диапазон или в долната клетка на избрания диапазон.
Горна клетка Напр. | Долна клетка Напр. |
4) Посочете операцията за комбинираните резултати.
4. кликване Ok or Добавете Обява за да завършите комбинацията.
Съхранявайте съдържанието на комбинираните клетки |
Изтриване на съдържанието на комбинираните клетки |
;Слейте комбинираните клетки |
За повече подробности относно тази функция, моля, посетете Комбинирайте колони, редове, клетки без загуба на данни.
За повече подробности относно Kutools за Excel, моля, посетете Kutools за Excel.
За 30-дневна безплатна пробна версия на Kutools за Excel, моля Изтегли сега.
Понякога може да искате да комбинирате две колони, ако една от колоните съдържа празни клетки. Да предположим, че има две колони, колона A съдържа потребителски имена и някои празни клетки, а колона B съдържа имена, сега просто попълнете празните клетки в колона A със съответното съдържание в колона B, когато комбинирате двете колони, както е показано на екранната снимка по-долу:
1.41 Използване на функцията IF
Функцията IF се използва за тестване за конкретно състояние. Тук можете да използвате функцията IF, за да проверите дали клетката е празна, след което да попълните празните места със съдържание в друга колона.
Синтаксис за функцията IF |
IF (logical_test, [value_if_true], [value_if_false]) |
За повече подробности относно функцията IF, моля, посетете: IF
Изберете горната клетка на колоната, в която искате да поставите комбинираните резултати, и копирайте или въведете формулата по-долу:
=АКО(A2="",B2,A2)
След това натиснете Въведете за да получите първия резултат и плъзнете манипулатора за автоматично попълване надолу, за да получите всички резултати.
Сега само празните клетки в колона A са запълнени със съдържанието в колона B.
Ето код на VBA, който също може да се справи с тази работа.
1. Натиснете Друг + F11 клавиши за активиране на Microsoft Visual Basic за приложения прозорец, след което щракнете Поставете > Модули за създаване на нов празен модул.
2. Копирайте и поставете кода по-долу в новия модул.
VBA: Обединяване на две колони, ако е празно
Sub MergebyBlank()
'UpdatebyExtendoffice20220506
Dim xRg1, xRg2, xRgUser As Range
Dim xRg As Range
Dim xWsh As Worksheet
Dim xCount, xFNum As Integer
Set xRg1 = Range("A:A")
Set xRg2 = Range("B:B")
Set xWsh = xRg1.Worksheet
Set xRgUser = xWsh.UsedRange
Set xRg1 = Intersect(xRgUser, xRg1)
Set xWsh = xRg2.Worksheet
Set xRgUser = xWsh.UsedRange
Set xRg2 = Intersect(xRgUser, xRg2)
xCount = xRg1.Count
If (xCount > xRg2.Count) Then
xCount = xRg2.Count
End If
For xFNum = 1 To xCount
If (xRg1.Item(xFNum).Value = "") Then
If (xRg2.Item(xFNum).Value <> "") Then
xRg1.Item(xFNum).Value = xRg2.Item(xFNum).Value
End If
ElseIf (xRg2.Item(xFNum).Value = "") Then
If (xRg1.Item(xFNum).Value <> "") Then
xRg2.Item(xFNum).Value = xRg1.Item(xFNum).Value
End If
End If
Next
End Sub
В кода A:A и B:B са двете колони, които ще бъдат обединени, просто ги променете според нуждите си.
3. След това натиснете F5 клавиша или щракване бягане тогава колона A ще бъде запълнена със стойност в колона B, ако стойността е празна в колона A.
2 Комбинирайте редове с еднакъв идентификатор
Да предположим, че има таблица с множество колони, една колона съдържа ID стойности, които имат дублиращи се елементи. Сега урокът предоставя методи за комбиниране на редовете на таблицата въз основа на един и същ идентификатор и извършва някои изчисления.
Тук, в тази част, той предоставя методите за комбиниране на редове със същия идентификатор и разделени със запетаи, както е показано на екранната снимка по-долу:
Тук се предоставя VBA код, който може да се справи с тази задача
1. Натиснете Друг + F11 клавиши за активиране на Microsoft Visual Basic за приложения прозорец, след което щракнете Поставете > Модули за създаване на нов празен модул.
2. Копирайте и поставете кода по-долу в новия модул.
VBA: Комбинирайте редове със същия идентификатор
Sub Combine_Rows()
'UpdatebyExtendoffice20220506
Dim xRg As Range
Dim xRows As Long
Dim I As Long, J As Long, K As Long
On Error Resume Next
Set xRg = Application.InputBox("Select Range:", "Kutools For Excel", Selection.Address, , , , , 8)
Set xRg = Range(Intersect(xRg, ActiveSheet.UsedRange).Address)
If xRg Is Nothing Then Exit Sub
xRows = xRg.Rows.Count
For I = xRows To 2 Step -1
For J = 1 To I - 1
If xRg(I, 1).Value = xRg(J, 1).Value And J <> I Then
For K = 2 To xRg.Columns.Count
If xRg(J, K).Value <> "" Then
If xRg(I, K).Value = "" Then
xRg(I, K) = xRg(J, K).Text
Else
xRg(I, K) = xRg(I, K).Text & "," & xRg(J, K).Text 'here uses comma as separator, you can change it to others as you need
End If
End If
Next
xRg(J, 1).EntireRow.Delete
I = I - 1
J = J - 1
End If
Next
Next
ActiveSheet.UsedRange.Columns.AutoFit
End Sub
3. След това натиснете F5 клавиша или щракване бягане бутон, тогава се появява диалогов прозорец Kutools за Excel, за да изберете таблица, която трябва да комбинира редове със същия идентификатор.
4. кликване OK. Сега избраната таблица е комбинирана с редове въз основа на един и същи идентификатор.
2.12 Използване на функцията IF за добавяне на помощни колони
Ако има само две колони и искате да комбинирате редовете с един и същ идентификатор и други стойности на колона, разделени със запетая, както показва екранната снимка по-долу, функцията IF може да ви направи услуга.
1. Сортирайте ID от A до Z. Изберете колоната ID, щракнете Дата > Сортирай от А до Я.
2. След това в Предупреждение за сортиране диалог, проверка Разширете опцията за избор, щракнете Вид.
Сега същите идентификатори са сортирани заедно.
3. В съседната колона, като използвате функцията IF, както следва:
=IF(A17=A18,C17&", "&B18,B18)
Във формулата A17 и A18 са двете съседни клетки в колоната ID (A17 е заглавката на колоната ID), B18 е съответната клетка на клетка A18. ", " означава разделяне на стойностите със запетая. можете да промените препратките и разделителя, ако е необходимо.
4. Натиснете Въведете за да получите първия резултат, след което плъзнете манипулатора за автоматично попълване надолу, за да получите всички резултати.
5. Отидете до съседната колона, въведете формулата по следния начин:
=АКО(A18<>A19,"Обединено","")
Във формулата A18 и A19 са двете съседни клетки в колоната ID, ако съседните клетки не са равни, тя ще се върне към „Обединени“, в противен случай ще се върне празна.
6. Натиснете Въведете за да получите първия резултат, след което плъзнете манипулатора за автоматично попълване надолу, за да получите всички резултати.
7. Изберете последната колона с формула, включително заглавката, и щракнете Дата > филтър.
8. Щракнете върху филтър бутон и отметка Обединен отметка в падащото меню, щракнете OK.
Сега само обединените редове са филтрирани, копирайте филтрираните данни и ги поставете на друго място.
Повече подробности за функцията IF. Моля посети: IF.
Ако сте инсталирали Kutools за Excel в Excel, Разширено комбиниране на редове може лесно да свърши тази работа.
1. Изберете таблицата, след което щракнете Kutools > Обединяване и разделяне > Разширено комбиниране на редове.
2. В Разширено комбиниране на редове диалогов прозорец, моля, направете следното:
1) Изберете колоната ID и я задайте като Първичен ключ;
2) Изберете колоната, която искате да комбинирате стойностите с разделител, щракнете Комбинирам и изберете един разделител.
3)щракнете Ok.
Сега редовете са комбинирани от един и същ идентификатор.
Функцията за разширено комбиниране на редове ще разбие оригиналните данни, моля, запазете данните като копие, преди да ги използвате.
За повече подробности относно тази функция, моля, посетете Разширено комбиниране на редове.
За повече подробности относно Kutools за Excel, моля, посетете Kutools за Excel.
За 30-дневна безплатна пробна версия на Kutools за Excel, моля Изтегли сега.
Ако искате да комбинирате редове с един и същ идентификатор и след това да сумирате стойностите или да направите други изчисления, както показва екранната снимка по-долу, методите по-долу могат да ви помогнат.
2.21 Използване на функцията за консолидиране
Ако има само две колони, една колона съдържа текстове (ID), а друга съдържа стойности, които трябва да бъдат изчислени, като сума, вградената функция на Excel Консолидиране може да ви направи услуга.
1. Изберете клетка, в която искате да поставите комбинирания резултат, след което щракнете Дата > Консолидиране.
2. В Консолидиране диалогов прозорец, направете следното:
1) Изберете Функции колкото ви трябва;
2) Щракнете върху стрелката, за да изберете таблицата;
3) Щракнете Добави за да добавите избрания диапазон към Всички препратки списък;
4) Поставете отметка в квадратчетата за Горния ред намлява Лявата колона;
5) Щракнете OK.
Сега таблицата е сумирана въз основа на същия идентификатор.
Ето VBA, който също може да комбинира редове със същия идентификатор и след това да сумира стойности.
1. Натиснете Друг + F11 клавиши за активиране на Microsoft Visual Basic за приложения прозорец, след което щракнете Поставете > Модули за създаване на нов празен модул.
2. В новия модул копирайте и поставете в него VBA кода по-долу.
VBA: Комбинирайте дублирани редове и сума
Sub CombineRows()
'Updateby Extendoffice
Dim WorkRng As Range
Dim Dic As Variant
Dim arr As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Set Dic = CreateObject("Scripting.Dictionary")
arr = WorkRng.Value
For i = 1 To UBound(arr, 1)
Dic(arr(i, 1)) = Dic(arr(i, 1)) + arr(i, 2)
Next
Application.ScreenUpdating = False
WorkRng.ClearContents
WorkRng.Range("A1").Resize(Dic.Count, 1) = Application.WorksheetFunction.Transpose(Dic.keys)
WorkRng.Range("B1").Resize(Dic.Count, 1) = Application.WorksheetFunction.Transpose(Dic.items)
Application.ScreenUpdating = True
End Sub
3. След това натиснете F5 клавиша или щракване бягане след това се появява диалогов прозорец за избор на таблицата, която използвате, след което щракнете OK.
Сега избраният диапазон е комбиниран със същите стойности и сумиран.
VBA ще разбие оригиналните данни, моля, запазете данните като копие, преди да използвате VBA.
2.23 Използване на удобен инструмент – Advanced Combine Rows
Ако в таблицата има повече от две колони, които искате да комбинирате и да направите изчисления, например има три колони, първата съдържа дублиращи се имена на продукти, които трябва да бъдат комбинирани заедно, втората съдържа имена на магазини, които трябва да се комбинират и разделят със запетая, последната колона съдържа числа, които трябва да бъдат сумирани въз основа на дублиращите се редове в първата колона, както е показано на екранната снимка по-долу, Kutools за Excel Разширено комбиниране на редове може да ви помогне.
1. Изберете таблицата, след което щракнете Kutools > Обединяване и разделяне > Разширено комбиниране на редове.
2. В Разширено комбиниране на редове диалогов прозорец, моля, направете следното:
1) Изберете колоната ID и я задайте като Първичен ключ;
2) Изберете колоната, която искате да комбинирате стойностите с разделител, щракнете Комбинирам и изберете един разделител.
3) Изберете колоната, която искате да направите изчислението, щракнете Изчисли и изберете едно изчисление.
4)щракнете Ok.
Сега редовете са комбинирани със същите редове и изчислени.
Функцията за разширено комбиниране на редове ще разбие оригиналните данни, моля, запазете данните като копие, преди да ги използвате.
За повече подробности относно тази функция, моля, посетете Разширено комбиниране на редове.
За повече подробности относно Kutools за Excel, моля, посетете Kutools за Excel.
За 30-дневна безплатна пробна версия на Kutools за Excel, моля Изтегли сега.
Ако има таблица с множество колони, една колона съдържа някои дублирани стойности, сега задачата е да комбинирате съседните редове в тази колона със същите стойности, както показва екранната снимка по-долу. Как можете да го разрешите?
В Excel няма вградена функция, която може директно да реши тази задача, но тук предоставя VBA, който може да се справи с нея.
1. Натиснете Друг + F11 клавиши за активиране на Microsoft Visual Basic за приложения прозорец, след което щракнете Поставете > Модули за създаване на нов празен модул.
2. В новия модул копирайте и поставете в него VBA кода по-долу.
VBA: Комбинирайте съседни редове с една и съща стойност
Sub MergeSameCell()
'Updateby Extendoffice
Dim Rng As Range, xCell As Range
Dim xRows As Integer
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
xRows = WorkRng.Rows.Count
For Each Rng In WorkRng.Columns
For i = 1 To xRows - 1
For j = i + 1 To xRows
If Rng.Cells(i, 1).Value <> Rng.Cells(j, 1).Value Then
Exit For
End If
Next
WorkRng.Parent.Range(Rng.Cells(i, 1), Rng.Cells(j - 1, 1)).Merge
i = j - 1
Next
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
3. След това натиснете F5 клавиша или щракване бягане бутон, за да активирате този VBA, след което се появява диалогов прозорец за избор на таблицата, която използвате, и след това щракнете OK.
Сега съседните редове с еднакви стойности в първата колона се комбинират в избрания диапазон.
VBA ще разбие оригиналните данни, моля, запазете данните като копие, преди да използвате VBA. И този VBA ще обедини същите стойности в първата колона на избраната таблица.
2.32 Използване на удобен инструмент – Обединяване на еднакви клетки
Ако имате Kutools за Excel инсталиран в Excel, the Обединяване на същите клетки функция на Kutools за Excel може да реши тази задача в една стъпка.
Изберете колоната, която искате да комбинирате същите стойности, и след това щракнете Kutools > Обединяване и разделяне > Обединяване на същите клетки.
Сега съседните клетки с еднакви стойности са обединени.
I Ако искате да размените обединяването на обединените клетки и да попълните обратно стойности, можете да приложите Премахване на обединяването на клетки и попълване на стойности функция.
За повече подробности относно тази функция, моля, посетете Обединяване на същите клетки.
За повече подробности относно тази функция, моля, посетете Премахване на обединяването на клетка.
За повече подробности относно Kutools за Excel, моля, посетете Kutools за Excel.
За 30-дневен безплатен пробен период на Kutools за Excel, моля Изтегли сега.
3 Комбинирайте клетки
За комбиниране на диапазон с множество редове и колони в една клетка, тук се предоставят четири метода.
Пример: Комбинирайте диапазон A1:C3
3.11 Използване на символ амперсанд (&)
В Excel символът амперсанд & обикновено се използва за свързване на текстове.
Изберете клетка, в която искате да поставите комбинирания резултат, след което въведете формула като тази:
=A1&", "&B1&", "&C1&", "&A2&", " &B2&", "&C2&", "&A3&", "&B3&", "&C3
Във формулата & се използва за свързване на текстовете, ", " е разделителят (запетая + интервал), който разделя двата текста в клетката с резултати, ако искате да използвате други разделители, просто въведете разделител, ограден с двойни кавички.
Натискане Въведете ключ за получаване на комбинирания резултат.
3.12 Използване на функция CONCATENATE (Excel 2016 или по-стари версии)
Ако използвате Excel 2016 или по-стари версии, функцията CONCATENATE може да ви помогне.
Синтаксис за CONCATENATE |
CONCATENATE (text1,[text2],…) |
За повече подробности относно функцията CONCATENATE, моля, посетете: КОНКЕТИРАНЕ
Изберете клетка, в която искате да поставите комбинирания резултат, след което въведете формула като тази:
=CONCATENATE(A1,", ",B1,", ",C1,", ",A2,", ",B2,", ",C2,", ",A3,", ",B3,", " ,C3)
Във формулата A1, B1…,C3 са текстовете, които искате да комбинирате. ", " е разделителят (запетая + интервал), който разделя двата текста в клетката с резултати, ако искате да използвате други разделители, просто въведете разделител, ограден с двойни кавички.
След това натиснете Въведете ключ за получаване на комбинирания резултат.
3. 13 Използване на функция CONCAT или функция TEXTJOIN (Excel 2019 или Excel 365)
Ако използвате Excel 2019 или Excel 365, функцията CONCAT и функцията TEXTJOIN може да са по-добрият избор.
Синтаксис за CONCAT |
CONCAT (text1,[text2],…) |
За повече подробности относно функцията CONCAT, моля, посетете: CONCAT.
Използването на функцията CONCAT е същото като функцията CONCATENATE, за комбиниране на име и фамилия, които в две колони отделно в една колона, формулата се използва по следния начин:
=CONCAT(A1,", ",B1,", ",C1,", ",A2,", ",B2,", ",C2,", ",A3,", ",B3,", " ,C3)
Във формулата A1, B1…,C3 са текстовете, които искате да комбинирате. ", " е разделителят (запетая + интервал), който разделя двата текста в клетката с резултати, ако искате да използвате други разделители, просто въведете разделител, ограден с двойни кавички.
След това натиснете Въведете ключ за получаване на комбинирания резултат.
Синтаксис за TEXTJOIN |
TEXTJOIN (delimiter, ignore_empty, text1, [text2], ...) |
За повече подробности относно функцията TEXTJOIN, моля посетете: ПРИСЪЕДИНЕТЕ СЕ.
За да комбинирате колони или редове с помощта на TEXTJOIN:
=TEXTJOIN(", ",ВЯРНО,A1:C3)
Във формулата A1:C3 е непрекъснат диапазон, който трябва да се комбинира. ", " е разделителят (запетая + интервал), който разделя двата текста в клетката с резултати, ако искате да използвате други разделители, просто въведете разделителя, ограден с двойни кавички "". Логическият текст „ВЯРНО“ показва да се игнорират празните клетки при комбиниране, ако искате да комбинирате с празни, заменете ВЯРНО с НЕВЯРНО.
След това натиснете Въведете ключ за получаване на комбинирания резултат.
Ако искате да използвате нов ред като разделител, като използвате CHAR(10) във формулата, като =TEXTJOIN(CHAR(10),TRUE,A1:C3), тогава форматирайте клетката с резултата като Обвиване на текст.
3.14 Използване Комбинирайте колони/редове/клетки в една клетка без загуба на данни
Ако имате Kutools за Excel инсталиран в Excel, the Комбинирайте редове, колони или клетки без загуба на данни функция може бързо да се справи с тази задача.
1. Изберете диапазона от клетки, които искате да комбинирате в една клетка, след което щракнете Kutools > Обединяване и разделяне > Комбинирайте редове, колони или клетки без загуба на данни.
2. В изскачащия диалогов прозорец поставете отметка Комбинирайте в една клетка и задайте разделител, както ви е необходим, след което щракнете Ok.
Сега клетките се обединяват в една клетка със специфичен разделител. Ако съдържанието на клетката е твърде много, за да се покаже в обединената клетка, можете да щракнете Обвиване на текст под Начало раздел, за да ги покажете.
За повече подробности относно тази функция, моля, посетете Комбинирайте колони, редове, клетки без загуба на данни.
За повече подробности относно Kutools за Excel, моля, посетете Kutools за Excel.
За 30-дневна безплатна пробна версия на Kutools за Excel, моля Изтегли сега.
Транспонирайте клетки в една колона |
Транспонирайте клетки в един ред |
3.21 Наименувайте диапазона и използвайте функцията INDEX (само за една колона)
Ако искате да транспонирате диапазона от клетки в една колона, можете да наименувате диапазона и след това да използвате функцията ИНДЕКС.
1. Изберете диапазона от клетки, щракнете с десния бутон, за да активирате контекстното меню, и щракнете Определете име.
2. В пукането Ново име диалогов прозорец, въведете име в Име текстово поле, щракнете OK.
3. След като наименувате диапазона, след това изберете клетка, която поставя транспонираните данни, използвайте функцията INDEX по следния начин:
=INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1)
За повече подробности относно функцията INDEX, моля, посетете тук.
4. Натиснете Въведете и след това плъзнете манипулатора за автоматично попълване надолу, за да попълните тази формула, докато #REF! се появява стойност за грешка.
5. Премахнете стойността на грешката, след което диапазонът от клетки е комбиниран в една колона.
3.22 VBA (само за една колона)
За комбиниране на клетки в една колона, ето VBA, който също може да работи.
1. Натиснете Друг + F11 клавиши за активиране на Microsoft Visual Basic за приложения прозорец, след което щракнете Поставете > Модули за създаване на нов празен модул.
2. Копирайте и поставете VBA кода по-долу в празния модул.
VBA: Преобразуване на диапазон в колона
Sub ConvertRangeToColumn()
'UpdatebyExtendoffice
Dim Range1 As Range, Range2 As Range, Rng As Range
Dim rowIndex As Integer
xTitleId = "KutoolsforExcel"
Set Range1 = Application.Selection
Set Range1 = Application.InputBox("Source Ranges:", xTitleId, Range1.Address, Type:=8)
Set Range2 = Application.InputBox("Convert to (single cell):", xTitleId, Type:=8)
rowIndex = 0
Application.ScreenUpdating = False
For Each Rng In Range1.Rows
Rng.Copy
Range2.Offset(rowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
rowIndex = rowIndex + Rng.Columns.Count
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
3. След това натиснете F5 клавиша или щракване бягане бутон, изскача диалогов прозорец за избор на диапазон от клетки, щракнете OK.
4. Появява се друг диалогов прозорец за избор на клетка за поставяне на резултата, щракнете OK.
3.23 Използване на удобен инструмент – Transform Range
Ако искате да комбинирате клетки в един ред, в Excel няма вградена функция, която да го поддържа. Въпреки това, ако имате Kutools за Excel инсталиран, негов Обхват на трансформация поддържа преобразуване на диапазон в една колона или ред, също поддържа преобразуване на ред или колона в диапазон.
1. изберете диапазона от клетки и щракнете Kutools > Обхват > Обхват на трансформация.
2. В Обхват на трансформация диалог, проверка Диапазон до една колона or Диапазон до един ред опция, колкото ви трябва. Кликнете OK.
3. Появява се диалогов прозорец за избор на клетка, в която да поставите резултата, щракнете OK.
Сега диапазонът от клетки е преобразуван в ред или колона.
За повече подробности относно тази функция, моля, посетете Обхват на трансформация.
За повече подробности относно Kutools за Excel, моля, посетете Kutools за Excel.
За 30-дневна безплатна пробна версия на Kutools за Excel, моля Изтегли сега.
Ако има някои дубликати в таблица с множество колони, как можете да подредите колоните в една колона без дубликати, както показва екранната снимка по-долу?
В тази част той предоставя три различни метода за справяне с тази работа.
3.31 Копиране и поставяне и премахване на дубликати
В Excel общият метод за решаване на тази задача е да копирате и поставите колоните една по една и след това да премахнете дублиращите се стойности.
1. Изберете първата колона и натиснете Ctrl + C клавиши, за да го копирате, след това изберете целева клетка и натиснете Ctrl + V ключове.
2. След това повторете стъпка 1, за да копирате други колони и да ги поставите под първата колона.
3. След това изберете подредената колона, щракнете Дата > Премахване на дубликати, след това в Премахване на дублираните диалогов прозорец, проверете името на колоната, щракнете OK.
4. Сега се появява диалогов прозорец, за да ви напомни, че дублиращите се стойности са премахнати. Кликнете OK за да го затворите, а подредената колона запазва само уникалните стойности.
Ако има стотици колони, копирането и поставянето една по една отнема много време. Въпреки това, ако имате Kutools за Excel инсталиран в Excel, the Обхват на трансформация функцията може бързо да преобразува диапазона в колона, след което да приложи Премахване на дубликати функция на Excel.
Изберете диапазона от колони и щракнете Kutools > Обхват > Обхват на трансформация.
След това проверете Диапазон до една колона и щракнете върху OK за да изберете клетка, за да поставите подредената колона.
След това приложете Премахване на дубликати, за да премахнете дублиращите се стойности.
За повече подробности относно тази функция, моля, посетете Обхват на трансформация.
За повече подробности относно Kutools за Excel, моля, посетете Kutools за Excel.
За 30-дневна безплатна пробна версия на Kutools за Excel, моля Изтегли сега.
Освен това, тук има VBA код, който може да реши тази задача.
1. Натиснете Друг + F11 клавиши за активиране на Microsoft Visual Basic за приложения прозорец, след което щракнете Поставете > Модули за създаване на нов празен модул.
2. Копирайте и поставете кода по-долу в новия модул.
VBA: Подреждане на колони в една без дубликати
Sub FindUniques()
'UpdatebyExtendoffice
Dim rng As Range
Dim InputRng As Range, OutRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set dic = CreateObject("Scripting.Dictionary")
For j = 1 To InputRng.Columns.Count
For i = 1 To InputRng.Rows.Count
xValue = InputRng.Cells(i, j).Value
If xValue <> "" And Not dic.Exists(xValue) Then
OutRng.Value = xValue
dic(xValue) = ""
Set OutRng = OutRng.Offset(1, 0)
End If
Next
Next
End Sub
3. След това натиснете F5 клавиша или щракване бягане след това се появява диалогов прозорец за избор на колоните, които трябва да бъдат подредени, щракнете върху OK.
4. След това във втория изскачащ диалогов прозорец изберете целева клетка, за да поставите подредената колона, и щракнете върху OK.
Сега колоните са подредени в една колона само с уникални стойности.
Ако има две колони, едната е форматирана като специално форматиране, като персонализирана дата и час мм/дд/гггг, за комбиниране на тези две колони в една с нормалните методи, персонализираното форматиране ще бъде премахнато, както показва екранната снимка по-долу:
Сега в тази част ще предостави някои начини за комбиниране на клетки и запазване на форматирането.
3.41 Вграждане на функция TEXT във формула
Функцията TEXT се използва за преобразуване на число в текст в специфично форматиране. Тук можем да го използваме, за да преобразуваме първо клетката (съдържаща число) във форматиране и след това да я комбинираме с други клетки, като използваме „&“, функция CONCATENATE, функция CONCAT или функция TEXTJOIN.
За подробности относно общото комбиниране на клетки в една, моля, върнете се на 1.1.
Синтаксис за функцията TEXT |
TEXT (value, format_text) |
За повече подробности относно функцията TEXT, моля, посетете ТЕКСТ функция.
Тук се вгражда функцията TEXT във функцията CONCAT като пример.
Моля, копирайте и поставете формулата по-долу в клетка, в която искате да поставите комбинирания резултат:
=CONCAT(TEXT(A2,"mm/dd/yyyy hh:mm")," ",B2)
Във формулата A2 е клетката, чието форматиране искате да запазите, „мм/дд/гггг чч:мм“ е форматирането, което използвате, B2 е другата клетка, която се използва за комбиниране. " " указва разделяне на стойностите с интервал. можете да промените препратките, форматирането и разделителя, ако е необходимо.
Натискане Въведете и плъзнете манипулатора за автоматично попълване надолу, за да запълните клетките с тази формула.
3.42 Използване на Microsoft Word
1. Изберете таблицата, която искате да комбинирате клетки в една, и натиснете Ctrl + C да ги копирате.
2. Отворете празно дума документ, преса Ctrl + V за да ги поставите, след това щракнете върху таблицата в документа, сега се появява икона на кръст в горния десен ъгъл на таблицата.
3. Щракнете върху оформление , след което щракнете върху Преобразуване в текст в Дата група, в пукането Преобразуване на таблица в текст диалогов прозорец, задайте разделителя за колоните. Кликнете OK.
Сега съдържанието на таблицата в Word е преобразувано в текстове.
4. Изберете преобразуваните текстове и натиснете Ctrl + C за да ги копирате и се върнете в Excel и изберете празна клетка, натиснете Ctrl + V за да поставите комбинирания резултат.
3.43 Използване на удобен инструмент – Комбинирайте без загуба на данни
Най-ефективният начин трябва да е използването на Kutools за ExcelЕ Комбинирайте редове, колони или клетки без загуба на данни функция, която просто трябва да отметнете Използвайте форматирани стойности квадратчето за отметка, докато прилагате функцията, комбинираният резултат ще запази форматирането на данните.
1. Изберете таблицата, включително клетките, които поставят резултата, щракнете Kutools > Обединяване и разделяне > Комбинирайте редове, колони или клетки без загуба на данни.
2. В изскачащия диалогов прозорец посочете операцията за комбиниране, както ви е необходима, и премахнете отметката от Използвайте форматирани стойности отметка (по подразбиране тази опция е маркирана). Кликнете Ok.
Сега данните са комбинирани и запазват форматирането.
За повече подробности относно тази функция, моля, посетете Комбинирайте колони, редове, клетки без загуба на данни.
За повече подробности относно Kutools за Excel, моля, посетете Kutools за Excel.
За {module745}-дневен безплатен пробен период на Kutools за Excel, моля Изтегли сега.
Да предположим, че има таблица, която съдържа години, месеци и дни в отделни колони, задачата е да комбинирате колоните и да генерирате дата, както е показано на екранната снимка по-долу:
3.51 Използване на функцията ДАТА
Функцията ДАТА се използва за създаване на дата с година, месец и ден.
Синтаксис за функцията ДАТА |
DATE( year, month, day ) |
За повече подробности относно функцията ДАТА, моля, посетете функцията ДАТА.
Копирайте и поставете формулата по-долу в клетка, която ще постави датата:
=DATE(A2,B2,C2)
Във формулата A2, B2 и C2 са клетките, съдържащи стойностите за година, месец и ден.
Натискане Въведете за да получите първата дата, след това плъзнете манипулатора за автоматично попълване надолу, за да получите всички дати.
Още уроци за Excel:
Комбинирайте няколко работни книги/работни листове в една
Този урок, изброяващ почти всички комбинирани сценарии, с които може да се сблъскате, и предоставя относително професионални решения за вас.
Разделяне на клетки с текст, номера и дата (разделяне на няколко колони)
Този урок е разделен на три части: разделени текстови клетки, разделени клетки с числа и разделени клетки с дата. Всяка част предоставя различни примери, за да ви помогне да знаете как да се справите със задачата за разделяне, когато се натъкнете на същия проблем.
Комбинирайте съдържанието на множество клетки, без да губите данни в Excel
Този урок стеснява извличането до конкретна позиция в клетка и събира различни методи за подпомагане на извличането на текст или числа от клетка по конкретна позиция в Excel.
Сравнете две колони за съвпадения и разлики в Excel
Тук тази статия обхваща повечето възможни сценарии за сравняване на две колони, които може да срещнете, и се надяваме, че може да ви помогне.
Най-добрите инструменти за производителност в офиса
Kutools за Excel решава повечето от вашите проблеми и увеличава вашата производителност с 80%
- Супер Формула Бар (лесно редактиране на няколко реда текст и формула); Оформление за четене (лесно четене и редактиране на голям брой клетки); Поставяне във филтриран диапазон...
- Обединяване на клетки/редове/колони и съхраняване на данни; Съдържание на разделени клетки; Комбинирайте дублиращи се редове и сума/средно... Предотвратяване на дублиращи се клетки; Сравнете диапазони...
- Изберете Дублиран или Уникален редове; Изберете Празни редове (всички клетки са празни); Super Find и Fuzzy Find в много работни тетрадки; Произволен избор...
- Точно копие Множество клетки без промяна на референтната формула; Автоматично създаване на препратки към множество листа; Вмъкване на куршуми, квадратчета за отметка и други...
- Любими и бързо вмъкнати формули, диапазони, диаграми и снимки; Шифроване на клетки с парола; Създаване на пощенски списък и изпращайте имейли...
- Извличане на текст, Добавяне на текст, Премахване по позиция, Премахване на пространството; Създаване и отпечатване на междинни суми за пейджинг; Конвертиране на съдържание и коментари между клетки...
- Супер филтър (запазване и прилагане на филтърни схеми към други листове); Разширено сортиране по месец/седмица/ден, честота и други; Специален филтър с удебелен шрифт, курсив...
- Комбинирайте работни тетрадки и работни листове; Обединяване на таблици въз основа на ключови колони; Разделете данните на няколко листа; Пакетно конвертиране на xls, xlsx и PDF...
- Групиране на обобщена таблица по номер на седмицата, ден от седмицата и други... Показване на отключени, заключени клетки с различни цветове; Маркирайте клетки, които имат формула/име...
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!