エクセルで2cm括約する
大量の任意の数値を一気に2cm括約したいと考えることがあります。
しかし、Web検索してみると該当する情報がありません。
逐一頭で考えてから手入力するのも何なので、エクセルで計算してみました。
同じような悩みを抱える方は多くないでしょうが、備忘録として残します。
はじめに
言葉の定義を明らかにしておきます。
括約とは
2cm括約とは
主に林業で使われるくくりです。
切捨的な2cm括約もある
4cm以上6cm未満を4cm, 6cm以上8cm未満を6cmとするような、切捨て的な括約をする場合もあります。現場で輪尺(おおきなノギス)で直径を測るときはむしろこのやりかたが多いでしょう。
これをエクセルで計算したい場合はEVEN関数を使って2を引けばよいので簡単です。
今回は先述の引用文献と同じく、3cm以上5cm未満は4cm, 5cm以上7cm未満は6cm…という2cm括約をエクセルで行います。
頭で考えるならすぐできますが、エクセルでとなると意外と条件が複雑なことに気が付きます。
一発で変換してくれる単一の関数は(自身の知る限り)ありません。
エクセルで2cm括約する
いくつかの関数を組み合わせることで2cm括約を行うことにしました。出来上がったのは次のような計算式。
計算式
=IF(AND(MOD(A3,1)=0,ISODD(A3)),EVEN(A3-(EVEN(A3)-A3))+2,EVEN(A3-(EVEN(A3)-A3)))
※括約前の値が入力されたセルを仮に「A3」としています
注意事項
この計算式で正常に括約の計算が行えるのは、1以上の正の値だけです(2cm括約が必要な場面では、通常、1未満の小さな値や負の値を扱うことはないでしょうが)
算数・数学的に必ずしも正しい式であるとは限りません