Excel 数値を5の倍数に切り上げる10の方法【CEILING以外も】

Excel 数値を5の倍数に切り上げる10の方法【CEILING以外も】 Excel

はじめに:その端数、5の倍数にまとめちゃいませんか?

「この数値、5円単位で切り上げたいな~」

見積書や集計表を作っていると、そんな場面によく出くわします。

例えば「123円」を「125円」に、「8円」を「10円」にするような処理です。

Excelに詳しい方なら、即座にこう答えるでしょう。

「CEILING.MATH関数を使えば一発だよ!」

はい、正解です。それが実務での最適解です。

でも、ちょっと待ってください!

もし、CEILING関数がこの世から消えてしまったら?

もし、検索関数(VLOOKUPなど)を使って、無理やり切り上げ計算をしろと言われたら?

今回の記事は、そんな「もしも」の世界を楽しむ、関数パズルです。

たった一つの「5の倍数に切り上げ」というゴールに向かって、王道から邪道、そして狂気じみた方法まで、10種類ものアプローチを紹介します。

【今回のルール】
1. ロジックの面白さを最優先するため、対象は 0以上1000以下の正の数 とします。
2. 負の数の挙動は考慮しません。(ややこしくなるので!)

この冒険を通して、Excel関数の「近似一致」の挙動や、「配列操作」のクセを深く理解できるはずです。

さあ、一緒に数字遊びを楽しみましょう!

本記事では、無料のWeb版Excelを使用して検証および画像の作成を行っています。Windowsはもちろん、MacやLinuxの方もブラウザさえあれば挑戦できます!

準備:テストデータを用意する

まずは準備です。A1セルを起点に、以下のテストデータを用意してください。

={"数値";0;0.1;4.9;5;5.1;8;10;24;101}

Excelの説明画像

0、小数、境界値(5や10)、半端な数など、切り上げの挙動を確認するのに最適なメンバーです。

ゴールは、これらの数値をすべて「5の倍数」に切り上げること。

例えば「0.1」は「5」に、「8」は「10」になります。(0は0のままです)

Excelの説明画像

10のアプローチで、「5の倍数」を攻略せよ!

1. 王道!CEILING.MATH関数

考えかた

まずは、この処理のために生まれた専用関数から。実務ではこれを使ってください(笑)。

数式と解説

=CEILING.MATH(A2:A10, 5)

CEILING(シーリング)とは「天井」のこと。数値を天井に向かって(上に向かって)丸める関数です。
・第1引数に「数値」、第2引数に「基準値(今回は5)」を指定します。

非常にシンプルで、最も処理が高速です。

Excelの説明画像

2. リストに出てこない関数? CEILING.PRECISE

考えかた

似たような関数にCEILING.PRECISEというものがありますが、環境によっては関数の候補リストに出てこないことがあります。

この記事を書いている2025/11/27現在では、無料のWEB版ExcelとMicrosoft365のダウンロード版Excelのいずれもリストに表示されません。

Excelの説明画像

しかし、関数として存在はするので問題なく動作しますよ!

数式と解説

=CEILING.PRECISE(A2:A10, 5)

これは、Excelの互換性のために残されている関数です。

CEILING.MATHが登場する前のバージョンとの互換性を保つために存在しますが、基本的にはMATHを使えばOKです。

Web版ExcelやMicrosoft365のダウンロード版Excelなどでは、新しい関数への移行を促すために、あえてリストから隠されているのかもしれませんね。

Excelの説明画像

3. 普通の切り上げを応用 (ROUNDUP)

考えかた

5の倍数にする」ということは、「5で割った世界で整数にする」ということです。

大雑把に言うと…。

数式と解説

=ROUNDUP(A2:A10/5, 0)*5

