実現したいこと
Googleスプレッドシートのユーザー定義関数の引数を文字列("A1")ではなく、セル(A1)で渡したい。
前提
Googleスプレッドシートで、ユーザー定義関数「readCell()」を作りました。
呼び出しの際に引数を
「=readCell("A1")」のように文字列にすると正常動作するのですが、
「=readCell(A1)」のようにセルにすると、下記のようなエラーが発生します。
発生している問題・エラーメッセージ
Exception: Range not found(行 3)が発生しました。
該当のソースコード
1function readCell(cell) { 2 var sheet = SpreadsheetApp.getActiveSheet(); 3 var range = sheet.getRange(cell); 4 var value = range.getValue(); 5 var audioUrl = 'https://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&tl=en&q=' + encodeURIComponent(value); 6 return audioUrl; 7}
試したこと
・ソースコードで、「cell」部分を「String(cell)」にする。「""&cell」にする
・「range A1 表記 変換」などのキーワードで英語、日本語で検索する
・「GAS getA1Notation 逆」などで調べる
・GASヘルプを調べる https://developers.google.com/apps-script/reference/spreadsheet/range?hl=ja#geta1notation
・なんとか、下記のようにすれば動作しましたが・・・、折角の機会なので、GASユーザー定義関数で覚えたいです。
「="https://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&tl=en&q='"&A1」

下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。