Sorot satu baris di mana nilai berubah relatif terhadap baris sebelumnya (Pemformatan Bersyarat?)


7

Saya memiliki spreadsheet dengan banyak data. Data dikelompokkan sehingga semua baris dengan nilai tertentu dalam satu kolom (katakanlah C) dikelompokkan bersama. Saya ingin menyoroti "batas" - yaitu, baris pertama di mana nilai dalam kolom C berbeda dari pendahulunya.

Sebagai contoh:

   A       B      C
1 Type   Val    Category
2 Cat    1.77     1
3 Newt   1.937    1
4 Toad   1.03     3
5 Newt   0.78     3
6 Dog    0.78     3
7 Worm   0.78     9

Dalam contoh ini, saya ingin Excel secara otomatis menemukan dan menyorot baris 2, 4, dan 7, karena di situlah nilai dalam C berubah dari baris sebelumnya.

Saya mencoba menggunakan aturan Pemformatan Bersyarat dengan rumus $C1<>$C2- berharap Excel akan bertambah melalui baris yang menemukan & menyorot baris transisi - tetapi tidak berhasil. Adakah ide bagaimana mendapatkan hasil yang saya cari?

Jawaban:


6

Apa yang Anda sarankan harus bekerja dalam kombinasi dengan rentang " berlaku untuk " yang tepat. Misalnya jika data Anda ada di A1:C7(dengan header di A1:C1) maka:

  • pilih rentang tanpa header, yaitu A2:C7
  • gunakan rumus itu (dengan sebelumnya =), yaitu

    = $ C1 <> $ C2

  • terapkan format yang diperlukan

Seharusnya memformat baris 2, 4 dan 7 seperti yang diharapkan

... tapi saya perhatikan komentar Anda tentang menghapus baris sehingga versi ini akan memerangi itu sementara tidak "meng-hardcoding" huruf kolom

=INDEX($C:$C,ROW())<>INDEX($C:$C,ROW()-1)


Poin bagus tentang menentukan rentang Berlaku Ke yang benar. Saya sebenarnya telah memilih rentang seluruh spreadsheet. Karena penasaran, saya memeriksa apakah membatasi untuk memulai dengan baris kedua (seperti yang Anda sarankan) juga berhasil - dan ternyata berhasil. Terima kasih.
yosh m

Hanya untuk mengklarifikasi - saya memang mencoba menggunakan apa yang Anda katakan - yaitu, upaya awal saya dengan = $ C1 <> $ C2 tanpa INDIRECT - dan itu tidak berhasil untuk saya. Jadi saya mencobanya lagi, sekarang, dan - itu berhasil kali ini! Apa yang saya lupakan pertama kali? Saya tidak yakin ... Tapi Anda benar bahwa INDIRECT tidak perlu. Terima kasih.
yosh m

1
Ups - masalah dengan jawaban ini: Saya secara manual membersihkan data dan ketika saya menghapus baris yang disorot (yang saya lakukan sepanjang waktu - titik data pertama hampir selalu palsu) baris transisi baru TIDAK disorot dengan sederhana aturan. Namun dengan aturan tidak langsung itu disorot (yang sebenarnya perilaku yang saya butuhkan). Saya telah kembali melakukannya dengan INDIRECT untuk saat ini. Namun, saya akan senang mengetahui cara yang kurang tumpul untuk menentukannya. Terima kasih.
yosh m

1
Saya melakukan sedikit lebih banyak percobaan dan menurut saya ada bug di Excel. Ketika saya menggunakan pendekatan Anda (yaitu, upaya asli saya) dan kemudian menghapus satu baris - Excel karena beberapa alasan memunculkan satu atau dua aturan CF baru dan aturan baru mencakup rentang yang berbeda dan setidaknya satu yang saya lihat sekarang tidak valid (#REF). Menggunakan fungsi INDIRECT ini tidak terjadi. Saya tidak tahu kenapa. Bagi saya itu adalah bug di Excel.
yosh m

1
Ya, saya setuju dengan Anda ya, bahwa Anda akan mendapatkan masalah jika baris dihapus dengan pemisahan rentang CF - IMO ini berfungsi lebih baik di Excel 2003 di mana itu tidak akan terjadi ..... INDIRECT masih bermasalah, meskipun, jika Anda harus menghapus, memindahkan, atau menyisipkan KOLOM kemudian karena "C" adalah "hardcoded" CF tidak akan menyesuaikan - Anda dapat mengatasinya dengan menggunakan INDEX, sebaliknya, di mana penyesuaian itu akan terjadi jika diperlukan - yaitu rumus akan = INDEX ($ C: $ C, ROW ()) <> INDEX ($ C: $ C, ROW () - 1)
barry houdini

1

Aha! Menemukannya. Formula ini melakukan trik dalam pemformatan bersyarat:

 =INDIRECT("C"&(ROW()-1))<>INDIRECT("C"&(ROW()))

Jika ada cara lain atau lebih baik, saya akan tertarik untuk mendengarnya, tetapi saya telah memecahkan masalah langsung saya dengan ini. Terima kasih.


itu solusi yang bagus tetapi solusi barry harus bekerja
JMax

hampir selalu tidak perlu menggunakan INDIRECT dalam pemformatan bersyarat (dan mungkin bukan ide yang baik). Pendekatan awal Anda hampir benar - lihat jawaban saya di sini
barry houdini

1
Lihat komentar ketiga saya untuk jawaban Anda. Ternyata pendekatan INDIRECT memiliki keunggulan dibandingkan pendekatan "langsung". Terima kasih.
yosh m

0

Anda dapat menggunakan yang berikut untuk menjalankan format bersyarat.

Tangkapan Layar


Terima kasih, Charlie, tapi saya ingin satu aturan diterapkan ke seluruh spreadsheet sehingga Excel bekerja untuk saya. Sementara itu saya menemukan solusi (lihat jawaban saya untuk diri saya sendiri). Terima kasih.
yosh m

0

Saya menginginkan sesuatu yang selamat dari salin & tempel, pindahkan, dll. Inilah yang saya buat:

=INDIRECT(ADDRESS(ROW(), COLUMN()))=INDIRECT(ADDRESS(ROW()-1, COLUMN()))
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.