Excel で既存のセル値に直接関数を適用する方法
Excel でデータを扱う際、新しい列に計算結果を表示するのではなく、既存のセル値そのものを処理したい場合があります。たとえば、負の数値を絶対値に変換したり、各数値の符号を取得したり、小数部分を切り捨てたり、あるいはその他の単一入力関数を指定した範囲に適用したいケースなどが該当します。Excel にはこうした処理に使える多くの組み込み関数が用意されていますが、既存のセル値に対してそれらを直接適用するコマンドは提供されていません。
本チュートリアルでは、Excel でこれを実現するための3 つの実用的な方法をご紹介します。まず、選択したセルを直接処理する VBA による方法を解説し、次にKutools for Excelの計算ツール機能でプロセスを簡単にできる方法を紹介します。最後に、マクロを使いたくないユーザー向けには、ヘルパー列を活用した回避策をご説明します。

VBA を使用して既存のセル値に関数を適用する
ヘルパー列を使わずに、すでに値が入力されているセルに直接関数を適用したい場合は、Excel のネイティブな方法として VBA が最適です。対象範囲を選択してマクロを実行すれば、各セルの内容を計算結果で自動的に置き換えることができます。
- 処理したい値が含まれるセル範囲を選択してください。
- VBA エディターを開くには、Alt + F11を押してください。
- VBA エディターで、挿入>標準モジュールをクリックして、新しいモジュールを挿入します。
- 適用したい関数に応じて、以下のマクロのいずれかをモジュールに貼り付けてください。
例1:選択したセルに ABS 関数を適用
Sub ApplyABSFunction() Dim c As Range For Each c In Selection If IsNumeric(c.Value) And Not IsEmpty(c.Value) Then c.Value = Abs(c.Value) End If Next c End Sub例2:選択したセルに SIGN 関数を適用
Sub ApplySIGNFunction() Dim c As Range For Each c In Selection If IsNumeric(c.Value) And Not IsEmpty(c.Value) Then c.Value = Sgn(c.Value) End If Next c End Sub - マクロを実行するには、F5キーを押してください。
選択したセルは、即座に計算結果で更新されます。

注意事項:
- この方法は元の値を直接変更するため、マクロを実行する前に必ずデータをバックアップすることをおすすめします。
- 5 行目の
AbsまたはSgnは、必要に応じて他の単一引数の VBA 関数(例:Int、Exp、Sin、またはCos)に置き換えることができます。ただし、一部の関数には入力制限があるためご注意ください。たとえば、Sqrは非負数でのみ動作します。
メリット
- アドイン不要でExcel に組み込み済み
- 既存のセル値をその場で直接処理可能
- さまざまな関数やカスタムロジックに対応し柔軟
デメリット
- マクロ実行後は変更を元に戻せません
- VBA の知識が必要
- 一部の環境ではマクロが無効になる場合があります
- 日常ユーザーにはやや不便
Kutools for Excel を使用して既存のセル値に関数を適用する
すでに値が入力されているセルに直接関数を適用するより迅速で簡単な方法をお探しですか?Kutools for Excelの計算ツール機能が、そのお悩みをスマートに解決します。この機能を使えば、数式や VBA コードを記述することなく、関数を選び、選択したすべてのセルにワンクリックで適用できます。
- 処理したい値を含むセルを選択します。
- 次に進むには、Kutools > 操作 をクリックしてください。

- 計算ツールダイアログボックスで、左側のペインから関数をクリックしてください。
- ドロップダウンリストから適用したい関数(例:ABS)を選択します。その後、プレビューウインドウで結果をプレビューできます。
ヒント:既存の値を直接置き換えるのではなく、代わりに数式を挿入したい場合は、数式を作成オプションをオンにします。するとKutools は選択したセルに数式を入力し、各セルの現在の値を関数の引数として使用します(例:=ABS(33))。 - 選択したセルを処理するには、OKまたは適用をクリックしてください。

