excel

【Excel】エクセルで整数のみを抽出する方法(数値から小数点以下を分ける)

当サイトでは記事内に広告を含みます

Excelで売上、重量、時間、単価などの数値を扱っていると、小数点以下を除いた整数だけを取り出したい場面があります。

反対に、小数部分だけを別セルへ分け、端数の確認やデータの分類に使いたいこともあるでしょう。

小数点以下を切り捨てるのか、四捨五入するのか、負の数をどう扱うのかによって、選ぶべき関数は変わります。

整数のみを取り出す基本操作では、TRUNC関数、INT関数、ROUNDDOWN関数が中心です。

小数部分だけを分離したい場合は、元の数値から整数部分を引く方法が分かりやすいでしょう。

サンプルデータは1行目を見出し行とし、数値はA2セルから入力されている前提で解説します。

この記事では、エクセルで整数のみを抽出する方法と、小数点以下を別の列に分ける数式を順番に確認していきます。

表示形式だけで小数を隠す方法との違いも押さえれば、集計やデータ整形で迷いにくくなります。

 

エクセルで整数のみを抽出する方法1【TRUNC関数】

A列 数値 B列 整数部分 C列 小数部分
125.68 125 0.68
42.05 42 0.05
-8.74 -8 -0.74

それではまず、数値をゼロ方向へ切り捨てて整数だけを取得できるTRUNC関数について解説していきます。

正の数でも負の数でも、小数点以下を単純に取り除きたい場合に使いやすい関数です。

 

TRUNC関数の基本数式

整数部分をB2セルへ表示するには、B2セルに次の数式を入力します。

=TRUNC(A2)

TRUNC関数は指定した数値の小数部を切り捨てる関数であり、桁数を省略すると整数まで残します。

A2セルが125.68なら結果は125となり、A2セルが42.05なら42です。

TRUNC関数の特徴は、負の数でもゼロに近づく方向へ小数部分を切り捨てる点です。

そのため、A2セルが-8.74のときは-8が返されます。

小数点以下を消した結果をそのまま計算に利用したいときは、表示形式ではなくTRUNC関数で別列に値を作る方法が適しています。

 

桁数を指定する使い方

TRUNC関数は第2引数に桁数を指定できるため、整数だけでなく任意の桁で端数を落とせます。

=TRUNC(A2,1)

この数式では小数第1位まで残し、125.68は125.6になります。

第2引数を-1にすると十の位未満を切り捨てられ、125.68は120となります。

金額を十円単位や百円単位で処理したい場合にも便利です。

ただし、今回のように整数のみを抽出する目的なら、第2引数を省略した=TRUNC(A2)が最も読みやすい数式です。

数式を入力したら、B2セル右下のフィルハンドルを下方向へドラッグし、データ最終行までオートフィルしましょう。

 

TRUNC関数が向くデータ処理

TRUNC関数は、実測値から小数部分を除く処理、人数換算、時間の整数化、単価計算後の端数処理などで役立ちます。

たとえば作業時間が3.9時間で、完了した時間数だけを整数として記録する場合には、TRUNC関数で3を求められます。

一方で、3.9を4として扱いたい場合は四捨五入が必要なので、TRUNC関数は目的に合いません。

切り捨て、切り上げ、四捨五入のどれが業務ルールに合うかを先に決めることが大切です。

【操作のポイント】TRUNC関数は小数点以下を削除するだけで、元データの表示を変える機能ではありません。

 

小数点以下を分ける数式

A列 元の数値 B列 整数部分 C列 小数部分
123.45 123 0.45
9.8 9 0.8
-12.3 -12 -0.3

続いては、元の数値を整数部分と小数部分へ分ける数式を確認していきます。

列を分けておくと、整数部を集計しながら端数だけを検査する、といった処理を行いやすくなります。

 

整数部分を別セルへ取り出す方法

B2セルには、先ほどと同じTRUNC関数を入力します。

=TRUNC(A2)

A2の値が123.45ならB2には123が表示されます。

この結果は数値として扱われるため、SUM関数、AVERAGE関数、IF関数などの計算式にもそのまま利用可能です。

文字列として小数点の位置を探す方法より、数値用の関数で整数部を求めるほうが計算エラーを避けやすいでしょう。

なお、A列に空白セルが混ざる可能性がある場合には、次のようにIF関数を組み合わせることもできます。

=IF(A2=””,””,TRUNC(A2))

この式ならA2が空白のときはB2も空白になり、未入力行に0が並ぶ状態を防げます。

 

小数部分だけを別セルへ抽出する方法

C2セルには、元の値から整数部分を差し引く数式を入力します。

=A2-TRUNC(A2)

123.45から123を引くため、結果は0.45です。

9.8であれば0.8となり、小数部分だけを独立した数値として取得できます。

