【生成AI×GAS】違うシートに値をコピーする
オレンジピーチのトシです。
今回は、シートを飛び越えて、値をコピーする方法を紹介します。
データをコピーするときには、違うシートや、違うファイルにコピーすることが多いですよね。
GAS(Google Apps Script)でスプレッドシートを操作して、別のシートに値をコピーする方法を、生成AIを利用して作っていきます。
完成イメージ:やりたいこと
今回、実施したいことは、下の図のようなスプレッドシートで、「転記元」というシートから、「転記先」というシートに、値をコピーする。
コピーするのは、「A2~D2」セルの値を、「A8~D8」セルにコピーすることとする。
(今回も、単純な操作ですが、GASの動きを理解するために、分かりやすい例にしました。)
生成AIを使ってGASを作り、実行する。
今回も、生成AIとして、Microsoft Bing Copilot を利用しました。
Copilot には、いくつかの種類があります。この記事で使用しているのは、Webブラウザがあれば無料で利用できるる「Microsoft Copilot」です。
Copilotは、下記にも取り上げれらていますね。
ここからは、今回実施した内容を説明します。
生成AIは、同じ質問をしても、異なる回答が返ってくることが多いので、もしこの記事をご覧になって、同じように質問しても、違う回答となるかもしれません。しかし、簡単なプログラムなので、概ね動くものにはなるかとおもいます。
(生成AIの安全性については、様々な議論が行われているため、会社で使う場合は、自社の利用規定などを確認してから使用してください。
また、個人情報などは入力しないか、生成AIごとの推奨に基づいた形での利用をお薦めします。)
生成AIに、次の指示を出しました。
生成AIからの回答が届く。
指示を入力すると、すぐに回答が表れます。
内容を読むと、指示を理解した上で、GASを作成してくれているようです。
次の手順や、「トリガー」についての提案などもしてくれています。
(トリガーについては、このnoteでも何記事か後に紹介したいと思います)
コピーできるように、コードも貼っておきます。
function copyValues() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sourceSheet = ss.getSheetByName("転記元");
var targetSheet = ss.getSheetByName("転記先");
// 転記元の範囲
var sourceRange = sourceSheet.getRange("A2:D2");
// 転記先の開始セル
var targetCell = targetSheet.getRange("A8");
// 値をコピー
sourceRange.copyTo(targetCell);
}
余談ですが、生成AIの使い方が分かってきたら、その人は、この記事を読む必要もなくなるのだろうと思います。
日進月歩で生成AIは進化していますし、賢くなっています。
ソフトバンクの孫正義さんも、近い将来、人類の誰よりも賢いAIが誕生すると語っていますし、実際に、そのようなAIが生まれてくると思います。
そんな時代に期待しつつ、少しずつでも生成AIに興味を持って、触れてみる人が増えていけば、世界はもっと良くなるのではないかと思います。
スプレッドシートにGASを組み込む。
スプレッドシートにGASを貼り付けます。
(詳細な操作方法は、過去の記事をご覧ください。)
貼り付けが出来たら、さっそく実行します。
実行結果として、「転記先」シートに値をコピーすることが出来ました。
GASのコードを少し解説
今回のポイントは、下記のように、「転記元」シートと、「転記先」シートを、それぞれ変数として定義することです。
それにより、それぞれのシートに対してgetRangeメソッドが使用できます。
もう一つのポイントとしては、新たな関数として、CopyToメソッドが使用されています。
GASでCopyToメソッドを利用すると、今回のように、別シートにコピーををすることが出来ます。
他にも、範囲をコピーして、値のみ貼り付けをしたり、書式を貼り付けたりと、スプレッドシートを手作業で操作するときの、様々なコピペと同じ操作が可能になります。
もちろん、過去の記事で紹介したように、getValuesメソッドと、setValuesメソッドを組み合わせて、コピーをすることも可能です。
まとめ
今回は、スプレッドシートの違うシートに値をコピーする方法をご紹介しました。
簡単な操作ではありますが、生成AIとGASを使うことで、スプレッドシートを操作する感覚がつかめたらHappyです!
今回は、ここまで。
最後まで読んで頂き、ありがとうございます。
この記事が少しでもお役に立てたのなら、サポートいただけると嬉しいです。頂いたご支援は、今後の活動費やコンテンツの質向上に使わせていただきます。