LANG SELRCT

コードを書く場所についてはこちら

2016年6月14日火曜日

自作関数を作成する

スプレッドシートに用意されていない関数を作って、自作関数として使えるようにする事ができます。
例として、任意のセルに入力されているテキストで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, "[  ]", "+"))