
ããã§ãã¯ããã¯ã¹ çªå€ç·šãGASãªãã§åºæ¥ãå°ãã¿ ãå埩èšç®ã
ãã§ãã¯ããã¯ã¹ãã¿ãå š3åæžããŠããŸããããä»åã¯ãçªå€ç·šããšããããšã§ GASãªãã§ãã§ãã¯ããã¯ã¹ã§åºæ¥ãå°ãã¿ãåãäžããŠã¿ãŸãããã
ååã®èšäº
Googleã¹ãã¬ããã·ãŒã ã® ãã§ãã¯ããã¯ã¹å°ãã¿
ä»ã®ãµã€ãã§ã玹ä»ããŠãããããªåºæ¬çãªå©ç𿹿³ã¯ãããã§è§Šããå¿ èŠããªãã§ãããã
ããšãã° æ¡ä»¶ä»ãæžåŒãšçµã¿åãããŠããã§ãã¯ãããè²ãä»ãããTo Doãªã¹ãã¿ãããªå©çšã§ ãã§ãã¯ããã é ç®ã«åãæ¶ãç·ãå ¥ããããŸãã¯FILTER颿°ã ãã£ã«ã¿æ©èœãšçµã¿åãããŠããã§ãã¯ãããã®ã ããæœåºè¡šç€ºãããã
ãã®èŸºãã¯ãã¡ãã䟿å©ã§ããããã§ãã¯ããã¯ã¹ã®æŽ»çšãšããŠã¯ã¡ãžã£ãŒãªãã¿ã ã åºæ¬åäœãªãã§é£ãããç®æ°ããããããŸãããä»ã®ãµã€ããåèã«ããŠãã ããã
ããããmirã®noteã§ã¯ ã©ããªå°ãã¿ãåãäžããã®ãïŒ
æ¢ã«ç޹ä»ããŠãã ã¹ããŒã¹ããŒã«ãã äžæ¬ ON/OFF以å€ã ãšããã¯ãÂ ç¹æ®ãªåäœãGASãªãã§ããã«ã¯ãã¢ã¬ãå¿ èŠã«ãªã£ãŠããŸãã
ã¢ã¬ã£ãŠã®ã¯ãGASãªãã§ã¿ã€ã ã¹ã¿ã³ãã®èšäºã§ãç»å Žãã çŠè¡ãå埩èšç® ïŒåŸªç°åç §ïŒãã§ãã
äºåã«å埩èšç®ãèšå®ãã
ãšããããã§ãäºåã«ã¹ãã¬ããã·ãŒãã®èšå®ãããŠãããŸãããã

