Excel'de çok satırlı sıralama / filtreleme başlıkları nasıl alınır


17

Üstbilgi bilgileri için 2 satır kullanan bir elektronik tablo var. Bir sütun seçerek filtreleme, örtük olarak yalnızca 1 satır üstbilgi bilgisi varsayar. Sıralamada bir başlık satırı onay kutusu bulunur, ancak bu yalnızca ilk satırı başlık olarak ele alır.

Excel'in ilk iki satıra üstbilgi olarak davranmasının bir yolu var mı?

Yanıtlar:


18

Hayır. Otomatik filtre uygularken aralığınızdaki ilk satırı atlayın. Bu şekilde otomatik filtre düğmeleri yalnızca alt başlık satırınızda görünür ve veriler filtrelenir. Şu an ikinci başlık satırınızın 'verilerinize' çekilmesini bekliyorum.

Tek bir hücre seçemezsiniz ve excel'in bunu çözmesini sağlayamazsınız. Excel'in dahil etmesini istediğiniz hücre aralığını seçmelisiniz.


Bu. Bir sütun seçimi yapmak yerine filtrelemeyi başlatmak için belirli bir hücre seçebileceğimin farkında değildim.
Dan is Fiddling by Firelight

7

Birden çok başlık satırı kullanarak sıralama işlevini gerçekleştirmenin kolay bir yolu, sıralamak istediğiniz satırın hemen üzerine boş bir satır eklemektir (ideal olarak, başlığınızda en altta yer alır. Değilse, bunu yapın.) . Ardından, boş satırı vurgulayan 'satır' numarasını tıklayın. Bu satırı sağ tıklayın ve "Gizle" yi seçin.Yeni, boş satır, başlığınızı görünmesini istediğiniz şekilde bırakarak ortadan kaybolacak ve Excel kategori satırınızı başlık olarak yorumlayacaktır.


2

Bir satırın tamamını seçerseniz (satırın solundaki satır numarasını seçerek) ve ardından filtrenizi etkinleştirirseniz (Veri> Filtre), seçili satırın altındaki her şey için filtreler verir ve üstündeki her şeyi yok sayar.


Bu doğru cevap ve en kolayı. Bu çok daha eski bir soru olduğu için excel 2016'da işe yarıyor.
Shawn

Teşekkür ederim! Neden buradaki herkes bunu bu kadar karmaşık yapıyor?
user291695

@ user291695: Ben OP tarihinden itibaren eski yanıtlar gibi MS Office eski bir sürümü için muhtemelen böyle yapıldığını tahmin ediyorum ve yeni cevaplar sadece mantıklı değil. Yine de bilmiyorum.
Fr0zenFyr

1

İkinci satırın sütun başlıklarını içerdiği 2 başlık satırı içeren bir listeyi filtrelemek için yaptığım şey bu.

  • İlk satırı kes
  • Filtrelemeyi kapatma
  • İkinci sıra filtrelenecek şekilde filtrelemeyi tekrar açın. Bu, Excel'e sütun başlıklarının bulunduğu satır olduğunu bildirir.
  • İlk satırı, filtreler ve sütun başlıklarıyla tekrar satırın üstüne yapıştırın
  • Filtrenin şimdi, ikinci satırda sütun başlıklarıyla çalışıp çalışmadığını kontrol edin.

1

Tamam, aşağıdaki dosyayı Excel 2007 olarak kaydettikten ve yeniden açtıktan sonra bile Excel 2010'da çalışır (muhtemelen Excel 2007'de de çalışır ...)

3 satırlık bir başlık varsayarsak. Elektronik tablo filtre aralığını $ A $ 4 hücresinde Başlat olarak ayarlayın ve sıralamak istediğiniz verilerin tamamını kapsadığından emin olun. DOSYA 'YI KAYDET.

Bundan böyle, her tür 1'den 3'e kadar olan satırlara üstbilgi olarak davranır ve bu nedenle yalnızca 4. satırdan başlayarak sıralar. - Filtre aralığını DEĞİŞTİRMEZ ya da iptal etSİNİZ ....


Deedgess'in yanıtı benim için çalıştı. Bir filtre eklediğinizde, excel üstündeki her satırın bir başlık olduğunu varsayar. Benim durumumda, 2 satırlık bir başlığım var. 2. satırı seçtim ve filtreyi açtım. Sonra özel sıralama seçtim ve başlık için kutuyu işaretledim. Sıralama gerçekleştiğinde, hem 1. satır hem de 2. satır başlık olarak kaldı.

