黄昏通信社跡地処分推進室

黄昏通信社の跡地処分を推進しています

メモ:MS Excel 2007 の COUNTIF 関数/SUMIF 関数について

ツイッターにも書いたねたなのだけど字数制限のないところでもう一度。

  • 検索条件に「数字だけからなる文字列」を用いると、完全には一致していない文字列であっても一致していると見做されることがある。
  • 具体的には、「上 15 桁が一致する」かつ「桁数が一致する」場合、他の部分が一致しなくても一致していると見做される。
  • エクセルでは 15 桁を超える数字は基本的に扱えないらしいのでまあその応用と思っておけばよさそう。内部的には浮動小数点数で扱っている(実際どうなのかは知らんが)と考えるとイメージしやすい。仮数と指数が一致すれば一致すると見做す、仮数は最大 15 桁しか使わない、というルールで。指数が最大何桁使えるか知らんけど流石に現実的には問題にならないかな。
  • 回避方法としては、COUNTIF であれば COUNTIF(E4:E27,E28) → {=SUM(IF(E4:E27=E28,1,0))} 、SUMIF であれば SUMIF(E4:E27,E28,F4:F27) → {=SUM(IF(E4:E27=E28,F4:F27,0))} みたいな感じ。(※他にもっと簡単な方法あったら教えてください。)
  • この SUMIF の回避方法の方で IF のふたつ目の引数が「F4:F27」ってなってるのがあやふやだなーといつも思うんだけど、これやっぱり範囲指定した時に配列に収まる順番みたいなのはきっと決まってるんだよね。ってことは、2列以上にまたがる範囲でも指定可能なのか。どういう状況で必要になるかいまいち想像つかんが。