Excel 範囲を指定して数値を特定の数値に切り上げる

Excel 範囲を指定して数値を特定の数値に切り上げる

次のような一定の数値のセットがあります。

50
100
200
500
1000

次のように、数値を最も近い数値に切り上げたいと思います。

20 => 50
55 => 100
433 => 500

使用できる特定の機能はありますか?

答え1

INDEXおよびMATCH関数を使用して丸めを行うことができます。

切り上げたい数字を入力してください下降1 つの列に順序を入力します (セル範囲は A1:A5 であると想定します)。丸めたい数値を別のセルに入力します (セル範囲は B1 であると想定します)。

別のセルに数式を入力します

=INDEX($A$1:$A$5,MATCH(B1,$A$1:$A$5,-1))

これは、B1 の数値を範囲 A1:A5 の次に大きい数値に切り上げた値を返します。

ここに画像の説明を入力してください

この関数の動作は、MATCH範囲 A1:A5 内で B1 の数値以上の最小の数値の位置を検索するというものです。 は、INDEX範囲 A1:A5 から、 によって返された位置にある値を返しますMATCH

1000 (範囲内の最高値) より大きい数値は #N/A を返すことに注意してください。0 が 50 に切り上げられるのを避けたい場合は、セル A6 に 0 を入力し、数式の範囲を $A$1:$A$6 に変更します (0 以下の値は 0 に切り上げられます)。

答え2

使用:

=INDEX({50,100,200,500,1000},MATCH(A1,{0,51,101,201,501}))

ここに画像の説明を入力してください

答え3

値がA1にあると仮定します

=IF(A1<=50,50,IF(A1<=100,100,IF(A1<=200,200,IF(A1<=500,500,IF(A1<=1000,1000,A1)))))

(上記の式では、1000 を超える値は切り捨てられません)

答え4

範囲が比較的狭い場合は、Excel の LOOKUP() 関数を使用できます。

=LOOKUP(A1, {20,55,433}, {50,100,500})

注記:この方法は、切り上げられるすべての数値の値が事前にわかっている場合にのみ役立ちます。値が不明な任意の数値を切り上げる必要がある場合は、他のソリューションのいずれかを使用する必要があります。

関連情報