Excel: Menggunakan teks dari sel sebagai nama lembar kerja dalam persamaan pemformatan bersyarat

0

Judul ini benar-benar mengungkapkan sepenuhnya apa yang saya coba lakukan, tapi agak berbelit-belit dan misterius, jadi saya akan menjelaskan dengan use case:

Jika saya memiliki buku kerja excel dengan dua lembar (SheetA dan SheetB) yang sangat dekat satu sama lain, dan saya ingin perbedaan untuk menyorot diri secara visual, cara khas untuk melakukan ini mungkin seperti ini:

  • Di SheetA, sorot semua sel
  • Masukkan pemformatan bersyarat, Aturan Baru, Gunakan rumus
  • Di kotak rumus, masukkan:

    = a1 <> SheetB! a1

  • terapkan pemformatan yang diinginkan dan tekan 'OK'

Pada dasarnya yang dilakukan adalah membandingkan setiap sel SheetA dengan rekanannya di SheetB, dan jika mereka tidak setara, terapkan pemformatannya. Jika nama sheet rumit (terutama jika mengandung spasi dan karenanya perlu tanda kutip) mengklik pada nama tab selama entri rumus melakukan hal-hal yang bermanfaat.

Tetapi sekarang anggaplah bahwa dalam beberapa sel SheetA, saya telah memasukkan ekspresi teks yang berisi nama SheetB, dan saya ingin merujuk sel itu dalam formula pemformatan bersyarat di atas.

(Mengapa? Saya mungkin memiliki 100 spreadsheet dan ingin membandingkan 1 hingga 2, lalu 1 hingga 3, lalu 1 hingga 55, dengan mengubah teks di dalam sel, daripada secara manual mengubah pemformatan bersyarat setiap kali.)

Bagaimana saya bisa melakukan itu?

Saya sadar bahwa fungsi INDIRECT digunakan untuk mengubah teks menjadi nama lembar dan telah mencoba beberapa variasi pada tema itu, menggunakan fungsi INDIRECT sebagai bagian dari rumus format bersyarat, tetapi sepertinya tidak ada yang benar-benar berfungsi.

Novak
sumber
pertanyaan Anda lebih dari sekadar ilmu roket ,, Anda mencoba membandingkan seluruh buku kerja diikuti dengan highlight, seperti yang telah Anda tulis, "ingin membandingkan 1 hingga 2, lalu 1 hingga 3, lalu 1 hingga 55" !!. Lebih baik Anda berpikir untuk perintah Track Changes, ini akan banyak membantu Anda.
Rajesh S

Jawaban:

2

Gunakan rumus format bersyarat seperti ini:

= A1 <> INDIRECT(ADDRESS(ROW(A1), COLUMN(A1),,, aSheet), TRUE)

Ganti aSheetdengan referensi ke sel tempat Anda menyimpan nama lembar untuk membandingkan.

The ADDRESS()Fungsi merakit referensi sel sebagai string teks, menggunakan ROW()dan COLUMN()fungsi untuk bekerja di luar baris dan kolom dari sel yang sedang dievaluasi.

Anda bisa melewatkan ADDRESS()fungsi dan hanya membangun referensi sel dalam format R1C1 menggunakan penggabungan string, tetapi rumus di atas mungkin lebih mudah dibaca dan dipahami. Persamaannya adalah:

= A1 <> INDIRECT(aSheet & "!R" & ROW(A1) & "C" & COLUMN(A1), FALSE)
JRI
sumber