
Googleã¹ãã¬ããã·ãŒã èªåã§ã¿ã€ã ã¹ã¿ã³ããå ¥åãã3ã€ã®æ¹æ³ -1
Googleã¹ãã¬ããã·ãŒãã§äœ¿ãã èªåã¿ã€ã ã¹ã¿ã³ãæ©èœãå®è£ ããæ¹æ³ã®ç޹ä»ã§ããéåžžã® GASã䜿ã£ããã®ã«å ã ã»ã«ãä¿è·ãããŠããå Žåã®åé¿æ¹æ³ã GASã䜿ããªã ã·ãŒã颿°ã§ã®å®çŸæ¹æ³Â ãªã©ã玹ä»ããŸãã
ã¿ã€ã ã¹ã¿ã³ãã®éèŠã£ãŠãããŸããïŒ

ããããGoogleã¹ãã¬ããã·ãŒãã¯ãæšæºæ©èœãšã㊠ã¹ãã¬ããã·ãŒãã®éå»ã®ã倿Žå±¥æŽããèªåä¿åãããããããã€ã§ããã®æç¹ã®ãã¡ã€ã«ã«æ»ããã®ãé åã§ãã
ããã«ãã»ã«åäœãªã å³ã¯ãªãã¯ ïŒ ç·šéå±¥æŽã衚瀺 ã§ã誰ã ã〠ã©ã®ããã«ç·šéããããé¡ããã®ã£ãŠã®ãåãã
ããã ãæ©èœã§æã£ãŠããã§ãèªåçã«ã¯ ã¿ã€ã ã¹ã¿ã³ãã¯ãå¥ã«ãããªããïŒãã£ãŠæããªãã§ãããäžã®äžçã«ã¯æå€ãšéèŠããããã§ãããã
ãšããããã§ãããªãå®çªãã¿ã§ã¯ãããŸãã Googleã¹ãã¬ããã·ãŒãã®èªåã¿ã€ã ã¹ã¿ã³ã ã®èšäºãæžããããšæããŸãã
Q. æå®ããã·ãŒãã® Båã«ã³ã¡ã³ããå ¥ããããAåã«ã¿ã€ã ã¹ã¿ã³ãïŒæ¥æïŒãèªåã§å ¥ããã
ã»ã·ãŒã1 ãšããååã®ã·ãŒãã察象
ã»Båãå ¥åãç·šéããããåãè¡ã® Aåã« ã¿ã€ã ã¹ã¿ã³ããèªåå ¥å
ã»2è¡ç®ãã¿ã€ãã«è¡ãªã®ã§ã3è¡ç®ä»¥éã察象
ã»Båã¯æå ¥åã®ã¿ãšããã³ãããè€æ°ã»ã«ã®äžæ¬ç·šéãžã®èæ ®ã¯äžèŠ
ã»Båã®ã³ã¡ã³ããåé€ããããAåã®ã¿ã€ã ã¹ã¿ã³ããæ¶ããã
ãããããªèŠä»¶ã§ããã
ãã®ãé¡ã«å¯Ÿã㊠3ã€ã®ã¢ãããŒããèããŠã¿ãŸãã
GAS ã§ãªãŒãœããã¯ã¹ãªã¿ã€ã ã¹ã¿ã³ããäœæãã (onEditïŒ
ã¿ã€ã ã¹ã¿ã³ã(Aå)ããŠãŒã¶ãŒã«ç·šéãããããªã (ããªã¬ãŒèšå®ïŒ
GASã䜿ããªã ã¿ã€ã ã¹ã¿ã³ããïŒé¢æ°ã§ãåºæ¥ãïŒïŒ
1~3ãã¿ãªãã èªåã§åºæ¥ããã§ããããïŒ
GASã®ã¿ã€ã ã¹ã¿ã³ãã®åºæ¬åœ¢ã¯ 1è¡ã³ãŒãã§æžãã
ã¿ã€ã ã¹ã¿ã³ãæ©èœãå®è£ ãããå Žåããããã§æ€çŽ¢ãããš GAS ïŒGoogle Apps ScriptïŒã䜿ãèšäºãè²ã åºãŠããŸããGASã¯ç°¡åã«èšã£ãŠããŸããšExcel ã«ããã VBAã¿ãããªãã®ã§ãJavascript ããŒã¹ã®ããã°ã©ãã³ã°èšèª ã§ãã
ããã°ã©ãã³ã°ãšèããšããŒãã«ãé«ããã«æããŸããããããäžã«ã³ããã§äœ¿ããã³ãŒãããã£ã±ãããã®ã§ããŸãã¯ã³ããã§åãããŠã¿ãŸãããã
ã¡ãªã¿ã«ã¿ã€ã ã¹ã¿ã³ãã®åºæ¬çãªåãã¯ãéåžžã«ç°¡åãªã³ãŒãã§å®çŸã§ããŸãã1è¡ã§ããã§ãã
ã©ããã®ã»ã«ãç·šéããããããã®ç·šéæ¥æïŒã¿ã€ã ã¹ã¿ã³ãïŒãå³é£ã®ã»ã«ã«åºåããå Žåã颿°åã«Â onEdit(e) ã䜿ã£ãŠä»¥äžã®ããã«æžããŸãã
function onEdit(e) {
e.range.offset(0,1).setValue(new Date());ã//ããã ã
}ã·ã³ãã«ããªã¬ãŒ ã® onEdit ã䜿ããšããªã¬ãŒèšå®ãäžèŠã ããGASã§ã銎æã¿ã®ãããã¹ã¯ãªããã®æ¿èªãäžèŠãªã®ãè¯ãã§ãããæ¬åœã«äžèšã³ãŒãããšãã£ã¿ã«æžã蟌ãã ãã§äœ¿ããŸãã
é£ã®ã»ã«ãååŸããã®ã¯ offset ã䜿ããšã¹ããŒãã§ããã·ãŒã颿°ãšåãæèŠã§äœ¿ããŸãã
æ¥æã«é¢ããŠã¯ã new Date() ã ãã©ãŒãããããŠããæžã蟌ã人ãããŸãããã¹ãã¬ããã·ãŒãåŽã®è¡šç€ºåœ¢åŒã§å¯Ÿå¿ã§ããã®ã§ãDateãªããžã§ã¯ããã®ãŸãŸã§ãåé¡ãªãã§ãã
ãã ãããã¯åãã¯ããŸããèŽåœçãªåé¡ããããŸãã

ç·šéããªã¬ãŒã¯ äººã®æã§æäœããããã®ã ãã察象ãªã®ã§ãã¿ã€ã ã¹ã¿ã³ãæžã蟌ãŸããç·šéãæ€ç¥ããŠãããã«é£ã«æžã蟌ãŸãããšãã£ãç¡éã«ãŒãçãªããšã«ã¯ãªããŸããã
ãã ãã»ã«å ã®æåã«å¯Ÿããå šãŠã®ç·šéïŒå ¥åã»ç·šéã»åé€ïŒãæ€ç¥ããããã«ã©ã®ã»ã«ãç·šéããŠãé£ã®ã»ã«ã« ã¿ã€ã ã¹ã¿ã³ãã衚瀺ããã仿§ãªãã§ãç»åã®éã ã¿ã€ã ã¹ã¿ã³ããæ¶ããªã ãšããç¶æ ã«é¥ããŸãã
æ¶ããŠãæ¶ããŠãçŠã ãŸã³ãç¶æ
ãããã ãšäœ¿ãç©ã«ãªããŸããã
ã ãããç¹å®ã®æ¡ä»¶ã§åäœããããã«Â if ãçµã¿åããã å¿
èŠããããŸãã
â»äžèšã³ãŒãã詊ããæ¹ã¯äžååé€ãããããããã¯ã³ã¡ã³ãã«ããŠé¢æ°ãç¡å¹åããŠãããŸãããã
ãããããã¡ãããšããåçã§ãã
A1.GAS ã§ãªãŒãœããã¯ã¹ãªã¿ã€ã ã¹ã¿ã³ããäœæãã (onEditïŒ
ããã¯æ®éã« onEdit(e) ã®åºæ¬ã³ãŒããæ¹è¯ããæ¹æ³ã§ããã§ããã
ãµã³ãã«ã³ãŒãã¯ä»¥äžã®éãã
//æ®éã®ã¿ã€ã ã¹ã¿ã³ã
function onEdit(e) {
//èšå®å€
const targetSheetName = "ã·ãŒã1";ã//察象ã®ã·ãŒã
const targetCol = 2; //察象ã®åçªå·ïŒä»å㯠BåïŒ
const targetRow = 3; //察象ã®è¡ïŒãã®è¡ä»¥äžã察象ãšããïŒ
const resultCol = 1; //ã¿ã€ã ã¹ã¿ã³ããå
¥ããåçªå·ïŒä»å㯠AåïŒ
const range = e.range;
const value = e.value;
const sheet = range.getSheet();
//èšå®å€ã«è©²åœããªãå Žåã¯ããã§çµäº
if(sheet.getName() != targetSheetName || range.columnStart != targetCol || range.rowStart < targetRow) return;
if(value){
const now = new Date();
range.offset(0,resultCol-targetCol).setValue(now);
}else{
// value ã空 ïŒå¯Ÿè±¡ã»ã«ã DeletãããïŒæã¯ã¿ã€ã ã¹ã¿ã³ããæ¶å»
range.offset(0,resultCol-targetCol).clearContent();
}
}ã³ãŒããå
¥ãã㊠ãšãã£ã¿ã§ ãããžã§ã¯ããä¿åã
ã·ãŒãåŽã«æ»ã£ãŠè©ŠããŠã¿ãŸãããã
äºåã«AåãéžæããŠãè¡šç€ºåœ¢åŒ ïŒ æ°å ïŒæ¥æ ãèšå®ããŠãããŸãããã

察象ã·ãŒãã®å¯Ÿè±¡ãšããç¯å²ã®ã»ã«ãç·šéããæã®ã¿äœåãããŠããŸãããã€ã³ãã¯ç¹ã«ãªãã§ãããget ç³»ã®ã¡ãœãããæ¥µå䜿ãã e ããæ
å ±ãååŸããã³ãŒãã«ããŠããŸãã
ããŸã« getValue() , setValue() ãä¹±çšããŠããã³ãŒãã玹ä»ããŠãã人ãããŸããã ã©ãã ãåãé ããã ãããš æããããªããŸãã
offsetã®ç¬¬1ã第2åŒæ°ã¯ ãã€ãã¹ã䜿ããã®ã§ã倿Žããã range ã®å·ŠåŽãäžãååŸããããšãå¯èœã§ãã
ã³ãŒãã®çްããè§£èª¬ã¯æžããŸããã®ã§ãããããªãå Žåã¯æ€çŽ¢ããããå ¬åŒãèŠãŠãã ããã
åŸåã® ifæã® value ã®å€å®ã¯ããã£ãšçãïŒã¢ãã³é¢šïŒã«ã³ãŒããæžãããã£ãŠå Žåã¯ã
const now = value? new Date() : '';
range.offset(0,resultCol-targetCol).setValue(now);ãšããŠãããã§ãã äžé
æŒç®å ã£ãŠãã€ã§ããã
clearContent() 㯠空çœãæžã蟌ãã£ãŠããåŠçã«æžãæããŠããŸãã
èŠä»¶ã«ãèšèŒããŠããŸãããæ®å¿µãªããäžèšã³ãŒãã¯ã³ããã«ããBåã®æŽæ°ããè€æ°ã»ã«ã®äžæ¬æŽæ°ã«ã¯å¯Ÿå¿ããŠããŸãããã³ããããå Žå  e.value 㯠undefined ãšãªããã¿ã€ã ã¹ã¿ã³ãæ¶å»ã®åããããŠããŸããŸããããšã³ãŒããççž®åããçºã« è¡ãåãšãã« startã®ã¿ååŸããŠããã®ã§ãè€æ°ã»ã«åææŽæ°ã察象å€ãšãªããŸãã
ãããã«å¯Ÿå¿ãããæ¹æ³ããããŸããããšããããä»åäœæãããã®ã¯ã
æå ¥åã§1ã»ã«æŽæ°æéå®ã®ã·ã³ãã«ãªã¿ã€ã ã¹ã¿ã³ãæ©èœ
ã ãšæã£ãŠãã ããã
ã¹ããããã®æäœã§ãã¿ã€ã ã¹ã¿ã³ãã¯äœ¿ãã
GAS ã¯ãã¹ããïŒã¢ããªçïŒã§ã¯åããªããšãã£ãæ å ±ããããäžã«ã¯ãããŸããããç·šéæããããªã¬ãŒãšãã GASã¯äœåããŸããã ããããã®ã¿ã€ã ã¹ã¿ã³ãæ©èœã¯ ã¹ããããã§ãå©çšå¯èœã§ãã
ã¢ãã€ã«ããã€ã¹ããå©çšã§ãããšã掻çšã®å¹ ããã£ãšåºãããŸããã
ä»åã¯åºæ¬åœ¢ã® GASã䜿ã£ãã¿ã€ã ã¹ã¿ã³ã ã玹ä»ããŸããã
ç¶ãã® ã»ã«ãä¿è·ããæã®ã¿ã€ã ã¹ã¿ã³ã㯠次åã®èšäºã§ã