Прескочи на основното съдържание

Как да свържа клетки, игнорирайки или пропускайки празни места в Excel?

Автор: Xiaoyang Последна промяна: 2020-11-26

Excel Свържете може да ви помогне бързо да комбинирате множество стойности на клетки в една клетка, ако в избраните клетки има няколко празни клетки, тази функция ще комбинира и празните. Но понякога просто искате да свържете клетки с данни и да пропуснете празните клетки, как бихте могли да го завършите в Excel?

Конкатенираните клетки игнорират или пропускат празни места с формула

Конкатенираните клетки игнорират или пропускат празни места с дефинирана от потребителя функция

Конкатенираните клетки игнорират или пропускат празни места с Kutools за Excel


Да предположим, че имам следните данни за клетките, които са попълнени с някои празни клетки, за да комбинирам редовете в една клетка, можете да приложите формула, за да го разрешите.

doc комбиниране пропускане на празни места 1

Моля, въведете тази формула в празна клетка, където искате да поставите свързания резултат, =A1&IF(A2<>"","-"&A2,"")&IF(A3<>"","-"&A3,"")&IF(A4<>"","-"&A4,"")&IF(A5<>"","-"&A5,""), след което плъзнете манипулатора за попълване надясно към клетките, към които искате да приложите тази формула, и стойностите на редовете са комбинирани без празните клетки, както е показано на следната екранна снимка:

doc комбиниране пропускане на празни места 2

Съвети: Ако има повече редове, които трябва да бъдат свързани, трябва да използвате функцията IF, за да съедините клетките, като напр. =A1&IF(A2<>"","-"&A2,"")&IF(A3<>"","-"&A3,"")&IF(A4<>"","-"&A4,"")&IF(A5<>"","-"&A5,"")&IF(A6<>"","-"&A6,""). "-" знак във формулата може да бъде заменен с други разделители, от които се нуждаете.


Свързване на множество клетки игнориране или пропускане на празни места:

Kutools за Excel's Комбинирам Редове, колони или клетки без загуба на данни може да ви помогне да комбинирате или свързвате множество редове, колони или клетки, без да губите данни, но пропускате или игнорирате празните клетки. Щракнете, за да изтеглите Kutools за Excel!

doc комбиниране пропускане на празни места 7

Kutools за Excel: с повече от 300 удобни добавки за Excel, безплатни за изпробване без ограничение за 30 дни. Изтеглете и изпробвайте безплатно сега!


Ако има няколко клетки, които трябва да бъдат комбинирани, горната формула ще бъде твърде сложна за изпълнение, така че можете да използвате следната дефинирана от потребителя функция, за да я разрешите.

1. Задръжте натиснат Alt + F11 клавиши в Excel и отваря Microsoft Visual Basic за приложения прозорец.

2. Щракнете Поставете > Модулии поставете следния макрос в Модули Window.

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

3. Запазете и затворете този прозорец с код, върнете се в работния лист и след това въведете тази формула: =свързани клетки(A1:A5) в празна клетка и плъзнете манипулатора за попълване надясно към клетките, за да приложите тази формула, и ще получите следния резултат:

doc комбиниране пропускане на празни места 3

Съвети: В горния VBA код можете да промените „/” към всички други разделители, от които се нуждаете.


С изключение на скучната формула и код, тук мога да препоръчам един удобен инструмент -Kutools за Excel, със своята мощна Комбинирам помощна програма, можете да свържете множество клетки в една клетка без никакви усилия.

Kutools за Excel : с повече от 300 удобни добавки за Excel, безплатни за изпробване без ограничение за 30 дни

След инсталиране Kutools за Excel, моля, направете следното:

1. Изберете стойността на клетките, която искате да комбинирате.

2. Щракнете Kutools > Обединяване и разделянеКомбинирайте редове, колони или клетки без загуба на данни, вижте екранна снимка:

3. В изскачащия диалогов прозорец:

  • (1.) Изберете типа клетки, които искате да комбинирате, можете да комбинирате колони, да комбинирате ред и да комбинирате всички клетки в една клетка;
  • (2.) Посочете разделител за вашето свързано съдържание;
  • (3.) Изберете местоположението за поставяне на резултата, можете да поставите резултата в горната клетка или в долната клетка;
  • (4.) Посочете как да се справите с комбинираните клетки, можете да запазите или изтриете съдържание от тези комбинирани клетки и можете също да обедините тези комбинирани клетки.

doc комбиниране пропускане на празни места 5

4. След като завършите настройките, щракнете Ok и избраните редове са комбинирани в една отделна клетка и автоматично е пропуснал празните места, вижте екранната снимка:

