/ 最近 .rdf 追記 編集 設定 本棚

脳log[20231109]



2023年11月09日 (木) 今日見せてもらった Excel ファイルで使われていた式があざやかに簡潔だったので書きたい。まず前提として段階制の従量料金があって、たとえば最初の 10 単位(1-10)については単価が 10 円であると。次の 10 単位(11-20)は単位当たり 11 円であり、以降 21-40 が 13 円、41-100 が 17 円、101-200 が 22 円で、あとはずっと 30 円だという具合。使用量が 15 なら 10×10 + 11×5 = 155 円になる。A1 セルに使用量が入っているとして、こういう式が書いてあった。=SUM( (A1 > {0,10,20,40,100,200}) * (A1 - {0,10,20,40,100,200}) * ({10,1,2,4,5,8}) )(※記憶を頼りに書いてるし Excel も持ってないので不正確な部分があるかも)。まず自分は波括弧記法を知らないんだけど、たぶん6行1列か1行6列の行列を表してるんだろうなと思う。そして行列にスカラー値が掛けられるのはわかるけど、比較演算を分配する発想がなかった。1,0 に変換されているらしい真偽値の仕様も知らない。そして単価表を反映した3番目の行列の中身、特に2番目以降の値が注目に値すると思う。発想の転換ですよ。それで全体としてこんなに簡潔になった。値上げをこの式に反映させることはできるとしても、イチからは書けないよね。