ã¡ãã¥ãŒããŒãã
ãã¡ã€ã« > èšå® > èšç®ã¿ã ãšé²ã¿
å埩èšç®ã ãªã³ ã«ããŠãèšå®ãä¿å ãšããã ãã§ãã
mirãæ¯å çŠè¡ãšããã£ãŠç œã£ãŠãã®ããããªããã§ãããå埩èšç®ïŒåŸªç°åç §ïŒã¯ 衚èšç®ã«ãããŠÂ ã¿ã㌠ã£ãŠãããããªãã§ããæ®éã«æ©èœã®äžã€ã§ãã
ã¯ã¯ãã³ãšéã£ãŠå¯åå¿ããªãã§ãã ãã©ãã°ã¿ãããªäžæ¯æ§ããªãã®ã§ã身æ§ããã«è»œãæ°æã¡ã§äœ¿ã£ãŠãåé¡ãªãã§ãããŒã
ããã¯ãªã³ãã®æµãããããããããµãŒãžãªãã§ãçããæ®éã«ãã£ãŠãããšã§ãããŒãïŒäœèšæªããïœïŒ
ãšããããã¯ãã詊ãã§äœ¿ã£ãŠã¿ãŠã倧äžå€«ã£ãŠããšã§ãã
ããã§å埩èšç®ãäœ¿ãæºåã¯OKã
å埩èšç®ïŒåŸªç°åç §ïŒãšãã§ãã¯ããã¯ã¹ã§ åºæ¥ã å°ãã¿4éž
ä»ã«ãåºæ¥ãããšã¯ãããŸãããä»åã¯ä»¥äžã®4ã€ã玹ä»ããŸãã
ãã§ãã¯ãã æ¥æãé£ã®ã»ã«ã«æžã蟌ã
ãã§ãã¯ããé ã« çªå·ãæ¯ã
ãã§ãã¯ããé 㫠䞊ã¹ã
ãã§ãã¯ã§ ä¹±æ°ãåºå®ãã
ãããªããšGAS䜿ããªããŠåºæ¥ãã®ïŒïŒ
ã£ãŠæããããããŸãããããããå®éã«åºæ¥ã¡ããã®ã å埩èšç®ã®é¢çœããšããã
1. ãã§ãã¯ãã æ¥æãé£ã®ã»ã«ã«æžã蟌ã
äžã€ç®ã¯ãã§ãã¯ããã¯ã¹é£åã®ã¿ã€ã ãã¿ã³ãã
ããã¯ä»¥å  Googleã¹ãã¬ããã·ãŒã èªåã§ã¿ã€ã ã¹ã¿ã³ããå ¥åãã3ã€ã®æ¹æ³ -3 ãGASãªã 颿°ã§åºæ¥ãïŒã ã§ç޹ä»ãããã¯ããã¯ãšã»ãŒåãã§ãã
æåãå ¥åããããã®éšåã ãã§ãã¯ããããã«å€ããã°ããã ãã
äŸãã° A1:A20ããã§ãã¯ããã¯ã¹ã§ããã§ãã¯ãå ¥ããæ¥æã é£ã®B1:B20 ã«ã¿ã€ã ã¹ã¿ã³ããšããŠæ®ãããå Žåã¯ã

=ARRAYFORMULA(IFS(NOT(A1:A20),,B1:B20>0,B1:B20,A1:A20,NOW()))
B1ã«äžã®åŒããããã° OKã§ãã
ããã ãã§

ãããªæãã§ ãã§ãã¯ãå ¥ããæ¥æã Båã«èšé²ãããŸãã
ã¹ãã¬ããã·ãŒããæŽæ°ããŠïŒäžåºŠéããŠïŒãèšé²ãããæ¥æãåºå®ãããŠããã®ãããããŸããã
IFSã®åŒã®äžã§éèŠãªã®ã¯é çªã§ãåªå 床ãé«ãæ¡ä»¶ãå ã«ïŒå·Šã«ïŒèšè¿°ããå¿ èŠããããŸãã
ä»åã®å Žåã¯
åªå 床1ãAå ãã§ãã¯ããã¯ã¹ã«ãã§ãã¯ãã€ããŠãªãã㰠空çœ
NOT(A1:A20),ãâ ã«ã³ãã®åŸãã«äœãå ¥ããªã = 空çœãè¿ã
,
åªå 床2ãBåã«æ¢ã«æå»ãå ¥ã£ãŠããã°ããã®ãŸãŸ
B1:B20>0,B1:B20
,
åªå 床3ãAå ãã§ãã¯ããã¯ã¹ã«ãã§ãã¯ãä»ããŠããã° çŸåšæå»ãå ¥å
A1:A20,NOW()
ãšããŠããŸãã
A1:A20,NOW() ã®éšåãå ã«ãããšãä»ã®è¡ã®ãã§ãã¯ãã€ãããä»ã®ã»ã«ã«äœãå ¥åãããã ãã§ åèšç®ãåãæå»ãæŽæ°ããã¡ãããŸãã
ãã1ã€æ³šæããã®ããã¿ã€ã ã¹ã¿ã³ãã®åã§ãæžããŸããã æ¢ã«æå»ãæžã蟌ãŸããŠãããã©ããã®å€æã¯ã Googleã¹ãã¬ãã·ãŒãã®å Žåã¯
B1:B20<>"" ãã§ã¯ãªããB1:B20>0
ãšããç¹ã§ããããã
ã¿ã€ã ã¹ã¿ã³ãã®èšäºã§ãè§ŠããŸããããããã¯Excelãšéããã§ãããã
åœç¶ã§ãããB1:B20㯠ä¿è·ããããŠãŠãŒã¶ãŒã«çŽç·šéãããªãããã«ããããšãå¯èœã§ãã
ããããŠããã°ãé廿¥æã®ã¿ã€ã ã¹ã¿ã³ããžæ¹ããããããšã¯äžå¯èœã§ããã
2. ãã§ãã¯ããé ã« çªå·ãæ¯ã
ãã㯠äžã®ã¿ã€ã ã¹ã¿ã³ãæå»ã®å¿çšãAåã«ãã§ãã¯ããã¯ã¹ãããããã§ãã¯ãããé ã« Båã«é£çªãæ¯ããšãããã®ã
æ¯èŒçç°¡åã§ãã

