Jawaban:
Dengan potongan kecil ini Anda bisa melakukannya.
function isFormula(startcol, startrow) {
// prepare string
var str = String.fromCharCode(64 + startcol) + startrow;
// retrieve formula
var fCell = SpreadsheetApp.getActiveSpreadsheet()
.getRange(str).getFormula();
// return false if empty else true
return fCell ? true : false;
}
Dalam jawaban ini , Tom Horwood menemukan cara untuk menghindari penggunaan kutipan.
Tambahkan skrip di bawah Tools> Editor skrip dan tekan tombol bug untuk mengaktifkan otentikasi.
Saya telah membuat file contoh untuk Anda: Periksa Formula
isFormula(a1)
? (dalam MS excel itu akan menjadi fungsi yang mendapat parameter rentang)
Gunakan fungsi built-in ISFORMULA () .
Saya pikir saya baru saja menemukan formula tidak berdokumen di Google Sheets baru. @Pnuts mengatakan CELL
formula tidak berfungsi (sebagian karena hanya tersedia di Google Sheets baru), jadi saya menyalin kode ke Google Sheet baru. Terjadi kesalahan, memberi tahu saya rumus (khusus) saya hanya menerima satu argumen dan bukan dua:
Mengganti nama isFormula
menjadi sesuatu yang lain, menghasilkan fungsi kustom yang berfungsi. Setelah ini terjadi, saya membuat Google Sheet lain dan menggunakan isFormula
rumus. Formula tidak muncul di lengkapi-otomatis, tetapi berfungsi:
Jadi, jika formula tersedia di seluruh Google Sheets baru, maka ini akan menjadi jawaban terbaik:
=isFormula(A1)
Hanya tersedia di Google Sheets baru. Saya telah meminta beberapa orang untuk mengonfirmasi formula baru dan dikonfirmasi. Karena tidak terdokumentasi, implementasinya tidak pasti dan mungkin hilang. Tidak ARRAYFORMULA
berfungsi saat digunakan dengan formula baru ini.
Saya telah membuat file contoh untuk Anda: isFormula
Sepertinya ada fungsi bawaan tersembunyi ISFORMULA()
dari Google. Saya menyadari ketika saya menghapus fungsi saya sendiri dan masih bekerja. Saya mencobanya di spreadsheet baru dan masih berfungsi. Tidak ada masalah cache.
isFormula2("A1")
. jadi saya mencoba untuk membuat versi baru seperti ini:function isFormula2(cell) { return (cell.getFormula())!=""; }
dan saya berharap itu bisa dipanggil menggunakanisFormula2(A1)
tetapi ini tampaknya tidak berfungsi dan ketika mencoba untuk debug itu menunjukkancell
sebagai tidak terdefinisi ... ada ide mengapa ini dan jika semuanya bisa diubah sehingga itu akan bekerja denganf(A1)
bukanf("A1")
?