お仕事おつにゃッス🐈
文系未経験から社内SEになった、あっきょ(@daily_code_JP)です!
複数のセルにいちいち値を記入するのは面倒くさいですよね。
GASのとあるメソッドを1つ使えば複数のセルの値を1クリックで書き込みできます。
この記事ではコピペOKのGoogle Apps Scriptのコードで解決します。
こんな人におすすめ!
- 複数のセルを1クリックで書き込む方法を知りたい
- 文字を記入する時間を減らして業務効率化を図りたい
- プログラミングでJavaScriptを学んだけど何を作っていいかわからない
誰でも無料で簡単にできますので気軽に学んでいきましょう!
複数のセルに値を書き込むイメージ
1クリックで複数のセルに値を一瞬で自動的に書き込む方法をGASで解説します。
セル内に値を1つずつ記入するのは非常に時間がかかり、ミスも起こりやすくなります。
しかし、GASではとあるメソッドを1つ使って1行書くだけで簡単に実現できます。
GASでは基礎の構文だから覚えておいて損はないッスよ!
複数のセルに値を書き込む準備
GASでスプレッドシートの複数のセルに値を入れる準備。
ファイルは1つ必要です。
必要なファイル
- Google スプレッドシート…リストの作成&コードの貼り付け
スプレッドシートの作成
Google スプレッドシートを作成します。
この記事では「氏名」、「性別」、「年齢」
の3項目をシートの1行目に追加します。
また、2行目以降のセルにGASで値を記入していきます。
スプレッドシートの準備は以上です。
サンプルコードを貼り付ける場所
サンプルコードはGoogle スプレッドシートにコピペ。
上バーの「拡張機能」の中にある「Apps Script」をクリックしてコードを貼り付けます。
複数のセルに値を書き込むサンプルコード
Google Apps Scriptで複数のセルに値を記入するコードを掲載します。
解説の項目
- setValues() | 複数のセルに値を記入
- サンプルコード
- A, スプレッドシートの指定
- B, セルに書き込む二次元配列を定義
- C, セルに記入する範囲の定義
- D,セルに記入
setValues() | 複数のセルに値を記入
setValuesメソッドはスプレッドシートの複数のセルに値を記入するメソッドです。
引数に二次元配列を代入するとセルに記入できます。
サンプルコード
ソースコードの全体です。
右上にあるマークを押すとコードのコピペが一瞬でできます。
また、コード内で文頭にアルファベットが付いているコメントごとに詳細を説明していきます。
function setValuesinCells() {
//A.スプレッドシートの指定
const sheet = SpreadsheetApp.getActiveSheet();
//B.セルに書き込む二次元配列を定義
const values = [ ["青山浩紀", "男", "23"],["伊藤杏", "女", "18"],["宇佐見和樹", "男", "48"],["江藤洋子", "女", "51"],["小川健", "男", "33"] ]:
//C.セルに記入する範囲の定義
const START_ROW = 2; //読み込み始める行番号
const START_COL = 1; //読み込み始める列番号
const FINISH_ROW = 5; //読み込み終わる行番号
const FINISH_COL = 3; //読み込み終わる列番号
//D.セルに記入
sheet.getRange(START_ROW,START_COL,FINISH_ROW, FINISH_COL).setValues(values);
}
A, スプレッドシートの指定
//A.スプレッドシートの指定
const sheet = SpreadsheetApp.getActiveSheet();
操作するスプレッドシート内のアクティブ状態のシートを定義します。
B, セルに書き込む二次元配列を定義
//B.セルに書き込む二次元配列を定義
const values = [ ["青山浩紀", "男", "23"],["伊藤杏", "女", "18"],["宇佐見和樹", "男", "48"],["江藤洋子", "女", "51"],["小川健", "男", "33"] ];
セルに記入するデータを二次元配列で作成します。
二次元配列の詳細はこちらから。
C, セルに記入する範囲の定義
//C.セルに記入する範囲の定義
const START_ROW = 2; //読み込み始める行番号
const START_COL = 1; //読み込み始める列番号
const FINISH_ROW = 5; //読み込み終わる行番号
const FINISH_COL = 3; //読み込み終わる列番号
セルに記入する範囲を番号で指定。
この例では、セルのA2からC6までにデータを書き込むように設定しています。
D,セルに記入
//D.セルに記入
sheet.getRange(START_ROW,START_COL,FINISH_ROW, FINISH_COL).setValues(values);
指定した範囲のすべてに定数valueの配列内の要素を書き込んでいきます。
setValuesメソッドの場合、セルに値を記入するのにforなどの繰り返し構文は不要です。
コードの説明は以上です。
セルに値を記入するテスト
実際に、GASでセルに値を記入します。
Apps Scriptの上バーの文字が「setValuesinCells」になっていたら、「実行」を押します。
「このアプリはGoogleで確認されていません」と表示した場合はこちら。
画像のようになっていたら成功です。
セルをコピペをしなくても、一瞬で値をいれることができました。
【便利】setValuesメソッドを使って作成したアプリ一覧
この記事では、setValuesメソッドの使い方を解説しました。
このメソッドはスプレッドシートのセル内に値を入力するのに頻繁に使用します。
当サイトでは、GASを使ったデータの検索ツールで使用しているので、ぜひご活用ください。
もちろん、無料でコピペOKです!
セル内の値を自動で複数取得する方法はこちら。
おわりに | GASでさらに業務効率化するには
以上、GASでスプレッドシートの複数のセルに値を書き込む方法でした。
そのままコピペして日常業務で使ったり、プログラミングの練習や動作確認用に使ってみましょう。
GASでさらに業務効率化するなら日々学習してスキルを磨く必要があります。
GASを効率的に学ぶなら以下の2つの方法が多いです。
- 参考書やオンライン教材で独学
- プログラミングスクールを利用
正しく学ぶことで非エンジニアでも実用的な業務効率化のスキルが身に付きます。
デイコーでは、GASのサンプルコードからおすすめのプログラミングまで幅広く紹介。
初心者にもわかりやすく解説しています。
プログラミングスクールは82社を分析したッス!
次回の記事もご期待ください!
それでは、よいプログラミングライフを!