=ARRAYFORMULA(IFS(NOT(A1:A20),,B1:B20>0,B1:B20,A1:A20,MAX(B1:B20)+1))
æåŸã®æ¡ä»¶éšåãA1:A20,MAX(B1:B20)+1ã以å€ã¯å®å šã« ãã§ãã¯ææå»ã®åŒãšäžç·ã§ããã
A1:A20,MAX(B1:B20)+1ãããã«ãã£ãŠããã§ãã¯ãå ¥ã£ãé£ã« ãã®æç¹ã§ã®Båã®æå€§å€+1 ãããšãã° Båã«å ¥ã£ãŠãçªå·ã 1,2,3 ã ã£ãã æå€§å€ã® 3 ã«Â +1ãã 4ã å ¥ããåŠçããããŠããŸãã
æåã®ïŒåç®ã¯ å šãŠç©ºæ¬ãªã®ã§ æå€§å€ã¯Â 0ã +1 ã§ 1 ã¹ã¿ãŒããšãªããŸãã

ãã§ãã¯æ¯ã«é£çªãæ¯ããããã§ãã¯ããã以å€ã®è¡ã«ã¯åœ±é¿ããªãããšãããããŸããã
å ã»ã©ã®ã¿ã€ã ã¹ã¿ã³ãåæ§ãä»ã®ã»ã«ã«ç·šéããã£ãŠãåèšç®ãããããšã¯ãªããF5æŽæ°ïŒã¹ãã¬ããã·ãŒãã®ãªããŒãïŒã§ãé£çªã¯ä¿æãããŸãã

ãã ããã§ãã¯ãå€ããš ãã®é£ã®ã»ã«ã®çªå·ã¯æ¶ããã®ã§ãããMAX颿°ã§é£çªãæ¯ã£ãŠããã®ã§ãæ¶ããçªå·ã¯ãã®ãŸãŸã§ åžžã«æå€§å€ +1 ã®çªå·ãæ¯ããããŸãã
äžèšã®gif ã§ã¯ãA5ã®ãã§ãã¯ãå€ããš é£ã® 3ãæ¶ããŸãããå床ãã§ãã¯ãå ¥ãããããã®æ®µéã§ã®æå€§å€ ïŒ ã® +1ã8ãå ¥ããŸãã
æ®å¿µãªãã颿°ã§å¶åŸ¡ããŠããã®ã§ã3ãæ¶ããŠã èªåã§ 4ãæ¯ãããŠããã»ã«ã 3ã«ã5ã®ã»ã«ã4ã«ãšãã£ã åã«è©°ããåãã¯ã§ããŸããã
ããã§ããã§ãã¯ãä»ããé ã ååŸããããšã¯ãªãã®ã§ããããå¿çšããããšã§ããã§ãã¯ãä»ããé çªã«äžŠã¹ããšãã£ãããšãåºæ¥ãŸãã
3. ãã§ãã¯ããé 㫠䞊ã¹ã
ããã§ãã¯ããé ã« çªå·ãæ¯ããã®å¿çšãªãã§ãããåã« ãã®çªå·ã§é¢æ°ã§ãœãŒãïŒäžŠã³æ¿ãïŒããããšãããšã埮åŠã«ããŸããããŸããã

