ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
文字列内で文字を最後(右側)から検索する方法(Excel,Gスプレッドシート)
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
- 文字列を区切り文字を付けて連結する方法がわかります。
- GASを使用して文字列の数式を数式として扱うことができます。
- 指定したシートの範囲からデータを取得することができます。
なので、サクッとマスターして
と答えてあげてください。
動画はこちら
シートはこちら
*クリックすることでシートが開きます。(コピーしてお使いください)
スクリプト
/**
* 文字列の数式を実行して結果を出力する
*/
function setformula(){
const sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
const val = sh.getRange("A11").getValue()
console.log(val)
sh.getRange("A13").setFormula(val)
}
ポイント
複数の行の連結
{範囲A;範囲B}中括弧内で;(セミコロン)を区切り文字とすることで範囲を連結できます。
区切り文字を指定して連結
区切り文字を指定して文字列を連結するには、TEXTJOIN関数を使用します。
TEXTJOIN(区切り文字, 空のセルを無視, テキスト 1, [テキスト 2, …])
区切り文字に;(セミコロン)を指定し前後を{}でくくれば、
いい感じで数式ができあがります。
例)
=“{“&TEXTJOIN(“;”,true,D2:D4)&“}”
{‘メール送信’!A2:C4;’メール送信’!A11:C12}
後は、この文字列を数式として認識させます。
文字列から数式
数式でできればいいのですが、該当する数式がなさそうなので
力技です。
GASでセルの値を取得してsetFormula することで数式の結果が
指定したセルに表示されます。
/**
* 文字列の数式を実行して結果を出力する
* A13セルの結果をA14セルに出力
*/
function setFormula(){
const sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
const val = sh.getRange("A13").getValue()
console.log(val)
sh.getRange("A14").setFormula(val)
}
※セルは固定なのであなたの環境に合わせて変更してください。
最後までご覧いただきありがとうございます。
つぎはこちら
はじめてのプルダウンリスト(ドロップダウン)(入力規則)(Gスプレッドシート)