Yanıtlar:
Bu küçük snippet ile bunu yapabilirsiniz.
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;
}
Gelen bu cevap Tom Horwood tırnak kullanımını engelleyecek şekilde bir yol buldu.
Komut dosyasını Araçlar> Komut Dosyası düzenleyicisi altına ekleyin ve kimlik doğrulamayı etkinleştirmek için hata düğmesine basın.
Sizin için bir örnek dosya oluşturdum: Formula for Check
isFormula(a1)
? (MS
Kullanım ISFORMULA () yerleşik işlevi.
Sanırım yeni Google E-Tablolar'da belgesiz bir formül keşfettim. @Pnuts, CELL
formülün çalışmadığını söyledi (kısmen yalnızca yeni Google E-Tablolar'da mevcut olduğundan), bu nedenle kodu yeni bir Google E-Tablosuna kopyaladım. Bana (özel) formülümü iki değil, yalnızca bir argümanı kabul ettiğini söyleyen bir hata oluştu:
Bunun isFormula
başka bir şeye yeniden adlandırılması, çalışan özel bir işlevle sonuçlandı. Bu durumda, başka bir Google E-Tablosu daha oluşturdum ve isFormula
formülü kullandım . Formül otomatik tamamlamada görünmüyor, ancak çalışıyor:
Dolayısıyla, formül yeni Google E-Tablolar'da kullanılabiliyorsa, bu en iyi yanıt olacaktır:
=isFormula(A1)
Yalnızca yeni Google E-Tablolar'da bulunur. Birkaç kişiden yeni formülü onaylamasını istedim ve onaylandı. Belgelenmediği için, uygulaması kesin değildir ve kaybolabilir. ARRAYFORMULA
Bu yeni formülü ile kullanıldığında çalışmaz.
Sizin için bir örnek dosya oluşturdum: isFormula
Görünüşe göre ISFORMULA()
Google'dan gizli bir yerleşik işlev var . Kendi fonksiyonumu sildiğimi fark ettim ve hala çalışıyordum. Yeni bir e-tabloda denedim ve hala çalışıyor. Önbellek sorunu yok.
isFormula2("A1")
. bu yüzden bunun gibi yeni bir versiyonunu yaratmaya çalıştım:function isFormula2(cell) { return (cell.getFormula())!=""; }
ve bunu kullanarak çağrılabilir olmasını bekledimisFormula2(A1)
ama bu işe yaramıyor gibi görünüyor ve hata ayıklamaya çalışırkencell
tanımsız olarak gösteriyor ... herhangi bir fikir neden bu ve işler olabilirse değişti böylecef(A1)
yerine çalışacakf("A1")
?