実現したいこと
for文で作った一次元配列のデータを二次元配列に変換し、シートの指定カ所に一気に貼り付けたいです。
前提
GoogleスプレッドシートのGASで一覧表のようなものを作っています。
C列・D列のデータを二次元配列として取得し、for文で加工して1つの文字列として一次元配列に作り直し、B列に一気に入れる、という作業をしたいです。
発生している問題・エラーメッセージ
Exception: The parameters (number[]) don't match the method signature for SpreadsheetApp.Range.setValues.
該当のソースコード
GAS
1let njigenText = [ichijigenText]; 2sheet.getRange(2,2,njigenText.length,1).setValues(njigenText);
試したこと
C列・D列のデータを取得することは出来て、文字列の加工もできました。
文字列で一次元配列を作ることも出来ました。
ネットで調べたところ、一次元配列ではsetValuesは使えない、とのことでした。
なので、
let njigenText = [ichijigenText];
で二次元化してみました。
しかし、
sheet.getRange(2,2,njigenText.length,1).setValues(njigenText);
で貼り付けられず、エラーが出てしまいます。
njigenText が二次元配列化に失敗しているのかと思い、
Logger.log(njigenText [0][10]
等で見てみましたが、問題は無いようです。
引数等が間違っているのかと思い、getRangeの数字を調整したりしたのですが、どうにもうまくいきません。
今現在は、setValuesではなくsetValueで、for文で回して1つずつ配列をセルに書き込んでごまかしています。
しかし、今後データが増えることを考えると、for文は使いたくありません。
なにとぞお知恵を拝借できないでしょうか?
よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2023/07/21 05:58 編集
2023/07/21 06:54
2023/07/21 08:20
退会済みユーザー
2023/07/21 08:25
2023/07/21 08:30
退会済みユーザー
2023/07/21 08:33
退会済みユーザー
2023/07/22 01:31
2023/07/22 02:00 編集
退会済みユーザー
2023/07/22 04:30