Note: The other languages of the website are Google-translated. Back to English

Cum se concatenează celulele ignorați sau săriți spațiile goale în Excel?

Excel Înlănţui funcția vă poate ajuta să combinați rapid mai multe valori de celule într-o singură celulă, dacă există câteva celule goale în celulele selectate, această funcție va combina și golurile. Dar, cândva, doriți doar să concatenați celulele cu date și să omiteți celulele goale, cum ați putea să o terminați în Excel?

Concatenarea celulelor ignoră sau omite spațiile goale cu formula

Concatenarea celulelor ignoră sau omite golurile cu funcția definită de utilizator

Concatenarea celulelor ignoră sau omite golurile cu Kutools pentru Excel


Presupunând că am următoarele date despre celule care sunt populate cu unele celule goale, pentru a combina rândurile într-o singură celulă, puteți aplica o formulă pentru a o rezolva.

doc combinați săriți golurile 1

Vă rugăm să introduceți această formulă într-o celulă goală în care doriți să puneți rezultatul concatenat, =A1&IF(A2<>"","-"&A2,"")&IF(A3<>"","-"&A3,"")&IF(A4<>"","-"&A4,"")&IF(A5<>"","-"&A5,""), apoi trageți mânerul de umplere direct la celulele pe care doriți să le aplicați această formulă, iar valorile rândurilor au fost combinate fără celulele goale, după cum se arată în următoarea captură de ecran:

doc combinați săriți golurile 2

sfaturi: Dacă există mai multe rânduri care trebuie concatenate, ar trebui să utilizați funcția IF pentru a uni celulele, cum ar fi =A1&IF(A2<>"","-"&A2,"")&IF(A3<>"","-"&A3,"")&IF(A4<>"","-"&A4,"")&IF(A5<>"","-"&A5,"")&IF(A6<>"","-"&A6,""). „-" caracterul din formulă poate fi înlocuit cu orice alt delimitator de care aveți nevoie.


Concatenarea mai multor celule ignoră sau omite spațiile goale:

Kutools pentru Excel's Combina Rânduri, coloane sau celule fără a pierde date funcția vă poate ajuta să combinați sau să concatenați mai multe rânduri, coloane sau celule fără a pierde date, dar săriți sau ignorați celulele goale. Faceți clic pentru a descărca Kutools pentru Excel!

doc combinați săriți golurile 7

Kutools pentru Excel: cu mai mult de 300 de programe de completare Excel la îndemână, încercați fără limitări în 30 de zile. Descărcați și proba gratuită acum!


Dacă trebuie combinate mai multe celule, formula de mai sus va fi prea complexă pentru a fi executată, deci puteți utiliza următoarea funcție definită de utilizator pentru ao rezolva.

1. Țineți apăsat butonul Alt + F11 tastele în Excel și deschide fișierul Microsoft Visual Basic pentru aplicații fereastră.

2. Clic Insera > Moduleși lipiți următoarea macro în fișierul Module Fereastră.

Cod VBA: Concatenarea celulelor ignoră spațiile goale:

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. Salvați și închideți această fereastră de cod, reveniți la foaia de lucru, apoi introduceți această formulă: = concatenatecells (A1: A5) într-o celulă goală și trageți mânerul de umplere direct la celule pentru a aplica această formulă și veți obține următorul rezultat:

doc combinați săriți golurile 3

sfaturi: În codul VBA de mai sus, puteți schimba „/”Caracter pentru orice alți delimitatori de care aveți nevoie.


Cu excepția formulei plictisitoare și a codului, aici, vă pot recomanda un instrument la îndemână-Kutools pentru Excel, cu puterea sa Combina utilitar, puteți concatena mai multe celule într-o singură celulă fără niciun efort.

Kutools pentru Excel : cu mai mult de 300 de programe de completare Excel la îndemână, gratuit pentru a încerca fără limitări în 30 de zile

După instalare Kutools pentru Excel, vă rugăm să faceți următoarele:

1. Selectați valoarea celulelor pe care doriți să o combinați.

2. Clic Kutools > Merge & SplitCombinați rânduri, coloane sau celule fără a pierde date, vezi captura de ecran:

3. În dialogul pop-out:

  • (1.) Alegeți tipul de celule pe care doriți să le combinați, puteți combina coloane, combina rânduri și combinați toate celulele într-o singură celulă;
  • (2.) Specificați un separator pentru conținutul concatenat;
  • (3.) Alegeți locația pentru a pune rezultatul, puteți pune rezultatul în celula superioară sau celula inferioară;
  • (4.) Specificați cum să vă ocupați de celulele combinate, puteți păstra sau șterge conținutul din aceste celule combinate și puteți, de asemenea, să îmbinați aceste celule combinate.