İlginçtir, Excel'in 1911'de yaptığım zaman filtrenin açılır listesiyle sıralama çalışır, ancak Özel Sıralama işe yaramaz: satır 2, kaldı, ancak satır 1 diğer her şeyle birlikte sıralandı. Dolayısıyla, gerçek verilerimdeki "en düşük" değer şimdi satır 1'de ve orijinal satır 1 veri aralığımda takılı kalıyor.
pateksan

1

Ben SuperUser üzerinde değil StackOverflow üzerinde olduğunu biliyorum, ama bu sorunun çözümü Excel 2016'da VBA kodu kullanarak bulunabilir.

Benzer (daha karmaşık) bir sorunum var.

Açık sütunlara bazı filtreler eklemek istiyorum, ancak aşağıdaki ekranın yakalanmasında görebileceğiniz gibi yalnızca satır 2'de satır 1'e değil.

resim açıklamasını buraya girin

Excel GUI kullanarak denedim ama bu imkansız görünüyor, bu yüzden aşağıdaki kodu yazdım:

'********************************************************
'* SetFilter()
'********************************************************
'* PUBLIC method to call to define CUSTOM AutoFilter
'* on complex header.
'********************************************************

Sub SetFilter()
  'Compute last row number
  Dim nLast As Long
  nLast = Range("A" & Rows.Count).End(xlUp).Row

  'Lock screen update 
  Application.ScreenUpdating = False

  'Unmerge merged cells to allow adding filter
  Range("A1:A2").MergeCells = False
  Range("B1:B2").MergeCells = False
  Range("C1:C2").MergeCells = False
  Range("D1:D2").MergeCells = False
  Range("E1:E2").MergeCells = False
  Range("F1:F2").MergeCells = False

  'Add filter on row 2 and not 1  
  Range("A2:Z" & nLast).Select
  Selection.AutoFilter

  'Remove (or Hide) filter combobox for some columns
  Selection.AutoFilter Field:=GetColumnIndex("C"), VisibleDropDown:=False
  Selection.AutoFilter Field:=GetColumnIndex("G"), VisibleDropDown:=False
  Selection.AutoFilter Field:=GetColumnIndex("H"), VisibleDropDown:=False

  'Merge unmerged cells to restore previous state
  Range("A1:A2").MergeCells = True
  Range("B1:B2").MergeCells = True
  Range("C1:C2").MergeCells = True
  Range("D1:D2").MergeCells = True
  Range("E1:E2").MergeCells = True
  Range("F1:F2").MergeCells = True

  'Unlock screen update 
  Application.ScreenUpdating = True

End Sub

'********************************************************
'* GetColumnIndex()
'********************************************************
'* return column's index from column letters
'********************************************************

Function GetColumnIndex(sColLetter As String) As Integer
    Dim n As Integer: n = 0
    Dim iMax As Integer: iMax = Len(sColLetter)
    Dim i As Integer
    Dim sChar As String
    Dim c As Integer

    For i = 1 To iMax
        sChar = Mid(sColLetter, i, 1)
        c = 1 + Asc(sChar) - Asc("A")
        n = n * 26 + c
    Next

    If n = 1 Then
      n = 1
    End If

    GetColumnIndex = n
End Function

Bu kodun mantığı

Satır 2'de filtre eklemeye izin vermek için dikey olarak birleştirilmiş başlık hücrelerini ayırın

Range("A1:A2").MergeCells = False

A1 ve A2 hücreleri birleştirilmez.

B. satır 2'deki tüm hücrelere Otomatik Filtre ekleyin

Range("A2:Z" & nLast).AutoFilter

Otomatik Filtre, satır 1 dışındaki tüm satırlardaki hücreler için oluşturulur.

Bazı sütunlar için FILTER Combobox'ı kaldırın veya gizleyin

Selection.AutoFilter Field:=GetColumnIndex("C"), VisibleDropDown:=False

"C" Sütununun DropBox gizlidir.

D. Orijinal durumu geri yüklemek için birleştirilmemiş hücreleri birleştir

Range("A1:A2").MergeCells = True

A1 ve A2 hücreleri tekrar birleştirilir.


0

Excel 2007, çok satırlı başlıklarınız olup olmadığını akıllıca algılayabilir. Bunu yazmadan hemen önce basit bir deney yaptım.