äŸãã° BåïŒB2:B16ïŒããã§ãã¯ããã¯ã¹ã§ãCåïŒC2:C16)ã«ååããã£ããšããŠããã§ãã¯ããé ã« Aåã«çªå·ãæ¯ãããå Žåã A2ã»ã«ã«ä»¥äžã®åŒããããŸãã
=ARRAYFORMULA(IFS(NOT(B2:B16),,A2:A16>0,A2:A16,B2:B16,MAX(A2:A16)+1))
ãããŸã§ã¯ãã»ãŒå ã»ã©ãšäžç·ã§ããã
ãã®çªå·ã䜿ã£ãŠ E2以éã« çªå·ãšååã æé ã«åºåããã°ãããã§ãã¯é ã«äžŠã¹ãããšããåŠçã«ãªããŸãã
çµã蟌ãã§äžŠã³æ¿ãã§ããããFILTERãšSORT ã䜿ãããQuery颿°ã§ orde by  ãäœ¿ãæ¹æ³ãæãã€ããŸããã
3-1. Query颿°ã§ order byã§äžŠã¹æ¿ã ããã倱æã
â E2ã«å ¥ããåŒ
=QUERY({A2:C16},"select Col1,Col3 where Col1>0 order by Col1 asc",0)
QueryåŒã®ç¯å²ã { } ã§æ¬ã£ãŠé åå ããŠããã®ã¯ mirã®èšè¿°ã®å¥œã¿ã®åé¡ã§ããå人çã«åŸãã®åæå®ã¯ Col1,Col2 ãšãã£ã衚èšã«ããæ¹ãæ±çšæ§ãããã®ã§ããããŠã»ãŒæ¯å é ååãããŠããŸãã
ãã®ãŸãŸ A2:C16ãšããŠåŸãã®èšè¿°ã select A,Cã»ã»ã»ãšãã圢ã§ãåé¡ãããŸããã
order by Col1 ascãã§Col1ïŒAåïŒã®æé ã§äžŠã³æ¿ããããŠããŸãããascã®å Žåã¯çç¥ã§ããã®ã§Â  order by Col1ããšããŠãOKã§ãã
ãã ããã®åŒã ãšä»¥äžã®ãããªåãã«ãªããŸãã

1ã€ç®ã®ãã§ãã¯ã§ã¯åå¿ããããã®åŸãäžã€é ããŠåºåãããŠããæãã§ããããã㯠QueryåŽã®èšç®ã¿ã€ãã³ã°ãš å埩èšç®ã®ã¿ã€ãã³ã°ã®ãºã¬ããçºçããŠãããšæãããŸãã
ããã§ã¯ Queryã®æ¡ä»¶ã®æ¹ãwhere Col1>0 ã§ã¯ãªããwhere Col2 =TRUE ãšãã§ãã¯ãå€å®åºæºãšããŠã¿ããã©ãã§ããããïŒ
â»ãã§ãã¯ããã¯ã¹å€å®ã¯ æååã§ã¯ãªãã®ã§ ã·ã³ã°ã«ã¯ã©ãŒãä»ãã =TRUE ã§OK

ããã¯ãã¡ã§ããããã§ãã¯ã¯ç¢ºãã«æŸããŠãŸãããä»ãã§ãã¯ããç®æã®çªå·ãæŸããŠãªãçºãææ°ãã§ãã¯ã®çªå·ã空æ¬ã«ãªã äžçªäžã«åºåããã¡ãã£ãŠãŸãããã¯ãèšç®ã¿ã€ãã³ã°ã®ãºã¬ããããã§ããããã
ãã¡ãããé©åœãªã»ã«ã§ DeleteæŒãã°åèšç®ããæ£ãããªããã§ãããééãã®ããšãªãã§ ããäžã€ã® FILTERãSORTã§ãã£ãŠã¿ãŸãããã
3-2. FILTER + SORT ã§äžŠã¹ãå Žå ãæããã
â E2ã«å ¥ããåŒ
=SORT(FILTER({A2:A16,C2:C16},B2:B16),1,true)
AåãšCåããŸãšãããã®ã Båã®ãã§ãã¯ãæ¡ä»¶ã« FILTERã§çµã蟌ãã§ããã®çµæã SORT ã§ 1åç®ïŒAåã®çªå·ïŒ ãããŒã«æé ã«äžŠã³æ¿ãããšããåŠçã§ãã
FILTERããŠãã SORTãš é¢æ°ã2段æ§ãã«ããããšã§ãå埩èšç®ã®åŠçãšã¿ã€ãã³ã°ãåãããããªããªãã£ãŠæåŸ ããããŸãã詊ããŠã¿ãŸãããã

ããæããã»ã»ã»ã䞊ã³ã¯åã£ãŠããããã§ãã¯ãOFFã«ãããšããåå¿ããŠããã§ãããçªå·ã ããæŸããããŠãªãã±ãŒã¹ããããŸãããã§ãããã§ãã¯ãããã®ã¯äžçªäžã«ããŠããã®ã§ãèŠä»¶ã¯æºãããŠããšèšããããªã
ããã§ããããã§ããããã£ãããªãã§å®å šãª ãã§ãã¯é äžŠã³æ¿ããå®çŸããããšæãåŒãè²ã ããããåãããã§ãããã€ãã€ãå埩èšç®ã®ããžãã¯ãåããã ãæäžãç¶æ ã«ã»ã»ã»ã
3-3. å埩èšç®ã« Arrayformulaã䜿ããªã ãæåã
ã§ãçµå±ãã©ãçããã®ãå埩èšç®ã®åŒã§ Arrayformulaã䜿ããªããšããæ¹æ³ã
幞ãã®éãé³¥ã¯å®ã¯äžçªè¿ãã«ããŸããã£ãŠæãïœ

â A2ã«ä»¥äžãå ¥ããŠäžã«ãªãŒããã£ã«
=IFS(NOT(B2),,A2>0,A2,B2,MAX($A$2:$A$16)+1)
â E2ã«å ¥ããåŒã¯ 3-2ãšäžç·
=SORT(FILTER({A2:A16,C2:C16},B2:B16),1,true)
ããã ãã§è§£æ±ºããŸããïœ

äžèŠåãããã«èŠã㊠å埩èšç®ã«ãããŠã¯ Arrayformulaã䜿ããšåŠçã埮åŠã«éããã§ããããã
Query ã®æ¹ã®åŒã䜿ã£ãŠãåæ§ã«åé¡ãªãåããŸããÂ
åå ãšçç±ãã€ãã€ãããããªãã®ãåŒã£æãããŸãããå埩èšç®ã§æåŸ ããçµæã«ãªããªãå Žåã¯ãArrayformulaã䜿ããã«è©ŠããŠã¿ãã®ãè¯ãããã§ãã
ãªãã±ïŒLAMBDA + BYROWã§è©Šãããå®å šã«ãã¡ã
äžå¿ãArrayformulaããã¡ãªãããäžã€ã®ã¹ããããææ³ãLAMBDA + BYROW ã ã£ããã©ããïŒ äžå¿è©ŠããŠã¿ãŸããã
=BYROW(A2:A16,LAMBDA(r,IFS(NOT(OFFSET(r,0,1)),,r>0,r,OFFSET(r,0,1),MAX(r)+1,true,)))

ããã¯ãã¡ã§ãããçç±ã¯ããããŸãããããã³ããŒã1ããã€ããŸããã
Arrayformula ãš LAMBDAãã«ããŒé¢æ°ã® ã¹ããæ¹ã¯ æèŠçã«éãã£ãŠã€ã¡ãŒãžã§ããããå®éã ãã¶éãã¿ããã§ããã
ãã®ãã¡ãã£ããæ€èšŒããããšæããŸãã
4. ãã§ãã¯ã§ ä¹±æ°ãåºå®ãã
ä¹±æ°ç³»ã®é¢æ°ã¯ ã©ã³ãã ãªçµæã欲ããæã«éå®ãããã§ãããNOW颿°ãšäžç·ã§ãã·ãŒãå ã§å ¥åã倿Žããããã³ã«åèšç®ããã¡ãããã§ãããã
ä¹±æ°ã®åèšç®ãå¶åŸ¡ã§ãããããã®ã«ïœãã£ãŠæã£ãããšãã人ãå€ãããããªãã§ããããïŒ
ãã¡ããGASã§ãã£ãŠããããã§ããããã§ãã¯ããã¯ã¹ãš å埩èšç®ã䜿ã£ãŠç°¡åã«å®çŸã§ããŸãã

â D1ãä¹±æ°åºå®ãã§ãã¯ããã¯ã¹ãšããå ŽåãA2ã«å ¥ããåŒ
=IF(D1,A2,RANDBETWEEN(1,20))
â»A2 ã«ã¯ 1ïœ20ã®æ°åãã©ã³ãã ã«è¡šç€ºãã
ãã§ãã¯ãå€ããŠããæã¯ãã·ãŒãå ã§ç·šéããããã³ã«ä¹±æ°ãåèšç®ãããŠããŸããããã§ãã¯ïŒ¯ïŒ®ãšããã°ä¹±æ°ã®èšç®ãåºå®ãããŠããã®ãããããŸããã
RANDBETWEENã¯ãæ°å€ç¯å²ãæå®ã㊠ãã®ç¯å²å ã®æŽæ°ãã©ã³ãã ã§è¿ãããšãåºæ¥ã颿°ã§ãã
ããã§ ä¹±æ°ãåºå®ããç¶æ ã§ ä»ã®ã»ã«ãç·šéã§ããŸãããããã« å¿çšããã° A2ã»ã«ã®Â ä¹±æ°ãä»ã®ã»ã«ã«åºãé ã«ãã°ãšããŠæ®ãããšãåºæ¥ãŸãã
ãã»ã»ã»ãšããããšã¯ãããïŒïŒ
å¿çšããã° ããŒãã£ãŒã²ãŒã ã®ã¢ã¬ãäœãã¡ããïŒ
ä»å ãã§ãã¯ããã¯ã¹ãš å埩èšç®ã§å®çŸã§ãã å°ãã¿ã4ã€ç޹ä»ããŸãããä»ã«ãäœ¿ãæ¹ãè²ã ãã£ãæ°ããããã§ãæãåºããããŸãå¥ã§èšäºãæžããŸãã
ãšããã§ æåŸã® ä¹±æ°åºå®ã§ãªããšãªãã¢ã¬ãäœããããªæ°ãããŸãããïŒ
ããŒãã£ãŒã²ãŒã ã§ã銎æã¿ã®ã¢ã¬ã§ããããããã³ãŽã²ãŒã ã§ãïŒ
å°çšã¢ããªã䜿ãã javascript ã§èªäœããããã¹ãã¬ããã·ãŒãã§å®çŸããã«ããŠã GASãå¿ é ãšæãããã¡ã§ããã
ãã§ãã¯ããã¯ã¹ + å埩èšç® ïŒ ã·ãŒã颿° + æ¡ä»¶ä»ãæžåŒ
ããã ãã§ ãã³ãŽã²ãŒã ã ã¹ãã¬ããã·ãŒãã§äœããŸãïŒ
ãšããããã§æ¬¡å㯠GASã䜿ããªããã§ãã¯ããã¯ã¹ãã¿ ã®å¿çšç·šã£ãŠããšã§ã
ãGASäžèŠïŒïŒããã§ãã¯ããã¯ã¹ã§ãã³ãŽã²ãŒã ãã€ãã
ãæžããããªã»ã»ã»
ãšæããŸããããè²ã ãªéœåãšãã§ãã¯ããã¯ã¹ãç¶ããŠé£œãããã§ãã¡ãã£ãš1é± éããã¿ãæããããªãšã
1è¡ã«ã¬ã³ããŒã®èšäº çªå€ç·šã§æ±ã£ã ç¥æ¥ãååŸãã颿°ãçµæ§äººæ°ã ã£ããã§ãGoogleã¹ãã¬ããã·ãŒãã§ åæŠå€æ ã£ãŠãã¿ãæžãããšæããŸãã
Excelãšéã£ãŠåæŠãªããŠç¥ãããã£ãŠã¹ã¿ã³ã¹ã®Googleã¹ãã¬ããã·ãŒãã§ãã©ãåæŠãæ±ãã°ãããïŒ APIã颿°ã䜿ã£ãæ¹æ³ãæ€èšŒããŠã¿ãŸãããã
â æ¬¡ã®èšäº
ç·æ¥ç¹çªçã« ææ°ã¢ããããŒãã®ç޹ä»èšäºã«å·®ãæ¿ããšãªããŸããã
ã§ãããã®ã¢ããããŒãã¯ãããïŒïŒïŒïŒå人çã«ïŒ
åæŠå€æãã¿ã¯ 1é±é ããŠã®æ²èŒãšãªããŸãã