これはおそらく最も単純な質問ですが、私はこれを自分自身で学ぶことになります。愚かな質問を申し訳ありません。シンプルなGoogleスプレッドシートスクリプトをコピーしてセルを貼り付けることができます
Googleのスプレッドシート(2700+行)は、1つのセル(dataA)から別のセル(dataBで始まるデータの次の行の前)にデータを移動して自動化する必要があります。データ行の3行上に移動し、次のレコード(4行のブロック)に移動します。私が何かをする前に、私は列を挿入して部屋を作る必要があります。
私は、列を挿入し、最初のデータセル(今はB2)を新しい宛先(A4)にコピーして、目的地の上にある無駄な3行を正しく削除する関数を作成しました。これは相対的で反復的なものなので、シート全体の残りの部分を通過するループでこの部分をどのように適応させるのか分かりません。
4行の各ブロックを移動するループを作成し、前述のアクションを実行し、次に4行の次のブロックに移動して、完了した各行を1行ずつ上に残します。
これは、開始データ構造の例である:
starting data structure - one record of many
function moveValuesOnly() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
// This inserts a column in the first column position
sheet.insertColumnBefore(1);
var start = ss.getRange("B2");
var source = ss.getRange("B2");
source.copyTo (ss.getRange ("A4"), {contentsOnly: true});
source.clear();
sheet.deleteRows(1, 3);
}
次のようになります。 A1表記の代わりにgetRangeの行、列の値を使用したいと思うでしょう。関数のパラメータとしてシート内を渡し、ソース行/列と宛先行/列をパラメータとして渡します。次に、行をループし、必要に応じて行/列をインクリメントするこの関数を呼び出します。また、古い行を削除するのではなく、新しいシートを作成するほうが速くなる可能性があります。 – User
私はそれが理論的にどのように機能するのか理解しています。構文自体は私が苦労しているところです。 –