Cara mendapatkan header pengurutan / penyaringan multi-baris di excel

17

Saya memiliki spreadsheet yang menggunakan 2 baris untuk informasi header. Memfilter dengan memilih kolom secara implisit mengasumsikan hanya 1 baris informasi header. Penyortiran memiliki kotak centang baris tajuk, tetapi itu hanya mengaktifkan tayangan baris pertama sebagai tajuk.

Apakah ada cara untuk membuat Excel memperlakukan dua baris pertama sebagai header?

Dan Neely
sumber

Jawaban:

18

Tidak. Abaikan baris pertama dari rentang Anda saat Anda memfilter otomatis. Dengan cara ini tombol filter otomatis hanya muncul di baris tajuk bawah dan data akan difilter. Saya berharap bahwa sekarang baris tajuk kedua Anda ditarik ke 'data' Anda.

Anda tidak dapat memilih satu sel dan minta excel untuk memecahkannya. Anda harus memilih rentang sel yang ingin Anda sertakan.

DaveParillo
sumber
Ini. Saya tidak menyadari bahwa saya dapat memilih sel tertentu untuk memulai pemfilteran, sebagai kebalikan dari melakukan pemilihan kolom.
Dan Neely
7

Cara mudah untuk menyelesaikan fungsi sortir menggunakan beberapa baris header adalah dengan menyisipkan baris kosong tepat di atas baris yang ingin Anda sortir (idealnya, ini adalah terbawah di header Anda. Jika tidak, buatlah demikian.) . Kemudian klik pada nomor 'baris' yang menyoroti baris kosong. Klik kanan baris itu dan pilih "Sembunyikan '. Baris baru yang kosong akan lenyap meninggalkan tajuk Anda seperti yang Anda inginkan dan Excel akan menafsirkan baris kategori Anda sebagai tajuk.

George Cahill
sumber
2

Jika Anda memilih seluruh baris (dengan memilih nomor baris di sebelah kiri baris) dan kemudian mengaktifkan filter Anda (Data> Filter) maka itu akan memberi Anda filter untuk semua yang ada di bawah baris yang dipilih dan mengabaikan semua yang ada di atasnya.

pengguna291695
sumber
Ini adalah jawaban yang benar dan termudah. Ini berfungsi di excel 2016 karena ini adalah pertanyaan yang jauh lebih tua.
Shawn
Terima kasih! Mengapa semua orang di sini melakukannya dengan begitu rumit?
user291695
@ user291695: Saya menduga dari tanggal di OP bahwa itulah yang mungkin dilakukan untuk versi MS Office yang lebih lama seperti pada jawaban yang lebih lama dan jawaban yang lebih baru tidak masuk akal. Tidak tahu pasti.
Fr0zenFyr
1

Untuk memfilter daftar dengan 2 baris tajuk, tempat baris kedua berisi tajuk kolom, inilah yang saya lakukan.

  • Potong baris pertama
  • Matikan penyaringan
  • Nyalakan lagi penyaringan sehingga baris kedua difilter. Ini memberitahu Excel yang merupakan baris dengan judul kolom.
  • Rekatkan baris pertama kembali lagi di atas baris dengan filter dan judul kolom
  • Periksa untuk melihat apakah filter sekarang berfungsi, dengan judul kolom di baris kedua.
PeterJHill
sumber
1

Oke, berikut ini berfungsi di Excel 2010, bahkan setelah menyimpan file kembali sebagai Excel 2007 dan membuka kembali (jadi mungkin bekerja di Excel 2007 juga ...)

Dengan asumsi header 3 baris. Setel rentang filter spreadsheet ke Mulai di sel $ A $ 4 dan pastikan mencakup seluruh data yang ingin Anda urutkan. SIMPAN FILE THE.

Selanjutnya, segala jenis akan memperlakukan baris 1 hingga 3 sebagai tajuk dan karenanya menyortir dari baris 4 dan seterusnya. - KECUALI Anda mengubah atau membatalkan rentang filter ....

perbuatan baik
sumber
Tanggapan dari deedgess bekerja untuk saya. Saat Anda menambahkan filter, excel mengasumsikan setiap baris di atas adalah header. Dalam kasus saya, saya memiliki header 2 baris. Saya memilih baris 2 dan menyalakan filter. Lalu saya memilih pengurutan khusus dan menandai kotak untuk header. Ketika penyortiran terjadi, baris 1 dan 2 tetap sebagai tajuk.
1

Saya tahu bahwa saya menggunakan SuperUser dan bukan di StackOverflow, tetapi solusi untuk masalah ini dapat ditemukan dalam menggunakan kode VBA di Excel 2016.

Saya memiliki masalah yang serupa (lebih kompleks).

Saya ingin menambahkan beberapa filter pada kolom eksplisit tetapi tidak pada baris 1 hanya pada baris 2 seperti yang Anda lihat pada tangkapan layar berikut ini.

masukkan deskripsi gambar di sini

Saya telah mencoba menggunakan Excel GUI tetapi ini sepertinya tidak mungkin, jadi saya telah menulis kode berikut:

'********************************************************
'* 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

Logika dari kode ini adalah

A. Unmerge sel header yang digabung secara vertikal untuk memungkinkan penambahan filter pada baris 2

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