この方法では小数部分も数値のまま保持されるので、端数の合計や平均を計算できます。

たとえばC列に抽出した小数部分へSUM関数を使えば、データ全体にどれほどの端数が含まれているかを把握できます。

表示桁数が少ないと0.45が0.5のように見えることがあるため、必要に応じてセルの表示形式で小数点以下の桁数も整えましょう。

 

負の数を含む場合の確認

負の数を扱う場合、TRUNC関数による小数部分は負の値になります。

A2が-12.3なら、TRUNC(A2)は-12であり、=A2-TRUNC(A2)の結果は-0.3です。

これは元の数値を整数部と小数部に足し合わせて復元できる、自然な分け方です。

一方で、常に正の端数だけを取り出したい集計では、ABS関数を使う方法があります。

=ABS(A2-TRUNC(A2))

この式では-12.3の端数も0.3として取得できます。

ただし、マイナスの意味を残すべき会計データや差異データでは、符号を消さないほうが判断しやすい場合もあります。

【操作のポイント】小数部分を分ける前に、負の端数を負のまま扱うか、絶対値で扱うかを決めましょう。

 

INT関数とROUNDDOWN関数の違い

A列 数値 TRUNC INT ROUNDDOWN
8.9 8 8 8
-8.9 -8 -9 -8

続いては、整数を求める際に候補になるINT関数とROUNDDOWN関数の違いを確認していきます。

正の数だけでは同じように見えても、負の数が混ざると結果が変わるため注意が必要です。

 

INT関数による切り捨て

INT関数は、数値を超えない最大の整数へ切り捨てる関数です。

=INT(A2)

A2が8.9の場合は8となるため、正の数ではTRUNC関数と同じ結果です。

しかしA2が-8.9の場合、INT関数の結果は-9になります。

INT関数はゼロ方向ではなく、より小さい数の方向へ丸める関数です。

床関数に近い処理が必要な場合にはINT関数が適していますが、単に小数点以下を取り除きたいだけならTRUNC関数のほうが意図を伝えやすいでしょう。

 

ROUNDDOWN関数による桁指定

ROUNDDOWN関数は、指定した桁数でゼロ方向へ切り捨てる関数です。

=ROUNDDOWN(A2,0)

第2引数の0は整数の位まで残す指定であり、8.9は8、-8.9は-8になります。

結果だけを見るとTRUNC関数と似ていますが、ROUNDDOWN関数は桁数を明示する用途で分かりやすい関数です。

小数第2位まで残すなら=ROUNDDOWN(A2,2)、百の位未満を切り捨てるなら=ROUNDDOWN(A2,-2)と書けます。

丸める桁数を後から変更する可能性が高い表では、ROUNDDOWN関数が管理しやすいこともあります。

 

関数を選ぶ基準

正負を問わず小数部を削るならTRUNC関数、常に小さい整数へ丸めるならINT関数、桁数を明確に指定するならROUNDDOWN関数が候補です。

たとえば在庫数や人数のように負の数が発生しないデータでは、どの関数でも結果が一致する場面が多いでしょう。

差額、損益、温度、座標のように負の数を含むデータでは、関数の違いが集計値へ影響します。

数式をコピーする前に、正の小数と負の小数を1件ずつ試算することが安全な確認方法です。

【操作のポイント】負の数をゼロへ近づけるならTRUNCまたはROUNDDOWN、より小さい値へ寄せるならINTを使います。

 

オートフィルと表示形式の設定

A列 元データ B列 数式 C列 数式
125.68 =TRUNC(A2) =A2-B2
42.05 オートフィル オートフィル

続いては、数式を複数行へ反映するオートフィルと、見た目を整える表示形式を確認していきます。

数式の値と表示上の見え方は別の要素なので、それぞれを正しく扱うことが大切です。

 

フィルハンドルによる数式コピー

B2セルへ=TRUNC(A2)を入力し、C2セルへ=A2-B2を入力したら、各セルの右下にある小さな四角へマウスポインターを合わせます。

ポインターが黒い十字に変わった状態で下へドラッグすると、数式が下の行へコピーされます。

データが連続している場合は、フィルハンドルをダブルクリックする方法も便利です。

このときB3では=TRUNC(A3)、C3では=A3-B3のように、行番号が自動で変化します。

セル参照にドル記号を付けていない相対参照なら、オートフィルで各行に対応した数式へ自動調整されます。

整数抽出サンプル.xlsx – Excel − □ ×
ファイル ホーム 挿入 ページ レイアウト 数式 データ 校閲 表示 ヘルプ
貼り付け
B
罫線
中央揃え
Σ オートSUM
fx=TRUNC(A2)
A B C
1 数値 整数部分 小数部分
2 125.68 125 0.68
3 42.05 42 0.05
右下のハンドルを下へコピー

