Apakah mungkin untuk memformat sel secara kondisional jika sel berisi rumus (untuk mengingatkan saya dan pengguna lain saat memperbarui sel)?
Apakah mungkin untuk memformat sel secara kondisional jika sel berisi rumus (untuk mengingatkan saya dan pengguna lain saat memperbarui sel)?
Jawaban:
Anda dapat menggunakan pemformatan bersyarat untuk melakukan ini dengan menggunakan XLM dan Range Name
Saya memiliki artikel yang lebih panjang tentang Penggunaan XLM dengan Nama Rentang dan Pemformatan Bersyarat untuk memformat spreadsheet secara otomatis sesuai dengan konten sel
xlm
tanpa peringatan makro, MSFT mengubah pendekatan keamanan.
Membangun jawaban brettdj, karena saya menemukan artikel yang terhubung cukup sulit untuk diikuti:
=ISFORMULA(INDIRECT("rc",FALSE))
$1:$1048576
sebagai rentang untuk diterapkan. Jika tidak, Anda dapat memasukkan rentang apa pun.Rumus INDIRECT("rc",FALSE)
mengembalikan referensi sel saat ini. Jika saya pernah menggunakan ini dalam selembar, saya membuat Nama Didefinisikan bernama seperti ThisCell
dan menggunakannya dalam rumus, kalau-kalau saya pernah kembali bertahun-tahun kemudian dan berpikir "untuk apa ini?".
INDIRECT("rc",FALSE)
, gunakan referensi relatif dengan sel kiri atas dalam pemformatan bersyarat "Berlaku untuk" Anda. Misalnya, jika rentang "Berlaku untuk" Anda =$A$3:$F$300
, gunakan =ISFORMULA(A3)
. Ini berfungsi karena pemformatan bersyarat mendukung referensi relatif, lihat ini
Anda dapat mencoba ini:
Buat fungsi khusus dengan kode berikut:
Function IsFormula(ByVal Ref As Range) As Variant
If Ref.Cells.Count > 1 Then
IsFormula = CVErr(xlErrNA)
Else
IsFormula = Ref.HasFormula
End If
End Function
Contoh:
Untuk memeriksa apakah ada sel di kolom A yang memiliki rumus:
=IsFormula(A1)
Ada cara yang sangat sederhana untuk melakukan ini, diuji di Excel 2016.
Sorot rentang tempat Anda ingin menerapkan ini, katakanlah dari A3:W20
. Pergilah ke pemformatan bersyarat dan pilih NEW RULE | USE A FORMULA TO DETERMINE WHICH CELLS TO FORMAT
.
Masukkan =isformula(A3)
dan pilih format yang ingin Anda terapkan.
A3
jelas merupakan referensi ke sel pertama dalam rentang Anda tetapi pemformatan ini kemudian berlaku untuk semua. Hasilnya adalah dalam rentang Anda, sel apa pun yang merupakan rumus diformat bersyarat.
Situs bantuan yang lebih baru merekomendasikan Fungsi Buatan Pengguna:
Function IsFormula(cell) as boolean
IsFormula = cell.HasFormula
End Function
Kemudian gunakan fungsi itu sebagai kondisi Anda
Dan faktanya, Excel 2013 dan yang lebih baru memiliki IsFormula
fungsi standar.
Anda juga dapat menggunakan pemformatan bersyarat:
=HasNoFormula
Diuji menggunakan Excel 2010.