=IF(C3<>"",ROW()-2,"")
=IFERROR(MIN(INDIRECT("フォームの回答"&"!2:10")),DATE(2022,4,1))
=IFS(WEEKDAY(D1)=1,"日",WEEKDAY(D1)=2,"月",WEEKDAY(D1)=3,"火",WEEKDAY(D1)=4,"水",WEEKDAY(D1)=5,"木",WEEKDAY(D1)=6,"金",WEEKDAY(D1)=7,"土")
=IFERROR(VLOOKUP(QUERY(INDIRECT("フォームの回答"&"!2:C"),"SELECT C WHERE B = '"&B3&"' and A >= date '"&TEXT(D1,"YYYY-MM-DD")&"'and A <= date '"&TEXT(E1,"YYYY-MM-DD")&"'"),'リスト'!1:4,2,FALSE),"")
=D1 + 1`
// main.gs
function main() {
// シート情報取得
var ss = SpreadsheetApp.getActiveSpreadsheet();
// シート指定して情報取得
var sheet = ss.getSheetByName('Summary');
// UNIQUE関数を設定するセルの定義
var mailaddressrange = sheet.getRange("B3");
// クリアするセルの定義
var clearrange = sheet.getRange("B3:C20");
// 二回目以降の実行対応のため、コンテンツを一度削除(値・数式クリア)
clearrange.clearContent()
// 全てのシートを取得
var sheets = ss.getSheets();
// シート名の変更
for(var i=0;i<sheets.length;i++){
var _sheetname = sheets[i].getName();
if (_sheetname.match(/フォームの回答/))
{
sheets[i].setName("フォームの回答");
}else{
continue;
}
}
// セルに数式を入力する
mailaddressrange.setFormula("UNIQUE('フォームの回答'!B2:B100)");
// SetNameSummarysheetの実行
set_name_summarysheet(sheet);
}
// メールアドレスからユーザー名を取得する
function set_name_summarysheet(sheet){
// シートのデータ取得
var data = sheet.getRange("B3:C20").getValues();
// 空白の要素を除いた行の値を取得
var last_row = data.filter(String).length;
//最終行までfor文を回す
for (var i=0;i<last_row;i++)
{
//メールアドレスを取得する
var value = data[i][0]
if(value!="")
{
// メールアドレスから名前を情報取得
var contact = ContactsApp.getContact(value);
// フルネームを取得
var fullName = contact.getFullName();
sheet.getRange(i+3,3).setValue(fullName);
}
else
{
break
}
}
}
// button.gs
function button() {
// 検索ボタンを押下した時に出てくる文言
var result = Browser.msgBox("メールアドレスから名前を検索します。","全員が1回以上ムードチャートに回答している場合、【OK】を押してください", Browser.Buttons.OK_CANCEL);
// okの場合の処理
if(result == "ok"){
main();
}else{
return false;
}
}