小技集
シート1 和暦から西暦に変換する 和暦(入力),→,西暦(出力),出来事 令和6年3月23日,→,2024年3月23日,記事を書いた日 平成28年12月31日,→,2016年12月31日,SMAP解散 昭和44年7月20日,→,1969年7...
和暦から西暦に変換する
=SWITCH(REGEXEXTRACT(【和暦が入力されるセル】,"[^0-9]+"),"昭和",1925,"平成",1988,"令和",2018)+REGEXEXTRACT(【和暦が入力されるセル】,"[0-9]+")®EXEXTRACT(【和暦が入力されるセル】,"[0-9]+(.+)")
上記の関数をセルにコピペして、”【和暦が入力されるセル】”を和暦が入力されるセルに書き換えて使用する。

プルダウンの見た目を変える
データの入力規則の詳細オプションに、表示スタイル項目がありそこから見た目を変えられる。

別のシートからデータを取得する
='【シート名】'!【セル】
上記のコードで別のシートからデータを取得できる。
シート名の指定にシングルクォーテーションを使うので注意。

残り日数を計算する
=DAYS(【西暦】,TODAY())
上記の関数で、指定した日にちから今日までの日数がわかる。
タスク管理等で残り日数を求めるときによく使う。

メールを送信する
メールを送信するにはスクリプトを書く必要がある。
メニューバーの拡張機能からAppsScriptにアクセスしてスクリプトを書く。

1人に送る
function SendMail() {
var subject = "【メールタイトル】";
var body = "【メール本文】";
var mailFrom = "【送信者のメールアドレス】";
var mailSenderName = "【送信者の名前】";
var mailTo = "【受信者のメールアドレス】";
var mailReceiveName = "【受信者の名前】";
GmailApp.sendEmail(mailTo, subject,body,{ from:mailFrom, name:mailSenderName });
}
送信者のメールアドレスは、このスクリプトを実行するアカウント(スプレッドシートの所有者)のメールアドレスを指定すると良い。
複数人に送る
function SendMail() {
//スプレッドシートから”シート1”のデータを取得する
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getSheetByName("シート1");
//サンプルシートからメアドが書かれているところを定義する
var rowMailAddress = 26;//行目
var columnMailAddress = 1;//列目
var columnMailName = 2;//列目
var subject = "【メールタイトル】";
var body = "【メール本文】";
//メールを送る最大人数
var mailSendMemberNum = 5;
var mailFrom = "【送信者のメールアドレス】";
var mailSenderName = "【送信者の名前】";
//1人ずつに送信する
for(var i = 0; i < mailSendMemberNum; i++)
{
//シートからメアドと名前を取得する
var mailTo = sheet.getRange(rowMailAddress + i, columnMailAddress).getValue();
var mailReceiveName = sheet.getRange(rowMailAddress + i, columnMailName).getValue();
//何も記入されていなかったらスキップする
if(mailTo == "" || mailReceiveName == "")
continue;
//送信
GmailApp.sendEmail(mailTo, subject,body,{ from:mailFrom, name:mailSenderName });
}
}
小技として、セルに書いてあるメアドと名前を取得して複数人に送る仕組みを作るとメアド変更とかが楽で良い。

スクリプト実行するときに出る警告


スクリプトを実行するときに、画像のような警告が出るので詳細から安全ではないページに移動して続行してください。
定期的にメールを送信する

左側にあるトリガーアイコンをクリックしてトリガーを追加をクリックする。

”イベントのソースを選択”で時間主導型にすると週ごとや月ごとにメールを送ることができる。
設定したら保存を忘れずに。