機能説明
キーワードを指定して、AIに商品レビューのブログ記事を書いてもらうためのプロンプトを生成します。
スプレッドシートの準備
はじめに以下のようなスプレッドシートを用意します。

それぞれ次のように値を設定してください。
・A1:「メインキーワード」というテキストを入力する
・A2:「ラッコキーワード」というテキストを入力する
・A4:「サブキーワード1」というテキストを入力する
・A5:「サブキーワード2」というテキストを入力する
・A10:「プロンプト」というテキストを入力する
・A6:「プロンプト生成」というテキストのボタンを配置する
ボタンの配置については「ボタンをクリックして実行させる方法」を参考にしてください。
・B2:「="https://related-keywords.com/result/suggest?q="&B1」という式を入力する

コード全体
以下のコードを準備して、「プロンプト生成」ボタンに「createPrompt」関数を紐づけてください。

■コード
function createPrompt() {
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
const sheet = spreadsheet.getSheetByName('シート1')
// メインキーワード取得
const mainKey = sheet.getRange('B1').getValue();
// サブキーワード1取得
const subKey1 = sheet.getRange('B4').getValue();
// サブキーワード2取得
const subKey2 = sheet.getRange('B5').getValue();
const message = `
あなたはプロのライターです。${mainKey}を検索し、レビューのブログ記事を執筆してください。
${mainKey}、${subKey1}、${subKey2}のキーワードで上位表示できるようにSEOを考慮してください。
タイトルと見出しは以下の通りです。下記の条件に従いそれぞれ詳しく解説してください。
###
タイトル: ${mainKey}のレビュー!${subKey1}や${subKey2}についても!
見出し: ${mainKey}のレビュー
小見出し: ${mainKey}のメリット
小見出し: ${mainKey}のデメリット
見出し: ${mainKey}の機能や特徴見出し
見出し: ${subKey1}について
見出し: ${subKey2}について
見出し: ${mainKey}の口コミ
小見出し: ${mainKey}の良い口コミ
小見出し: ${mainKey}の悪い口コミ
見出し: ${mainKey}のレビューまとめ
###
###条件
口コミはコピペにならないよう内容をまとめてあなたの言葉で箇条書きにしてください。また引用元の記載も不要です。
その他の文章もコピペにならないようあなたの言葉で書いてください。
${mainKey}について、購入したくなるような文章を随所に入れてください。
導入文に「こんにちは」などの挨拶は不要です。
文字数は4000文字以上になるようにしてください。
###
`;
sheet.getRange('A11').setValue(message);
}
動作確認
コードの解説をする前に実際に動作を確認してください。
1.
B1のセルにメインとなるキーワードを入力します。

2.
B2のリンクがメインキーワードを含んだURLになるので、このリンクをクリックして「ラッコキーワード」のページに移動します。

3.
ラッコキーワードのサイトに移動し、入力したメインキーワードのサジェストキーワードが表示されるのでサブキーワードとして適したキーワードを2つ選びます。

4.
選んだキーワードをB4とB5のセルに入力します。

5.
「プロンプト生成」ボタンをクリックします。

6.
A11にセルに生成されたプロンプトが表示されます。

7.
生成されたプロンプトをコピーして、COPILOTなどの生成AIに指示を出します。

■結果

コードの解説
1.
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
const sheet = spreadsheet.getSheetByName('シート1')
「シート1」のSpreadsheetを取得してsheet変数に代入します。
2.
const mainKey = sheet.getRange('B1').getValue();
B1セルに入力されたメインキーワードを取得して、mainKey 変数に代入します。
3.
const subKey1 = sheet.getRange('B4').getValue();
B4セルに入力されたサブキーワードを取得して、subKey1 変数に代入します。
4.
const subKey2 = sheet.getRange('B5').getValue();
B5セルに入力されたサブキーワードを取得して、subKey2 変数に代入します。
5.
const message = `
あなたはプロのライターです。${mainKey}を検索し、レビューのブログ記事を執筆してください。
${mainKey}、${subKey1}、${subKey2}のキーワードで上位表示できるようにSEOを考慮してください。
タイトルと見出しは以下の通りです。下記の条件に従いそれぞれ詳しく解説してください。
###
タイトル: ${mainKey}のレビュー!${subKey1}や${subKey2}についても!
見出し: ${mainKey}のレビュー
小見出し: ${mainKey}のメリット
・・・・・・・・・・・・・・・・・・
プロンプト本文をmessage 変数に代入します。
このとき、メインキーワード、サブキーワード1、サブキーワード2はそれぞれ${mainKey}、${subKey1}、${subKey2}のところに反映されます。
6.
sheet.getRange('A11').setValue(message);
生成したプロンプト文をA11セルに設定します。
カスタマイズ
1.
プロンプトの条件に以下のような内容を反映されるように変更してください。
「あなたは家電大好きなガジェットオタクです。」
「40代のサラリーマンが書いたような文章にしてください。」
「30代の主婦に響くような文章にしてください」
2.
3つ目のサブキーワードを追加できるように修正してください。