図のように最初の数式が入ったセルだけを選択し、右下のフィルハンドルを下へ伸ばすイメージです。

 

表示形式だけで整数に見せる方法

数値そのものを変えず、画面上だけ整数に見せたい場合は、セルの表示形式で小数点以下の表示桁数を0に設定します。

ホームタブの数値グループにある小数点以下の表示桁数を減らすボタンを使うと、125.68は126のように丸め表示されることがあります。

これは切り捨てではなく、表示時の四捨五入です。

表示形式を0桁にしても、セル内部には元の小数値が残っているため、計算結果は整数化されません。

元データを保持したまま帳票だけ見やすくしたい場合には便利ですが、計算用の整数列を作る目的とは区別しましょう。

 

数式の結果を値として固定する方法

元データが変わっても抽出結果を更新させたくない場合は、数式の結果を値に置き換えます。

整数部分または小数部分の列をコピーし、貼り付け先で値の貼り付けを選択します。

元の数式列に対して値の貼り付けを行えば、計算式を固定値へ変換できます。

値貼り付けをすると元の数式へ戻すには再入力が必要になるため、作業前にコピーを保存しておくと安心です。

月次締め後の確定データ、外部システムへ渡す整形済みデータ、提出用の一覧表では値への変換が役立ちます。

【操作のポイント】表示形式は見た目の調整、TRUNC関数は計算用の整数化、値貼り付けは結果の固定という役割です。

 

エラーを防ぐ関数の組み合わせ

A列 入力値 B列 安全な整数抽出 C列 安全な小数抽出
35.25 35 0.25
空白 空白 空白
文字列 空白 空白

続いては、空白セルや文字列が混ざる表でエラーを防ぐ関数の組み合わせを確認していきます。

実務のデータでは数値だけが完全に並ぶとは限らないため、事前の対策が有効です。

 

空白セルを空白のままにする数式

A列に未入力行がある場合、=TRUNC(A2)だけでは0と表示されることがあります。

未入力を0と区別したいときは、IF関数で空白判定を追加します。

=IF(A2=””,””,TRUNC(A2))

小数部分の列には、次の式を設定できます。

=IF(A2=””,””,A2-TRUNC(A2))

この形なら、A2が空白なら結果も空白であり、値がある行だけ整数部と小数部を計算します。

空白セルを0として集計したくない表では、IF関数を組み込むだけで見やすさが大きく変わります。

 

文字列やエラー値への対応

A列に「未確定」などの文字列が混ざっている場合、TRUNC関数はVALUEエラーを返します。

エラー表示を避けたい場合は、IFERROR関数で数式を包みます。

=IFERROR(TRUNC(A2),””)

小数部分では、=IFERROR(A2-TRUNC(A2),””)と入力すれば同様に対応できます。

ただし、エラーを空白にすると、データに文字列が混在している問題を見落とす可能性もあります。

入力ミスを発見したい管理表では、IFERRORで隠す前に元データの確認ルールを整えることが重要です。

 

計算誤差と丸め処理

Excelでは小数を二進数で管理するため、見た目は0.3でも内部的にはごく小さな誤差を含む場合があります。

小数部分を抽出して比較すると、0.3のはずが0.300000000000004のように扱われることがあるかもしれません。

通貨、税率、単価などで小数桁を固定したい場合は、ROUND関数を組み合わせます。

=ROUND(A2-TRUNC(A2),2)

この式は、小数部分を小数第2位で丸めて返します。

ただし、ROUND関数を使うと四捨五入が発生するため、切り捨てを維持したい処理とは目的を分けて考えましょう。

【操作のポイント】空白、文字列、誤差のどれを許容するかを決めてから、IF、IFERROR、ROUNDを追加します。

 

まとめ エクセルで小数点以下を分ける整数抽出の方法

エクセルで整数のみを抽出したいときは、=TRUNC(A2)を使うと小数点以下をゼロ方向へ切り捨てられます。

小数部分だけを別セルへ分けるには、=A2-TRUNC(A2)を入力する方法が基本です。

正の数と負の数が混在する表では、TRUNC関数、INT関数、ROUNDDOWN関数の丸め方向の違いを確認しましょう。

TRUNC関数は負の小数をゼロへ近づけ、INT関数はより小さい整数へ切り捨てます。

ROUNDDOWN関数は桁数を明示して切り捨てたい場合に便利です。

また、表示形式で小数点以下を隠しても、セル内部の値は整数にならない点に注意が必要です。

計算用の整数を作るなら関数を使い、確定した結果だけ残したいなら値の貼り付けを利用しましょう。

空白セルや文字列が混ざるデータでは、IF関数やIFERROR関数を組み合わせることで、一覧表を読みやすく整えられます。

目的に合った数式を選び、整数部分と小数部分を分けたデータ活用へつなげていきましょう。