İlk sıralamanızı yapmadan önce imleci başlığın hemen altına getirin. Bu kadar! Sıralama iyidir, filtreleme iyidir. Excel üstbilgilerimin ilk satırını yoksaydı. Sadece ikinci satırı gerçek başlık olarak işler.


3
Hayır, bu işe yaramıyor. Excel 07'nin bazı durumlarda çok satırlı başlıkları otomatik olarak algılayabileceği doğrudur , ancak tıklattığınız hücreye değil, hücre içeriğine dayanır. Örneğin, ilk iki satır metinse ve aşağıdaki her şey sayısalsa, Excel ilk 2 satırın her ikisi de üstbilgi olduğunu varsayar.
Josh

0

Sıralanması gereken hücreleri (başlıklar hariç tümü) vurgulayın ve ardından filtreyi seçin.


0

Excel 2010 kullanıyorum. Başlık satırlarını (örneğin ilk 4 satır) korumak için 5. satırı vurgulayın ve ardından filtreleri açın. 1-4. Sıralar filtreden çıkarılır.


0

Aynı sorunu yaşadım, bu yüzden herkesin katkısı beni (şimdiye kadar) benim için çalışma şekline götürdü.

  1. Çok Satırlı Başlıklarınızın altına boş bir satır EKLEYİN (başlığınız 5 satır bilgi ve / veya tek hücre boyutu ise, yeni boş satırınız Satır6 olacaktır).

  2. Row6'ya tıklayın (en soldaki / gerçekten "6" yı (Excel Row #) tüm satırı / sonsuza kadar seçmek için tıklayın). Aşağıdaki # 3 ve # 4'ü tamamlayana kadar başka bir HÜCRE'yi tıklamamaya dikkat edin, aksi takdirde satırı 'Seçimi Kaldır' edersiniz. 'Seçili' tutmak istersiniz.

  3. GÖRÜNÜM sekmesi> Bölmeleri Dondur> Dondur'u Çöz (temizlemek için önce yapın)> Dondur'a gidin. Bu, 5 satır başlığınızı ve ayrıca boş satırı (satır6) dondurur.

  4. "ALT" tuşunu basılı tutun ve ardından aşağıdaki tuşlara basın: D, F, F (bu, sayfadaki tüm filtreleri açmak ve kapatmak için kısayoldur.

  5. Bu noktadan sonra, bu sayfayı kullanmaya her döndüğünüzde ve bu Filtreleri açmanız gerekir (daha önce herhangi bir nedenle kapattıysanız), sonra> Boş Satırınızı Seçin (# 2'de açıklandığı gibi); > Tüm filtrelerinizi çevirin (# 4'te açıklandığı gibi).

Çok garip olduğum için üzgünüm, ancak birkaç kez yaptıktan sonra muhtemelen seveceksiniz (Filtreleri çok kullanıyorsanız).


0

Adım 1 Alt başlık satırını vurgulayın. ve sonra yalnızca bir satırdaki hücreleri veya tüm satırı seçebilirsiniz.

2. Adım, Ana Sayfa sekmesindeki "Sırala ve Filtrele" yi tıkladıktan sonra "Filtre" yi seçebilirsiniz. Excel, tüm sütun adlarına filtre okları ekler.

Adım 3 sonra bir oku tıklatın ve sonra tüm tabloyu bu sütuna göre sıralamak için bir sıralama seçeneği belirleyin.

Adım 4 son olarak "Sırala ve Filtrele" yi tıklayın ve oklardan kurtulmak istiyorsanız tekrar "Filtre" yi seçin, ancak filtre tarafından tanımlanan sıralama alanını koruyun. artık normal şekilde sıralayabilirsiniz, Excel ekstra başlık satırlarını yoksayar


-1

Bazı durumlarda başarmanın başka bir yolu, ikinci sütuna filtrenin eklemesine neden olacak bir değer girmek ve ardından o hücrenin metnini hücrenin arka plan rengiyle eşleştirmektir. Başlık (satır 1) hücrede yatay olarak ortalanmayacağı için işe yaramaz, ancak çalışır ...


-1

Aynı sorunu yaşadım ve benim için çalışan bir çözüm buldum. Üstbilgide görmek istemediğiniz her satır için harfleri beyaz (veya arka plan rengini) yaparsınız. Sıraladığınızda, satırlarda aynı başlıkların tümünü görmezsiniz. Bir şeyi değiştirmek istediğinizde kötüdür, ancak bu durumda onları açık gri yapabilirsiniz.

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.