Excel で小数点以下2 桁の数値を比較するには、どうすればよいですか?
Excel では、価格、測定値、財務データなど小数点以下の桁数を含む数値を扱う際、完全な値ではなく特定の小数精度までで比較したいことがあります。たとえば、両方の数値を小数第2 位で切り捨てたときに一致するかどうかを確認し、それより下の桁は無視したいケースです。これを手動で行うと、特に大規模なデータセットでは時間がかかりやすく、わずかな誤差が発生しやすくなります。

本チュートリアルでは、Excel で小数精度に基づいて数値を比較するためのいくつかの実用的な方法を紹介します:
IF 関数と FLOOR 関数を使用して小数部を比較する
2 つの数値を小数精度で素早く簡単に比較したい場合は、Excel の数式をご活用ください。次の数式は、両方の数値を小数第2 位で切り捨て(FLOOR 関数で丸め)たときに等しいかどうかをチェックします:
=IF((FLOOR(A1,0.01)-FLOOR(B1,0.01))=0,1,-1) この数式は、セル A1 と B1 の値をそれぞれ小数第2 位で切り捨てたうえで、その結果を比較して動作します。
- 2 つの値を小数第2 位で切り捨てた結果が一致する場合、1を返します。
- 値が異なる場合は、-1を返します。
![]() | ![]() | ![]() |
注:この数式では、A1とB1が比較対象の2 つの数値を表します。パラメーター0.01は、Excel に小数第2 位まで値を比較させるためのものです。必要に応じて、この値を0.001や0.1などに変更できます。
ヒント:切り捨てではなく四捨五入で比較したい場合は、代わりに次の数式を使用してください:
=IF((ROUND(A1,2)-ROUND(B1,2))=0,1,-1) 数式中の2は、比較する小数点以下の桁数を示しています。データに応じて、適切な値に置き換えてください。
メリット:この方法は日常的な用途に非常に使いやすく、完全に動的で、アドインや拡張機能を一切必要としません。数式ベースのソリューションに慣れている方や、即座に比較を行いたいシナリオに特に最適です。
制限事項:浮動小数点演算に依存する数式は、非常に高精度な小数値を扱う際に丸め誤差が生じ、予期しない結果をもたらす可能性があるため、十分ご注意ください。必ずいくつかの出力値を手動で確認し、ロジックがデータセットに適していることをご確認ください。
VBA マクロを使用して小数部を比較する
複数行にわたる小数の比較を自動化するには、特に大規模なデータセットを扱う場合や手作業なしでのバッチ処理が必要な場面で、VBA マクロが非常に効果的です。この VBA アプローチでは、小数部を抽出して行ごとに比較し、その結果をワークシートに直接出力することで、迅速なレビューまたはさらなる処理が可能になります。
適用可能なシナリオ:Excel マクロに慣れているユーザー、繰り返し小数の比較を行う場合、またはワークシートをすっきり保ちつつカスタマイズされたロジックやレポートが必要な場合に最適です。
1。Excel を開き、開発タブのVisual Basicをクリックします(「開発」タブが表示されていない場合は、Excel のオプションから有効にしてください)。VBA ウィンドウで、挿入メニューから標準モジュールをクリックし、新しいモジュールに次のコードを貼り付けます:
Sub CompareFlooredDecimals()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim valA As Double, valB As Double
Dim floorA As Double, floorB As Double
Dim resultCol As Long
Set ws = ActiveSheet
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
resultCol = 3 ' Output column (C)
For i = 1 To lastRow
valA = ws.Cells(i, 1).Value
valB = ws.Cells(i, 2).Value
floorA = Int(valA * 100) / 100
floorB = Int(valB * 100) / 100
If floorA = floorB Then
ws.Cells(i, resultCol).Value = 1
Else
ws.Cells(i, resultCol).Value = -1
End If
Next i
End Sub 2。「
実行」ボタンをクリックすると、マクロが実行されます。列 A と B の各対応する数値ペアに対して、結果(「1」または「-1」)が列 C に表示されます。
パラメーターの説明:このマクロは、列1(A)と列2(B)の数値の小数部を比較し、その結果を列3(C)に出力します。マクロを実行する前に、比較対象の数値が列 A と列 B に正しく入力されていることをご確認ください。出力先を別の列に変更したい場合は、resultCol = 3の数値を編集してください。大規模または重要なデータセットを処理する際は、VBA マクロを実行する前に必ずデータのバックアップを取ることを強く推奨します。
ヒント:安定した動作のため、最初の数行を必ず確認し、マクロの実行に影響を与える可能性のある空白セルや数値以外のデータ、不規則な書式設定がないかチェックしてください。エラーが発生した場合は、データ範囲が正しく設定されており、対象の列が数値として書式設定されていることをご確認ください。
メリット:完全自動化で高度なカスタマイズが可能。繰り返しの手作業を一切排除します。上級ユーザー向けで、数百〜数千行の大規模データ処理に最適です。小数桁数や丸め精度が異なっていても、Round 関数を使えば、必要な小数桁数まで簡単に比較できるようコードを調整できます。
テキストの抽出を使用して小数部を抽出する
2 つの数値を直接比較するのではなく、小数点以下の特定の桁を抽出したい場合、Kutools for Excel のテキストの抽出機能がシンプルで効率的なアプローチを提供します。これは、非標準的な数値形式を扱うときや、小数部を個別に表示・分析する必要があるときに特に役立ちます。
1。小数部を抽出したい数値が含まれる2 つの列を選択し、Kutools>テキスト>テキストの抽出に進みます。

