例として、任意のセルに入力されているテキストでgoogle検索するリンクを作成してみます。
「シートにHyperlink関数を入力する」「シートにHyperlink関数を入力する2」に似ていますが、単純にリンクだけを作成したい場合は、こちらのほうがシンプルに書けます。
ポイント
1. 検索サイトを設定します。
var site = 'https://www.google.co.jp/#q=';
2. 半角・全角スペースを含むテキストではリンクが作成されないため、スペースを + に置換しています。
text.replace(/[ ]/g, "+");
[ ]の中には半角スペースと全角スペースが入っています。
コード.gs
function setLink(text) { var site = 'https://www.google.co.jp/#q='; var link = site + text.replace(/[ ]/g, "+"); return link; }
コードを書いて実行するまでの手順です。
1. A列に検索したいテキストを入力しておきます。
2. コード.gsにコードを書いて保存します。
3. A2のテキストのリンクをB2に作成する場合、B2へ下記のように関数を入力します。
4. B2にリンクが作成されます。
5. B2の右下端を下へドラッグすると
A列のそれぞれのテキストのリンクが作成されます。
スプレッドシートに用意された関数で今回の例を実現するには、concatenate()関数と、substitute()関数またはRegExReplace()関数を利用して、こんな感じでしょうか。
=concatenate("https://www.google.co.jp/#q=", substitute(substitute(A2," ","+")," ","+"))
=concatenate("https://www.google.co.jp/#q=", RegExReplace(A2, "[ ]", "+"))
補足
関数名について
- 組み込み関数とは異なる名前にする
- _で終わらせることはできない
- 末尾のアンダースコアはプライベート関数を表すため
- function myFunction()で定義する
- var myFunction = new Function ()にはしない