1. A2:A10/5: まず数値を5で割ります。(例:8 ÷ 5 = 1.6
2. ROUNDUP(..., 0): その結果を、小数第1位で切り上げます。(1.6 → 2
3. ... * 5: 最後に5を掛けて元の世界に戻します。(2 × 5 = 10

Excelの説明画像

数学的で美しい、非常に汎用性の高い考え方です。

4. 商と余りを利用 (QUOTIENT + MOD)

考えかた

「割り算の商(QUOTIENT)」と「余り(MOD)」を使って、手動で切り上げロジックを組みます。

数式と解説

=IF(MOD(A2:A10,5)=0,A2:A10,(QUOTIENT(A2:A10*1,5)+1)*5)

IF(MOD(...,5)=0, ...): まず、5で割り切れる(余りが0)なら、そのままの数値を返します。

(QUOTIENT(A2:A10*1,5)+1)*5: 割り切れない場合、「商」に1を足して5を掛けます。

例:8÷5の商は1 → 1+1=2 → 2×5=10

Excelの説明画像

【重要ポイント!】なぜ「*1」してるの?

QUOTIENT(A2:A10*1, 5) の部分に注目してください。

実は、QUOTIENT関数はそのまま配列(範囲)を渡してもうまく計算してくれないことがあります。

そこで、*1 をして計算を挟むことで、Excelに「これは単なるセル範囲じゃなくて、数値の配列データだよ!」と強制的に認識させています。

Excelの説明画像

ISEVEN関数などでも使う、必須テクニックです!

Excelの説明画像

5. IFを使った条件分岐

考えかた

あといくつ足せば5の倍数になるか?」を計算して足します。

数式と解説

=A2:A10 + IF(MOD(A2:A10,5)=0, 0, 5-MOD(A2:A10,5))

・割り切れるなら、何も足しません(+0)
・割り切れないなら、「5 – 余り」を足します。
 (例:8を5で割った余りは3。あと「5-3=2」足せば10になりますよね!)

Excelの説明画像

6. MOD関数のみで切り上げる!

考えかた

IF関数すら使わず、論理値(TRUE/FALSE)の計算だけで条件分岐を実現します。

数式パズルの世界へようこそ!

数式と解説

=(MOD(A2:A10,5)=0)*A2:A10 + (MOD(A2:A10,5)<>0)*(5-MOD(A2:A10,5)+A2:A10)

この数式は一見複雑ですが、実は「スイッチ」の仕組みになっています。
数式を大きく2つのパートに分けて考えてみましょう。

パート1:割り切れる場合の計算

(MOD(A2:A10,5)=0) * A2:A10

MOD(...,5)=0: もし5で割り切れるならTRUE(1)、割り切れないならFALSE(0)になります。
... * A2:A10: それに元の数値を掛けます。
 ・割り切れる時:1 * 数値 = 数値(そのまま)
 ・割り切れない時:0 * 数値 = 0(消える!)

Excelの説明画像

パート2:割り切れない場合の計算

(MOD(A2:A10,5)<>0) * (5-MOD(A2:A10,5)+A2:A10)

MOD(...,5)<>0: もし5で割り切れないならTRUE(1)、割り切れるならFALSE(0)になります。
... * (...): それに「計算式」を掛けます。
 ・割り切れる時:0 * (計算式) = 0(消える!)
 ・割り切れない時:1 * (5 - 余り + 元の数値)
  (例:8の場合 → 5 – 3 + 8 = 10)

Excelの説明画像

結論:
この2つのパートを足し合わせると、どちらか一方は必ず「0」になり、もう一方だけが「答え」になります。

「(AのスイッチONならA) + (BのスイッチONならB)」 という仕組みで、IF関数を使わずに分岐を実現しているのです!

Excelの説明画像

7. MATCH関数 (検索で切り上げ!?)

考えかた

ここからは検索系関数の出番です。

「0, 5, 10, 15…」という5の倍数のリストを用意し、そこから目的の数値を探し出します。

しかし、普通の検索(近似一致)は「その数値以下」を探してしまいます(切り捨て)。

「切り上げ」にするにはどうすれば…?

答え:「マイナスの世界」に行けばいいんです!

数式と解説

=(1000/5+1 - MATCH(-A2:A10, SEQUENCE(1000/5+1,,-1000,5))) * 5

このロジックは少々難解です。段階を追って解説します。

1. 連番の作成: SEQUENCE(201,,-1000,5)

 これで、{-1000, -995, ..., -10, -5, 0} という、昇順に並んだ負の5の倍数リストを作ります。

Excelの説明画像

2. マイナスで検索: MATCH(-A2:A10, ...)

例えば「8」を切り上げたい場合、「-8」で検索します。

MATCH(近似一致)は、「-8」以下で最大の数値を探します。

このリストの中で「-8」以下で最大なのは…「-10」です!

※「-5」は「-8」より大きいので選ばれません。ここがポイント!

Excelの説明画像

3. 位置の特定: MATCHは「-10」がリストの何番目にあるかを返します。
4. 計算で戻す: その位置情報を使って、元の正の数の世界での「10」を導き出します。

「切り下げ(以下)」の挙動しか持たない関数でも、マイナスの世界に行けば「切り上げ(以上)」の挙動になる。

この逆転の発想こそが、Excelパズルの醍醐味です!

Excelの説明画像

8. 検索の古典派 LOOKUP

考えかた

MATCHと同じ「マイナスの世界」のロジックを、LOOKUP関数で実装します。

数式と解説

=-LOOKUP(-A2:A10, SEQUENCE(201,,-1000,5))

LOOKUP関数も、データが昇順であれば「近似一致(以下の最大値)」を返します。

1. SEQUENCE{-1000, ..., -5, 0}を作成。
2. 「8」を「-8」にして検索。
3. 「-8」以下の最大値である「-10」がヒットして返ってきます。
4. 最後に先頭のマイナス-LOOKUPで、「-10」を「10」に戻します。

これなら数式も短くてスッキリしますね!

Excelの説明画像

9. 意地でもVLOOKUPでやりたい!

考えかた

「私はVLOOKUPしか信じない!」という方のための数式です。

LOOKUPとほぼ同じですが、引数指定が少し面倒です。

数式と解説

=-VLOOKUP(-A2:A10, SEQUENCE(201,,-1000,5), 1)

VLOOKUPの第4引数を省略(TRUE)にすると、近似一致になります。

ロジックはLOOKUPと全く同じです。

わざわざVLOOKUPで5の倍数に切り上げる…なんだかロマンを感じませんか?

Excelの説明画像

10. 最後は、度数分布のFREQUENCY

考えかた

当ブログでおなじみ、度数分布の専門家FREQUENCY関数の登場です!

使用方法などは、Excel FREQUENCY関数 スピルで覚醒!で、詳しく解説しています。

数式と解説

=SUM(FREQUENCY(A2, SEQUENCE(200,,0,5)) * SEQUENCE(201,,0,5))

※この数式だけは、A2セル単体に対する計算です。スピルしませんので、下にフィルコピーしてください。

1. SEQUENCE(200,,0,5): {0, 5, 10...}という「区切り値」を作ります。
2. FREQUENCY(A2, ...): 数値A2が、どの区間に入るかを判定します。

該当する区間の場所だけが「1」、他は「0」になる配列が返ってきます。
 (例:A7が8なら、5~10の区間に「1」が立ちます)

Excelの説明画像

3. ... * SEQUENCE(...): その「1」が立った場所に、対応する5の倍数の値を掛け算します。
4. SUM(...): 最後に合計して取り出します。

Excelの説明画像

やっていることは、はっきり言って無駄です(笑)。

しかし、「どの箱に入るか?」という判定を使って数値を丸めるという発想は、完全に関数パズルの世界です。

まとめ:答えは一つじゃない!

たった一つのシンプルな計算でも、CEILING関数だけでなく、割り算、検索、そしてマイナスの世界への反転など、実に10通りものアプローチがありました。

実務では迷わず CEILING.MATH を使ってください。

でも、もし頭の体操をしたくなったら、ぜひ MATCHLOOKUP で切り上げに挑戦してみてください。

その回り道が、あなたのExcel脳を鍛え、もっと複雑な問題を解決する時のヒントになるはずです!

タイトルとURLをコピーしました