2020年末にIFTTTが有料化して毎月4ドル支払わないと3個までしかアプリが使えなくなりました。
今まで30個くらい作っていたので困りました。毎月4ドルでもちりも積もれば山です。

しかしこれはIFTTTの番号#と文字$を両方使うことで対応できました。
「OK グーグル ナンバー # $」です。
たとえばナンバー99はgoogle spleadsheetのシート名99に相当します。
料理のレシピですので覚えやすく99(クック)にしました。

これで、たとえば「OK グーグル No.99 肉じゃが」といえばシート名99「料理レシピ」が開き、C1セルに「肉じゃが」と入ります。C2~C5までに表から肉じゃがのレシピを検索し、計算式で加工して最終的にC6にnotifier boardに送るurlを作ります。すると「肉じゃがのレシピは卵1、水1/2、小麦粉60g、片栗粉30gです」とgoogle home miniが喋ってくれます。

ほかに分別ごみをシート名53に作って「OK グーグル No.53 明日」といえばC1セルの「明日」という文字から表計算の式が計算してC4セルに「燃えないごみ」、C5セルに「明日は燃えないごみの日です」を算出し、それからC6セルにurlを作ります。セルの各式はExcelに似ていて簡単に作れます。
これでIFTTT1個のアプリでgoogle spleadsheetが許す100シート分まで使え、3個なら300シートまで無料で使えます。

悪いことばかりでなくいいこともありました。今までGASでUrlFetchApp.fetch(url)するときにurlは日本語はダメでurlコードに変換する必要がありました。そこで今まではecl.jsをgoogle spredsheet内でライブラリ化して
var url = ecl.EscapeSJIS(value);
としていましたが、google spleadsheetは賢くなって日本語のままでfetchできるようになりました。

参考までに私の作ったGAS(GoogleAppsScript←googleの作ったJavaScriptみたいなやつ)はこれ1個だけです。
これでIFTTTからJSONで送られてきた番号#と文字$からシートを移動し、表のデータを検索し結果を、家のD1 miniカードのesp8266-google-home-notifier経由で、google home miniに喋らせることができます。
function doPost(e) {
var jsonString = e.postData.getDataAsString();//JSONでないと文字化けする
var data = JSON.parse(jsonString);
var value1 = data.value1; //NumberField(#)の中身
var value2 = data.value2; //TextField($)の中身
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getSheetByName(value1);
sheet.getRange("C1").setValue(value2);//IFTTからの文字をC1に入れて検索
url = sheet.getRange("C6").getValue();//C6までにurlを作る
UrlFetchApp.fetch(url); //notifierにデータを送る
}


これと補完する数字#と文字列$を入れ替えたようなもう一つの方法もあります。