知人が「商品を発送するのに必要な段ボール箱を用意しなくちゃいけないから、MOD 関数とかを
使って表を作ってみたんだけど、これ合ってる?」とシートを見せてくれました。
結果は合っていました。

しかーし!

とっても数式が長いのです。(下図の赤枠のところ参照)

何箱必要かを算出して、余りがあったら 1 箱プラスして・・・という数式のようです。

111掲載順4.jpg

 

間違ってないよ、でも、もっと数式を短くする方法はあるよ、と伝えました。
そして、「もしピッタリ入りきらない分があったら 1 箱追加してよいのよね?」と確認しました。
これによって使う関数が変わってくるからです。

「いいよ」とのことなので、CEILING 関数を使って、下図のように数式を作りました。
211掲載順4.jpg

だいぶ数式がすっきりしました。

 

 

step111掲載順4.jpg

今回は先に、CEILING 関数の説明を書きます。
ここを読んで上記のサンプルの意味がわかるという方は、後半の手順は見なくてもよいと思います。

CEILING 関数は、指定された「基準値」の倍数のうち、最も近い値に「数値」を切り上げる関数です。

厳密には表現が違ってしまうかもしれないけれど、イメージとしては下図です。
「基準値」(100) の倍数を並べておいて、その中で、
「数値」(985) に一番近い数値 (1000) を見つけて、それを答えとしている感じです。

CEILING 関数では「数値を切り上げる」ため、「900」にはならず「1000」となります。
ちなみに、お仲間の関数である FLOOR 関数では「数値を切り捨てる」ので「900」となります。

最初のやり取りで、
「もしピッタリ入りきらない分があったら 1 箱追加してよいのよね?」という問いに対して、
「いや、入りきらない分は別の方法で梱包するから 1 箱は使わないよ」という回答だったら、
FLOOR 関数を選択していました。

 

311掲載順4.jpg
 

数式は、下記のように引数を指定します。

CEILING (数値,基準値)

数値 には、対象となる数値をセル参照や数値で指定します。

基準値 には、倍数の基準となる数値をセル参照や数値指定します。
 

 

step211掲載順4.jpg

[発送個数] 列に入力されている数値と、[1箱あたりの個数] 列に入力されている基準値を元に
値を算出し、その値を [1箱あたりの個数] 列に入力されている値で割って、
[必要な箱の個数] 列に箱の個数を表示します。

操作に慣れていない方は、日本語入力をオフにして操作してください。

最初に作成する数式は、「=CEILING(数値,基準値)」とします。その後、数式を編集して、
=CEILING(数値,基準値)/基準値」となるようにします。

 

1.結果を表示したいセルを選択し、「=CEILING(」と入力、指定します。
関数名は小文字でもよいです。

411掲載順4.jpg

 

2.数値として、箱に詰めたい商品の数が入力されているセル (C4) を選択します。511掲載順4.jpg

 

3.「,」を入力し、基準値として、1 箱あたりに入れられる商品の数が入力されているセル () を
クリックします。

611掲載順4.jpg

 

4.「)」を入力して、[Enter] キーを押します。711掲載順4.jpg

 

5.結果が表示されます。

ここまでの数式の結果では、数値 (1000) を切り上げ、基準値 (100) の倍数のうち、
数値に一番近い値 (1000) が表示されています。811掲載順4.jpg

数値が「1000」で基準値が「100」だとわかりにくいけれど、
表の 2 行目にある、数値が「985」で基準値が「100」のデータだとイメージが
つきやすいかもしれません。

「985」を切り上げて、基準値である「100」の倍数の中で一番近い値は、「1000」ですよね。911掲載順4.jpg

次の手順で、この結果を「1 箱あたりの個数」(基準値) で割って箱の数を求める数式に
変更します。

 

6.数式が入力されているセル (F4) をダブル クリックするか、セルを選択して [F2] キーを
押してセルを編集状態にし、「/」を入力して基準値のセル (1箱あたりの個数、セル E4) を
クリックして [Enter] キーを押します。
1011掲載順4.jpg

 

7.計算結果が表示されます。
 
1111掲載順4.jpg

 

8.他の行に数式をコピーします。
それぞれの行の [必要な箱の個数] のセルに箱の個数が表示されます。1211掲載順4.jpg

今回の例に限らず、1 つの答えに辿りつくために、いろいろな方法が考えられます。
しかし、長い数式はわかりにくく、修正をしたり、ほかのユーザーが確認したいときにミスが
起きやすくなります。また、場合によっては処理速度にも影響が出てしまいます。

=A1+A2+A3+A4+A5+C1+C2+C3+C4+C5 よりも
=SUM(A1:A5,C1:C5) のほうがわかりやすいですよね。

同じ結果を得られるのであれば、より短く、わかりやすいほうがよいでしょう。
関数を 1 つ知れば解決したりするものです。
だからといってすべての関数を覚えておきなさい、ということではなくて、必要になったときに
調べられる力とテクニックがあればよいのかなと思っています。
私だってすべての関数を知っているわけではないですから。

[関数の挿入] ダイアログ ボックスやヘルプ、インターネット、書籍で調べられるんですけど、
このとき何をキーワードにするかで結果が違ってきますし、検索結果をもとに自分が使うケースに
置き換える応用力が求められますね。

実は私はあまり検索が得意ではないのですが...がんばります。がんばりましょう。


石田 かのこ