doc комбиниране пропускане на празни места 6

Изтеглете и изпробвайте безплатно Kutools за Excel сега!


Kutools за Excel: с повече от 300 удобни добавки за Excel, безплатни за изпробване без ограничение за 30 дни. Изтеглете и изпробвайте безплатно сега!

Най-добрите инструменти за продуктивност в офиса

🤖 Kutools AI помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати   |  Изтриване на празни редове   |  Комбинирайте колони или клетки без загуба на данни   |   Кръг без формула ...
Супер търсене: VLookup с множество критерии    VLookup с множество стойности  |   VLookup в няколко листа   |   Размито търсене ....
Разширен падащ списък: Бързо създаване на падащ списък   |  Зависим падащ списък   |  Падащ списък с множество избори ....
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  |  Сравнете диапазони и колони ...
Препоръчани функции: Мрежов фокус   |  Изглед на дизайна   |   Голям формула бар    Мениджър на работни книги и листове   |  Библиотека с ресурси (Автоматичен текст)   |  Избор на дата   |  Комбинирайте работни листове   |  Шифроване/декриптиране на клетки    Изпращайте имейли по списък   |  Супер филтър   |   Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи, ...)   |   50 + Графика Видове (диаграма на Гант, ...)   |   40+ Практичен формули (Изчислете възрастта въз основа на рождения ден, ...)   |   19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя, ...)   |   12 Конверсия Инструменти (Числа към думи, Валутен обмен, ...)   |   7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделени клетки, ...)   |   ... и още

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
Comments (14)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
How would you change the "/" sign for CHAR(10) or line break?
This comment was minimized by the moderator on the site
Hello, Alan,To combine the cells with the line break, you can apply the below simple formula:=TEXTJOIN(CHAR(10),TRUE,A1:A5)
After getting the results with this formula, you should click the Wrap Text to get the correct results you need.
Please try, thank you!
This comment was minimized by the moderator on the site
super, thank Q
This comment was minimized by the moderator on the site
I had issues with the formula provided causing leading delimiters, so I did this instead and it works well. This is concatenating cells horizontally while ignoring blank cells and results in no extra commas.

=IF(A2="", "", A2)&IF(A2="", "", ", ")&IF(B2="", "", B2)&IF(B2="", "", ", ")&IF(C2="", "", C2)
This comment was minimized by the moderator on the site
This worked a treat, thanks so much
This comment was minimized by the moderator on the site
Hi, used the macro and changed the "/" to a comma "," but got a lot of commas and it appeared to add all the blank cells.
I am doing a nested if statement to determine the appropriate sorting in the database. Is this enough to make the blank cell 'active' so that the macro sees this and adds it to the text string? How to work around that?
thanks much
This comment was minimized by the moderator on the site
Hello, Melinda,
the above vba code works well in my worksheet, you just need to change the separator / to comma as below:

Function Concatenatecells(ConcatArea As Range) As String
'updateby Extendoffice 20151103
For Each n In ConcatArea: nn = IIf(n = "", nn & "", nn & n & ","): Next
Concatenatecells = Left(nn, Len(nn) - 1)
End Function

and then apply this formula:=concatenatecells(A1:A5)
This comment was minimized by the moderator on the site
thanks!
I found my problem was in the logic statement that I used to select data for these cells that I was trying to text string. I used a " " instead of "" for the false statement. That was picked up by the macro and used as a space bar and came out , , , , , text, , , ,
So I went back and took out the space and just have the "" and then the macro worked great.
Of course I am learning macros so that's another adventure.
thanks much!!
This comment was minimized by the moderator on the site
Thank you, it was very helpful!
This comment was minimized by the moderator on the site
Please help, i dont always have a value in my first column, that couses that I end up with a seperator infort of the final result. Is there a way around this?
This comment was minimized by the moderator on the site
ever get tis figured out? same boat.
This comment was minimized by the moderator on the site
I don't know how to do it all in one cell, but I added a row with this formula: =IF(LEFT(U20,1)=",",RIGHT(U20,LEN(U20)-2),U20).
My separator was a comma and a space ", " so I used -2 for LEN. U20 is the cell with the concatenated &if formula. The logic of this formula is that if the first character from the left equals a comma, then delete the first two characters; otherwise leave it alone.

Hope this helps.
This comment was minimized by the moderator on the site
Thank you! This saved hours of frustration on my part! Works as a charm!
This comment was minimized by the moderator on the site
The VBA script is wrong, because the output of the formula puts a huge space between the delimiters.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations