溢れ出る加齢臭

カレー臭に加え加齢臭が溢れ出る年齢になりました。

配列数式

Excelで集計をとるとき,配列数式というのがあるらしい.
どういうときに使うかというと,例えばA1~A300に入力されたデータのうち,3セルずつの計算を行いたい場合.
今,A1+A4+...+A298までの計算を行うとすると,=sum(if(mod(row(A1:A300),3)=mod(row(A1),3),A1:300)と書いて,Ctrl-Shift-Enterを押す.(-は『押しながら』という意味)これは,sum(A1:300)をするときに,まずrow(A1:A300)によって各セルの列番号を抽出し,それをmod(*,3)によって3で割った余りを求める.その次にその余りがA1の列番号を3で割った余り,mod(row(A1),3),つまり1と等しいものについてのみ計算するということである.
ただし,これをCtrl-Shift-Enterによって配列数式の計算とすることが重要で,ただEnterを押すだけだと,row(A1:A300),3)のうちのA1のみでif文の評価が行われ,sum(A1:A300)が実行される.つまり,上記の文ではsum(A1:A300)が実行されるということになる.同様にmod(row(A1),3)をmod(row(A2),3)とすると,Ctrl-Shift-Enterを押すと,A2+A5+...+A299の計算を行うのに対して,Enterのみだと,A1の列番号を3で割った余りとA2の列番号を3で割った余りは一致しないので,sum(A1:A300)は行われず,値は0となる.

半角+
xyzzytDiary-modeでは半角の+は半角スペース に変換されてしまうようである.なんかcgi-lib.plみたい.web上で入力した場合は,そのような変換が行われなかったので,tDiary-modeでの現象であろう.まあ,全角の+を使えばいいだろうし,そう見た目が変わるわけでもない.(固定ピッチフォントで見ている人にとっては違うか...)