asdfghjkl99031518
@asdfghjkl99031518

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

gas 行の移動

Q&A

Closed

解決したいこと

gasでif文を使いスプレッドシートの行を比較し条件に合致したら比較した下の行を上の行の末尾に移動するということをしたいのですがどのようにすればできますか?

例)
9行と15行が合致した際に9行の末尾に15行を移動
このようにさせたいです。

発生している問題・エラー

 for(var i=1; i < 10000 ; i++){
    for(var j=2; j < 10001 ; j++){
   if (data[i][12] === data[j][12] || data[i][12] === data[j][13] || data[i][12] === data[j][14]) {
          if  (data[i][13] === data[j][12] || data[i][13] === data[j][13] || data[i][13] === data[j][14])  { 
            if  (data[i][14] === data[j][12] || data[i][14] === data[j][13] || data[i][14] === data[j][14])  {

ここに移動させる命令を書きたいのですが調べてもなかなか出てこないので何か案があったら教えていただきたいです。
0

1Answer

移動させる関数はMoveTo()でしょうか。
Moveto(target) | GAS Docs

他に考えられるのは、

var values = SpreadsheetApp.getActiveSheet().getRange(2, 3, 6, 4).getValues();

とかで配列に格納したあとに、配列を編集処理して、

  var varValues = [[]];
  var lastColumn = varValues[1].length; //列数を取得
  var lastRow = varValues.length;   //行数を取得
  sheet.getRange(2,1,lastRow,lastColumn).setValues(varValues);

とかで、配列をセルに書き込みするのがいいと思います。

上記で私が記したのサンプルコードは、行数や列数が雑なので適宜直して参考にしてください。

各関数の詳細は公式リファレンスを参考になさるといいと思います。
Range Class | GAS Docs

0Like

Your answer might help someone💌