回答:
この小さなスニペットを使用すると、それを行うことができます。
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;
}
では、この答え、トム・ホーウッドは引用符の使用を回避する方法を発見しました。
[ツール]> [スクリプトエディター]でスクリプトを追加し、バグボタンを押して認証を有効にします。
サンプルファイルを作成しました:式の確認
isFormula(a1)
か?(MS Excelでは、範囲パラメータを取得する機能であろう)
ISFORMULA()組み込み関数を使用します。
新しいGoogleスプレッドシートで文書化されていない式を発見したと思います。@Pnutsは、CELL
式が機能しないと言っていました(一部は新しいGoogleスプレッドシートでしか使用できないため)ので、コードを新しいGoogleスプレッドシートにコピーしました。エラーが発生し、(カスタム)式は2つではなく1つの引数しか受け入れないことを示しています。
を別の名前に変更するisFormula
と、カスタム関数が機能するようになりました。これが事実であった後、私はさらに別のGoogleスプレッドシートを作成し、isFormula
式を使用しました。数式はオートコンプリートに表示されませんが、機能しています:
したがって、新しいGoogleスプレッドシート全体で数式を使用できる場合、これが最良の答えです。
=isFormula(A1)
新しいGoogleスプレッドシートでのみ使用できます。他の数人に新しいフォーミュラを確認するように依頼しましたが、確認されました。文書化されていないため、その実装は不明であり、消滅する可能性があります。ARRAYFORMULA
この新しい式で使用する場合は動作しません。
サンプルファイルを作成しました:isFormula
isFormula2("A1")
。だから私はこのような新しいバージョンを作成しようとしました:function isFormula2(cell) { return (cell.getFormula())!=""; }
そして、私はそれを使用して呼び出し可能になると思ってisFormula2(A1)
いましたが、これは機能しないようであり、デバッグしようとするとcell
未定義として表示されます...のf(A1)
代わりに動作するように変更されましたf("A1")
か?