Sel A1 dan A2 tidak dipisahkan.

B. Tambahkan Filter Otomatis pada semua sel baris 2

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

Filter Otomatis dihasilkan untuk sel di semua baris kecuali baris 1.

C. Hapus atau sembunyikan Combobox FILTER untuk beberapa kolom

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

DropBox Kolom "C" disembunyikan.

D. Gabungkan sel-sel yang tidak dimerger untuk mengembalikan keadaan semula

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

Sel A1 dan A2 digabungkan lagi.

schlebe
sumber
0

Excel 2007 dapat mendeteksi dengan cerdas jika Anda memiliki header multi-baris. Saya membuat percobaan sederhana sekarang sebelum menulis ini.

Sebelum melakukan sortir pertama Anda, posisikan kursor tepat di bawah header. Itu dia! Penyortiran baik-baik saja, penyaringan baik-baik saja. Excel mengabaikan baris pertama header saya. Itu hanya memproses baris ke-2 sebagai header sebenarnya.

lalu pemburu
sumber
3
Tidak, ini tidak berhasil. Memang benar bahwa Excel 07 dapat mendeteksi secara otomatis header multi-baris dalam beberapa kasus, tetapi didasarkan pada konten sel, bukan pada sel mana yang Anda klik. Misalnya, jika dua baris pertama adalah teks dan semua yang di bawah adalah numerik, maka Excel akan menganggap 2 baris pertama sama-sama header.
Josh
0

Sorot sel yang perlu diurutkan (semua kecuali header) lalu pilih filter.

Laurah
sumber
0

Saya menggunakan Excel 2010. Untuk mempertahankan baris heading (mis. 4 baris pertama), sorot baris 5 lalu nyalakan filter. Baris 1 - 4 dikecualikan dari filter.

Tony Bray
sumber
0

Saya memiliki masalah yang sama, sehingga kontribusi semua orang mengarahkan saya pada cara kerjanya bagi saya (sejauh ini).

  1. Tambahkan baris kosong di bawah Header Multi-baris Anda (jika header Anda adalah 5 baris info dan / atau ukuran sel ganjil, maka baris kosong BARU Anda adalah Row6).

  2. Klik pada Row6 (ke paling kiri / sebenarnya klik "6" (Excel Row #) untuk memilih seluruh baris / hingga tak terhingga). Pastikan TIDAK untuk mengklik SEL lainnya, sampai Anda menyelesaikan # 3 dan # 4 di bawah, atau Anda akan 'Batalkan pilihan' pada baris tersebut. Anda ingin menyimpannya 'Dipilih'.

  3. Buka tab VIEW> Freeze Panes> Unfreeze (lakukan ini dulu untuk menghapusnya)> Freeze. Ini akan membekukan header 5 baris Anda & juga baris kosong (baris6).

  4. Tahan "ALT", lalu tekan tombol berikut: D, F, F (ini adalah jalan pintas untuk mematikan & mematikan / menghapus semua filter pada lembaran.

  5. Dari titik ini ke depan, kapan pun Anda kembali menggunakan sheet ini & Anda memerlukan Filter-filter itu (jika sebelumnya Anda mematikannya karena alasan apa pun), lalu> Pilih Baris Kosong Anda (sebagaimana dijelaskan dalam # 2); > Matikan semua filter Anda (seperti dijelaskan pada # 4).

Maaf karena terlalu bertele-tele, tetapi setelah Anda melakukannya beberapa kali, kemungkinan akan menyukainya (jika Anda sering menggunakan Filter).

JohnB
sumber
0

Langkah 1 Sorot baris tajuk bawah. dan kemudian Anda dapat memilih hanya sel dalam satu baris, atau memilih seluruh baris.

Langkah 2 klik berikutnya pada "Sort & Filter" pada tab Beranda, maka Anda dapat memilih "Filter." Excel menambahkan panah filter ke semua nama kolom.

Langkah 3 lalu klik panah dan kemudian pilih opsi pengurutan untuk mengurutkan seluruh tabel berdasarkan kolom itu.

Langkah 4 akhirnya klik pada "Sort & Filter" dan pilih "Filter" lagi jika Anda ingin menghilangkan panah, tetapi tetap area penyortiran yang ditentukan oleh filter. sekarang Anda dapat mengurutkan secara normal, Excel mengabaikan baris tajuk tambahan

pelatihan pte
sumber
-1

Cara lain untuk mencapai dalam beberapa kasus adalah memasukkan nilai di kolom kedua yang akan menyebabkan filter untuk memasukkannya, kemudian membuat teks sel itu cocok dengan warna latar belakang sel. Tidak terlalu cantik karena tajuk (baris 1) tidak akan dipusatkan secara horizontal di dalam sel tetapi akan berfungsi ...

Tony
sumber
-1

Saya memiliki masalah yang sama dan menemukan solusi yang berfungsi untuk saya. Untuk setiap baris di tajuk yang tidak ingin Anda lihat, Anda membuat huruf putih menjadi (atau warna latar belakang). Saat Anda menyortir, Anda tidak melihat semua header yang sama di baris. Menjadi buruk ketika Anda ingin mengubah sesuatu, tetapi dalam hal ini Anda juga bisa membuatnya menjadi abu-abu muda.

Pekerjaan Oosterhuis
sumber