doc combinați săriți golurile 5

4. După terminarea setărilor, faceți clic pe Ok butonul, iar rândurile selectate au fost combinate într-o singură celulă separat și a sărit automat golurile, vedeți captura de ecran:

doc combinați săriți golurile 6

Descărcați și proba gratuită Kutools pentru Excel acum!


Kutools pentru Excel: cu mai mult de 300 de programe de completare Excel la îndemână, încercați fără limitări în 30 de zile. Descărcați și proba gratuită acum!

Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (14)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Scriptul VBA este greșit, deoarece rezultatul formulei pune un spațiu imens între delimitatori.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc! Acest lucru a salvat ore de frustrare din partea mea! Funcționează ca un farmec!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Vă rugăm să ajutați, nu am întotdeauna o valoare în prima mea coloană, ceea ce înseamnă că ajung cu un separat de rezultatul final. Există o cale de a ocoli asta?
Acest comentariu a fost redus la minimum de moderatorul de pe site
te-ai dat seama vreodată? aceeași barcă.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Nu știu cum să fac totul într-o singură celulă, dar am adăugat un rând cu această formulă: =IF(LEFT(U20,1)=",",RIGHT(U20,LEN(U20)-2),U20 ).
Separatorul meu era o virgulă și un spațiu ", " așa că am folosit -2 pentru LEN. U20 este celula cu formula &if concatenată. Logica acestei formule este că, dacă primul caracter din stânga este egal cu o virgulă, atunci ștergeți primele două caractere; altfel lasa-l in pace.

Sper că acest lucru vă ajută.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Multumesc, a fost de mare ajutor!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, am folosit macrocomanda și am schimbat „/” într-o virgulă „”, dar a primit o mulțime de virgule și părea să adauge toate celulele goale.
Fac o instrucțiune imbricată if pentru a determina sortarea corespunzătoare în baza de date. Este suficient pentru a face celula goală „activă”, astfel încât macrocomanda să vadă acest lucru și să o adauge la șirul de text? Cum să rezolvi asta?
mulțumesc mult
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Melinda,
codul vba de mai sus funcționează bine în foaia mea de lucru, trebuie doar să schimbați separatorul / la virgulă, după cum urmează:

Funcția Concatenatecells(ConcatArea As Range) As String
'updateby Extendoffice 20151103
Pentru fiecare n din ConcatArea: nn = IIf(n = "", nn & "", nn & n & ","): Următorul
Concatenatecelule = Stânga(nn, Len(nn) - 1)
Sfârşit Funcţia

și apoi aplicați această formulă:=concatenatecells(A1:A5)
Acest comentariu a fost redus la minimum de moderatorul de pe site
Vă mulţumim!
Am descoperit că problema mea era în instrucțiunea logică pe care am folosit-o pentru a selecta datele pentru aceste celule pe care încercam să le trimit șir de text. Am folosit un „ ” în loc de „” pentru afirmația falsă. Acesta a fost preluat de macro și folosit ca bară de spațiu și a apărut , , , , , text, , , ,
Așa că m-am întors și am scos spațiul și am doar „” și apoi macro-ul a funcționat grozav.
Bineînțeles că învăț macrocomenzi, așa că asta este o altă aventură.
mulțumesc mult!!
Acest comentariu a fost redus la minimum de moderatorul de pe site
A funcționat un răsfăț, mulțumesc mult
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am avut probleme cu formula furnizată care provoacă delimitatori de conducere, așa că am făcut acest lucru și funcționează bine. Aceasta înseamnă concatenarea orizontală a celulelor, ignorând celulele goale și nu rezultă virgule suplimentare.

=IF(A2="", "", A2)&IF(A2="", "", ", ")&IF(B2="", "", B2)&IF(B2="", "", " , ")&IF(C2="", "", C2)
Acest comentariu a fost redus la minimum de moderatorul de pe site
Cum ați schimba semnul „/” pentru CHAR(10) sau întrerupere de linie?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Alan, Pentru a combina celulele cu ruptura de linie, puteți aplica formula simplă de mai jos:=TEXTJOIN(CHAR(10),TRUE,A1:A5)
După ce obțineți rezultatele cu această formulă, ar trebui să faceți clic pe Încadra textul pentru a obține rezultatele corecte de care aveți nevoie.
Vă rugăm să încercați, mulțumesc!
Acest comentariu a fost redus la minimum de moderatorul de pe site
super, multumesc Q
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL