Excel'de Satırları Birleştir [kapalı]


-2

Her satırdaki bazı hücrelerin veri eksik olduğu Excel 2016'da 2500'den fazla veri satırını alfabetik olarak birleştirmeye ve sıralamaya çalışıyorum. Aşağıdan bir örnek (üstünde olandan aşağıda olanlara).

dan:

FL          KY              NC              
FL  GA          KS  MD              PA      
                KS  MD      NC      PA  SC  TN

için:

FL  KY  NC                                      
FL  GA  KS  MD  PA                              
KS  MD  NC  PA  SC  TN

Bu kafa karıştırıyor. Bize üç hücreye (gösteriyoruz A1, A2ve A3önde gelen boşluklar dahil çoklu alanlar ile çok uzun dizeleri ile),? Yoksa bize 12 sütun mu gösteriyorsunuz (üçü tamamen boş, birçok hücre boş)? Verilerin sola taşınmasını istediğinizi mi söylüyorsunuz; örneğin KShamle D3için A3? Sıralama kriterleri nelerdir? Ne denedin Lütfen yorumlara cevap vermeyin; sorunuzu daha net ve daha eksiksiz hale getirmek için düzenleyin .
G-Man

OP'nin “sort” kelimesini Am / Br / Ca / Au / NZ English dilinde ne anlama geldiği dışında bir anlam ifade etmek için kullanıyor olabileceği aklıma geldi.
G-Man

"Sıralama" satırlardaki ve satırlardaki öğelere atıfta bulunuyor gibi görünüyor, ancak net değil. Kimden ve Sıralamak üzere sıralanan öğeleri ve satırları göstermek için tek görev boşlukları kaldırmak için birleştiriliyor. Verilerin başlangıç ​​durumu nedir ve sorudaki asıl görev nedir? Sıra sıralama kuralları nelerdir (sadece ilk öğe veya konsolide satırdaki her şey soldan sağa)?
fixer1234

Yanıtlar:


2

İşte bu süreci detaylandıran bir MrExcel dizisi :

Select Columns {your data columns}
Press Ctrl+H to bring up the Find & Replace Dialogue
Make sure there's nothing in the Find field
Click Find all
(Clicking Replace All will not do the necessary at this point!)
Now press Ctrl+A on the keyboard
Click Close
Right-click one of the selected cells
Choose Delete…
Choose Shift cells left
Click OK.

ve tekrarlanabilir makro:

Sub blah()
Dim rng As Range
With ActiveSheet
    With Intersect(.UsedRange, .Range("C:CZ"))
        .Value = .Value
        For Each cll In .Cells
            If Len(cll.Value) = 0 Then Set rng = Union(cll, IIf(rng Is Nothing, cll, rng))
        Next cll
    End With
End With
rng.Delete xlShiftToLeft
End Sub

JaredT - Teşekkürler! Beni saatlerce çalıştın. Çok takdir.
JSH

İyi ve kullanışlı bir çözüm ,,, mükemmel 10 :-) hak ediyor
Rajesh S

@ JSH Teşekkürler! Bu, soruyu tam olarak yanıtlarsa, oylama düğmelerinin yanındaki onay işaretini tıklatarak çözümü kabul ettiğinizden emin olun, böylece diğerleri arama yaparken sorunun çözüldüğünü görebilir.
JaredT
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.