gas スプレッドーシートのセルの数式をgas内で計算したい

実現したいこと

スプレッドシートのセル内にある数式(例えば「-100-5」)をgasで取得し、gas内で指定した数値 + 取得した数式 の計算をgas内で実行したい。

発生している問題・分からないこと

どのようにすれば取得した文字列内の演算子を演算子として認識してくれるのか、また変数にあらかじめ代入した数式をgas内での別の場所で計算してくれるのかわからない。

該当のソースコード

GAS

1const ss = SpreadsheetApp.getActiveSpreadsheet(); 2const sh = ss.getSheetByName("シート名"); 3function o(){ 4 let a = 150; 5 let b = sh.getRange('M8').getValue(); //数式(例:-100-5)が書いてあるセル 6 let c = a + b; //理想はここで「150 - 100 - 5」の計算を実行して、cの返り値が45になって欲しい 7 return c; 8}

試したこと・調べたこと

上記の詳細・結果

データ型をNumber()で数値に変換しようとすると演算子が文字列として認識されて「NaN」が返り、perseInt()で変換しようとすると演算子の手前だけを数値に変換されて「-100」が返ってどちらもうまくいきませんでした。

補足

特になし

コメントを投稿

0 コメント