計算ツールの関数オプションには、ABS、SIGN、INT、SQRT、SIN、COS、TAN、DAY、MONTH、およびYEARなど、よく使う単一入力関数が多数含まれており、手動で数式を入力することなく、既存のセル値を一括で簡単に処理できます。
メリット
- 選択したセルに直接関数を適用
- 元に戻す(Undo)をサポート
- VBA や手動設定は不要
- 結果を適用する前にプレビュー表示あり
- 高速で初心者にも使いやすい
デメリット
- Kutools for Excel のインストールが必要
Kutools for Excel—Excel 用の必須ツールを300 種類以上搭載!作業がより迅速に、簡単に、そして効率的に。今すぐダウンロード!
回避策:ヘルパー列を使用して関数を適用する
VBA を使わず、Kutools も使えない場合は、ヘルパー列を活用するのが最も実用的なワークシートベースの回避策です。この方法では、元のセルを直接変更するのではなく、まず別の列で結果を計算し、元の値を置き換える前にその結果を確認できます。
- データの隣にある空の列に、範囲内の最初のセルを基にした数式を入力します。例:
- ABS の場合:
=ABS(A2) - SIGN の場合:
=SIGN(A2) - INT の場合:
=INT(A2)
- ABS の場合:
- 最初の行の結果を表示するには、Enterキーを押してください。
- フィルハンドルを下にドラッグして、ヘルパー列の残りのセルにも同じ数式を適用しましょう。

- (オプション:データが複数列にわたる場合)フィルハンドルを右にドラッグして、数式を範囲全体に適用します。

- 元の値を置き換えるには、ヘルパー列の結果をコピーし、特殊貼り付けの値を使って元のセルに貼り付けてください。

注意:
この方法では、既存のセルに直接1 ステップで関数を適用するのではなく、まず別の列で結果を計算します。そのため、元の値を上書きする前に出力を確認でき、非常に便利です。
メリット
- アドインやマクロは不要
- ほとんどのExcel ユーザーが簡単に利用可能
- 元の値を置き換える前に結果を確認可能
デメリット
- 追加のワークシート領域が必要
- その場での直接処理方式ではない
- 元の値を置き換えたい場合は、追加のコピー&ペースト操作が必要
どの方法が最も適していますか?
| 方法 | 最適なユーザー | 制限事項 |
|---|---|---|
| VBA | 既存の値をその場で直接処理するためのネイティブなExcel 手法を求めるユーザー | マクロとある程度の VBA 知識が必要 |
| Kutools for Excel | 選択したセルに関数を簡単に素早く適用したいユーザー | Kutools for Excel が必要 ダウンロード |
| ヘルパー列 | VBA を使わず数式ベースのワークシート手法を好むユーザー | その場での直接処理方式ではなく、追加の手順が必要 |
まとめ
セルにすでに値が入力されている場合、Excel にはそれらの値に直接関数を適用するシンプルな組み込みコマンドが用意されていません。ネイティブな選択肢は VBA の使用ですが、これは効果的ではあるものの、多くのユーザーにとっては技術的すぎると感じられるかもしれません。
より簡単なソリューションをお探しの方には、Kutools for Excel がおすすめです。ABS、SIGN、INTなどの関数を、数式や VBA を記述することなく選択したセルに直接適用できます。さらに、既存の値を即座に上書きする代わりに、数式として挿入することも選べます。
標準のワークシートツールのみを使用したい場合は、ヘルパー列の利用が実用的な回避策となりますが、追加の手順が必要であり、最初は元のセルを直接更新しません。
本チュートリアルがお役に立てたことを願っています!さらに多くのExcel のヒントや実用的なソリューションをご覧になりたい方は、こちらをクリックしてください。Excel チュートリアルの全コレクションをご覧いただけます。
最高の Office 業務効率化ツール
Kutools for Excel - あなたを群衆の中から際立たせます
| 🤖 | KUTOOLS AI アシスト:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気機能:検索、ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー VLookup:複数条件 | 複数値 | 複数シート間 | ファジーマッチ... | |
| 高度なドロップダウンリスト:簡単なドロップダウンリスト | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト... | |
| 列マネージャー:指定した数の列を追加 | 列の移動 | 非表示列の表示状態を切り替え |列を比較して同じ/異なるセルを選択... | |
| 注目の機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブックとシートマネージャー|リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除...)| 50+チャートタイプ(ガントチャート...)| 40+実用的な数式(誕生日に基づいて年齢を計算します...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入...)| 12 変換ツール(単語に変換する、為替レートの変換...)| 7 結合と分割ツール(高度な行のマージ、Excel セルを分割...)|。。。他にも多数 |
Kutools for Excel は300 以上の機能を搭載しており、必要なものが常にワンクリックで利用できます…
Office Tab - Microsoft Office(Excel を含む)でタブを使った閲覧・編集を有効化
- 開いている数十のドキュメントを1 秒でサッと切り替えられます!
- 毎日何百回ものマウスクリックを削減して、マウス手の悩みともさよならしましょう。
- 複数のドキュメントを表示・編集する際の生産性が50%も向上します。
- Office(Excel を含む)に効率的な Tabs をもたらします。Chrome、Edge、Firefox と同様です。




