前提・実現したいこと
スクリプトを組んで入力した関数の計算をさせたい
ここに質問の内容を詳しく書いてください。
Aの一覧データをBのスプレッドにコピーして、BのスプレッドのL6セル中の前から3文字だけ抽出してQ6に記載したい。そしてこれをQ列の最下行までの繰り返し行い、L列の最下行まで記載したい。
、
発生している問題・エラーメッセージ
Q6には=left(L6,3)の数式が入力されているが、#ERROR!で返される。
該当のソースコード
var bk = SpreadsheetApp.getActiveSpreadsheet();
var sh = bk.getActiveSheet();
var end_row = sh.getLastRow();
for(var i=6; i<=end_row; i++){
strformula = 'left(L'+ i + ',3) ';
sh.getRange(i, 17).setFormulaR1C1(strformula);
~~~~~~~~~~~~~~~~~~~~~~~~~~
function getList() {
var ss_copyFrom = SpreadsheetApp.openById(''); //コピー元のマスターデータのあるスプレッドシート
var ss_copyTo = SpreadsheetApp.getActiveSpreadsheet();
var sheet_copyFrom = ss_copyFrom.getSheets()[0];
var sheet_copyTo = ss_copyTo.getSheetByName('シート1'); //ペーストする自分のスプレッドシートのシート名
sheet_copyTo.clear();// コピー元の行や列が減っていることを考慮して、一旦コピペ先のシートをクリア
var lastRow = ss_copyFrom.getLastRow(); //最終行を取得
var lastColumn = ss_copyFrom.getLastColumn(); //最終列を取得
var copyValue = sheet_copyFrom.getRange(1,1,lastRow,lastColumn).getValues(); //コピー元のシートから値の入っている全範囲をコピー
sheet_copyTo.getRange(1,1,lastRow,lastColumn).setValues(copyValue); //自分のシートにコピーした値を全範囲をペースト
var bk = SpreadsheetApp.getActiveSpreadsheet();
var sh = bk.getActiveSheet();
var end_row = sh.getLastRow();
for(var i=6; i<=end_row; i++){
strformula = 'left(L'+ i + ',3)';
sh.getRange(i, 17).setFormulaR1C1(strformula);
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~
試したこと
このスクリプト以外にわからず、質問を投稿させていただきました。
補足情報(FW/ツールのバージョンなど)
この後、Q列の値でFilterをかけてデーター抽出を行います。
回答1件
あなたの回答
tips
プレビュー