2。「テキストの抽出」ダイアログボックスで、「テキスト」ボックスに.??を入力して小数点以下2 桁を抽出し、「追加」をクリックして抽出ルールを作成します。必要な小数桁数に応じてパターン(例:.???は3 桁の場合)を変更できます。
![]() | ![]() | ![]() |
3。「リストの抽出」セクションで、直前に追加したルールだけが選択されていることを確認し、「OK」をクリックしてください。
4。抽出結果の開始セルを選択して、「OK」をクリックすれば、抽出が完了します。


ヒント:テキストの抽出を使用して小数部を抽出した後にそれらを比較したい場合は、空白セルに次の数式を入力し、必要に応じて下方向にコピーしてください:
=IF((D1-E1)=0,1,-1) これにより、小数部が一致する場合は1、異なる場合は-1が表示されます。
![]() | ![]() | ![]() |
メリット:特定の小数桁を柔軟に分離でき、カスタマイズされた抽出や非標準的な数値データ形式の処理に最適です。
制限事項:本機能をご利用いただくには、Kutools for Excel のインストールが必要です。抽出は個別のプロセスとなるため、初めてご利用になる方は設定にややお時間がかかる場合があります。
デモ:Kutools for Excel を使用して小数部のみで2 つの数値を比較する方法
トラブルシューティングとおすすめの対処法:上記のいずれのソリューションをご利用になる場合も、数値の書式が一貫していること(テキストではなく数値であること)、および比較対象の列に桁区切り記号やその他の記号が混在していないことを必ずご確認ください。特に数式や VBA を使用する際は、予期しない結果が、見えない書式設定や空白セルに起因することがよくあります。余分なスペースを削除し、データ範囲が数式やマクロのロジックと正確に一致しているかをチェックしましょう。VBA を適用する前には必ずデータをバックアップし、数式エラー(例:#VALUE!)が発生した場合は、該当セルの値が数値であることを確認のうえ、必要に応じて参照を調整してください。
関連記事
- Excel で小数点より前の部分から先頭のゼロを削除するには、どうすればよいですか?
- Excel で小数時間/分を時刻形式に変換する方法は?
- Excel で10 進数を2 進数/8 進数/16 進数に変換する(またはその逆)方法は?
- Excel でランダムな小数や整数を生成するにはどうすればよいですか?
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。
Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします
- Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!
すべてのKutools アドインが、たった1 つのインストーラーで完結。
Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得






