Dalam pemformatan bersyarat saya ingin mendeteksi apakah baris di atas sel saat ini tersembunyi atau terlihat. Bagaimana saya bisa mendeteksi apakah sel terlihat atau tidak?
Satu-satunya peretasan yang bisa saya pikirkan adalah:
- Buat kolom dengan semua
1
nilai-nilai. - Gunakan formula seperti
subtotal(109,c2:c2)=1
(mis. hanya di sel yang ingin saya periksa) untuk menentukan apakah itu terlihat atau disembunyikan.
Apakah ada cara melakukan ini tanpa kolom sementara yang harus dibiarkan terlihat ketika baris ditampilkan?
Untuk menghindari Masalah XY , yang ingin saya lakukan adalah memiliki kolom yang merupakan kategori untuk baris. Baris VISIBLE pertama dengan kategori tertentu harus memiliki gaya yang berbeda; baris selanjutnya dengan kategori yang sama sedikit berbeda. Di ASCII:
cat. item
+AAA+ aaaa
(AAA) bbbb
(AAA) cccc
+BBB+ dddd
(BBB) eeee
(BBB) ffff
Jika filter saya menyembunyikan baris dengan dddd
maka saya ingin baris dengan eeee
untuk memiliki +BBB+
styling bukan.
Utas ini agak lama, tetapi jika bermanfaat bagi siapa pun, berikut adalah cara untuk memformat duplikat pada tabel yang difilter tanpa harus menggunakan VBA.
Buat kolom lain dan masukkan formula seperti ini di dalamnya
=IF(SUBTOTAL(103, [@ColumnWithOnlyOnesInIt])=1, [@ColumnYouWantToCheckForDuplicates], "")
Masukkan pemformatan bersyarat duplikat normal pada kolom yang ingin Anda periksa.
Rumus dari langkah 2 akan menyalin nilai dari kolom yang ingin Anda periksa tetapi hanya ketika baris terlihat. Dengan begitu, ketika duplikat diperiksa, Anda hanya mendapatkan yang berlaku untuk tabel yang difilter. Saya pikir ini mungkin tidak berfungsi untuk nol (atau "" atau apa pun yang Anda pilih sebagai nilai "lain" dalam pernyataan if Anda). Jadi dimungkinkan untuk mendapatkan nilai garis nol di daftar Anda yang disorot sebagai duplikat. Selain itu saya beruntung dengan metode ini.
sumber
Saya akan mengusulkan untuk menggunakan rumus berikut (pada kisaran mis. $ A: $ A):
Apa yang dilakukan:
Jika keduanya
A1=OFFSET(A1;-1;0)
SUBTOTAL(103;OFFSET(A1;-1;0))=1
maka hasilnya Benar sehingga sel adalah duplikat dari sel yang terlihat tepat di atas dan harus mis. berwarna abu-abu.
Sidenote: Menggunakan
OFFSET
fungsi membuat pemformatan bersyarat tidak akan rusak ketika baris tambahan dimasukkan.sumber
Inilah solusi yang baru saja saya gunakan:
Saya Membuat kolom C baru (dan HID yang asli (Kolom B)). Di kolom baru saya menggunakan rumus = SUBTOTAL (9, B2) SUMS mana SATU baris yang Anda minati. Saya kemudian menyalinnya semua baris!
Sekarang, saat Anda memfilter menggunakan filter lanjutan. Nilai-nilai semua NOL di kolom ini kecuali jika terlihat (tidak difilter).
Kemudian, normal = SUMIF () berfungsi seperti jagoan. Hanya saja, jangan sengaja menggunakan kolom tersembunyi untuk menjumlahkan. Jumlahkan seluruh kolom SUBTOTAL () yang baru saja Anda buat.
sumber