スプレッドシートで関数を使ってこんなことをやりたい..けど難易度が高そうで止まってしまっている..聞ける人もいないし..なんてことありませんか?
ChatGPTを活用するとものすごい速さでそれが解決していきます。
今回は、GPTにスプレッドシートを教えてもらうコツを実際の流れを含めて共有します。
上記の手法を、ぱっとネットで調べるとCONCATとかFLATTENとか関数出てくるんですけど、やりたいことと違うんですよね...検索むずかしい。。
ということで以下、実際にスプシもjavascript弱勢の自分が、GPTに教えてもらった流れです。
GPTに教えてもらうコツ
やりたいことを明確にしておく
まず、やりたいことを明確にしておきます。
シート名やセル範囲など、実際自分が使う条件や名称を入れて聞く
引数の設定など、仮で値を入れるとどこを変更したらいいのかわかりづらくなります。実際に使うスプレッドシートに内容を合わせるとそのまま使えるのでおすすめです。
関数組み合わせて利用すればいけそうなのかな?
早速やってみると..
エラー内容をGPTに共有して、どうすれば良いか聞く
エラーが出てしまった場合は、エラー内容をGPTに把握してもらうため、フィードバックして更なる解決方法を提示してもらいましょう。
素直に失敗を認めるGPT氏。保存ボタン位置などは日々変わるので、現状のスプシに追いついてない感はありますが、もちろん他のノウハウ記事もそれは同じなので、十分です。
ということでやってみますが..
GPTに起きた状況をフィードバックして解決方法を聞く
起こってしまったことを端的に伝えて、解決方法を聞きます。
「既に開いている場合は、そのまま続行してください」
「以前書いた`flattenRange`関数の代わりに」
フォローがいき届いている…すごいですね。
ユーザーが迷いそうなところを先回りして指摘していてすごいです。
できました!
そして無事、こちらの手法でセル範囲を指定して、1セルに読み込むことができました!
▼ Apps Script
function flattenRangeInOneCell(rangeData) {
var output = '';
for (var i = 0; i < rangeData.length; i++) {
for (var j = 0; j < rangeData[i].length; j++) {
output += rangeData[i][j];
if (j < rangeData[i].length - 1) {
output;
}
}
if (i < rangeData.length - 1) {
output;
}
}
return output;
}
▼ アウトプット先のセル
=flattenRangeInOneCell(input!A1:C16)
というわけでGPTにスプレッドシートの先生になってもらったわけですが、難なく解決しました!(スクリプトで微妙なポイントはあるかもしれませんが…稼働は問題なかったです)
今までだったら、詳しい人に聞いたり、それでもわからなかったりで、ネットのノウハウを時間をかけて漁って、ようやく辿り着いていただろう道のり..
それがわずか数分で解決という、かなりの時短です。
みなさんもスプレッドシートでお悩みの際は、ぜひGPTを活用してみてください!