KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel で既存のセル値に直接関数を適用する方法

著者Amanda Li変更日

Excel でデータを扱う際、新しい列に計算結果を表示するのではなく、既存のセル値そのものを処理したい場合があります。たとえば、負の数値を絶対値に変換したり、各数値の符号を取得したり、小数部分を切り捨てたり、あるいはその他の単一入力関数を指定した範囲に適用したいケースなどが該当します。Excel にはこうした処理に使える多くの組み込み関数が用意されていますが、既存のセル値に対してそれらを直接適用するコマンドは提供されていません。

本チュートリアルでは、Excel でこれを実現するための3 つの実用的な方法をご紹介します。まず、選択したセルを直接処理する VBA による方法を解説し、次にKutools for Excel計算ツール機能でプロセスを簡単にできる方法を紹介します。最後に、マクロを使いたくないユーザー向けには、ヘルパー列を活用した回避策をご説明します。

Excel の既存のセル値に適用された関数

VBA を使用して既存のセル値に関数を適用する

ヘルパー列を使わずに、すでに値が入力されているセルに直接関数を適用したい場合は、Excel のネイティブな方法として VBA が最適です。対象範囲を選択してマクロを実行すれば、各セルの内容を計算結果で自動的に置き換えることができます。

⚠️ ヒント:VBA コードを実行する前に、必ずワークシートのバックアップを取ってください。
  1. 処理したい値が含まれるセル範囲を選択してください。
  2. VBA エディターを開くには、Alt + F11を押してください。
  3. VBA エディターで、挿入標準モジュールをクリックして、新しいモジュールを挿入します。
  4. 適用したい関数に応じて、以下のマクロのいずれかをモジュールに貼り付けてください。

    例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
  5. マクロを実行するには、F5キーを押してください。

選択したセルは、即座に計算結果で更新されます。

Excel の既存のセル値に適用された関数

注意事項:

  • この方法は元の値を直接変更するため、マクロを実行する前に必ずデータをバックアップすることをおすすめします。
  • 5 行目のAbsまたはSgnは、必要に応じて他の単一引数の VBA 関数(例:IntExpSin、またはCos)に置き換えることができます。ただし、一部の関数には入力制限があるためご注意ください。たとえば、Sqrは非負数でのみ動作します。

メリット

  • アドイン不要でExcel に組み込み済み
  • 既存のセル値をその場で直接処理可能
  • さまざまな関数やカスタムロジックに対応し柔軟

デメリット

  • マクロ実行後は変更を元に戻せません
  • VBA の知識が必要
  • 一部の環境ではマクロが無効になる場合があります
  • 日常ユーザーにはやや不便

Kutools for Excel を使用して既存のセル値に関数を適用する

すでに値が入力されているセルに直接関数を適用するより迅速で簡単な方法をお探しですか?Kutools for Excel計算ツール機能が、そのお悩みをスマートに解決します。この機能を使えば、数式や VBA コードを記述することなく、関数を選び、選択したすべてのセルにワンクリックで適用できます。

Kutools for Excelは複雑なタスクを効率化する高度な機能を300 個以上提供し、創造性と効率性を高めます。AI 機能を統合したKutools は正確にタスクを自動化し、データ管理を簡単に行えるようにします。Kutools for Excel の詳細。。。         無料トライアル。。。
  1. 処理したい値を含むセルを選択します。
  2. 次に進むには、Kutools > 操作 をクリックしてください。
    Kutools for Excel で操作ツールを開く
  3. 計算ツールダイアログボックスで、左側のペインから関数をクリックしてください。
  4. ドロップダウンリストから適用したい関数(例:ABS)を選択します。その後、プレビューウインドウで結果をプレビューできます。
    操作ツールで関数を選択し、結果をプレビュー
    ヒント:既存の値を直接置き換えるのではなく、代わりに数式を挿入したい場合は、数式を作成オプションをオンにします。するとKutools は選択したセルに数式を入力し、各セルの現在の値を関数の引数として使用します(例:=ABS(33))。
  5. 選択したセルを処理するには、OKまたは適用をクリックしてください。
    Kutools for Excel を使用して既存のセル値に適用された関数

計算ツールの関数オプションには、ABSSIGNINTSQRTSINCOSTANDAYMONTH、およびYEARなど、よく使う単一入力関数が多数含まれており、手動で数式を入力することなく、既存のセル値を一括で簡単に処理できます。

メリット

  • 選択したセルに直接関数を適用
  • 元に戻す(Undo)をサポート
  • VBA や手動設定は不要
  • 結果を適用する前にプレビュー表示あり
  • 高速で初心者にも使いやすい

デメリット

  • Kutools for Excel のインストールが必要

Kutools for Excel—Excel 用の必須ツールを300 種類以上搭載!作業がより迅速に、簡単に、そして効率的に。今すぐダウンロード!


回避策:ヘルパー列を使用して関数を適用する

VBA を使わず、Kutools も使えない場合は、ヘルパー列を活用するのが最も実用的なワークシートベースの回避策です。この方法では、元のセルを直接変更するのではなく、まず別の列で結果を計算し、元の値を置き換える前にその結果を確認できます。

  1. データの隣にある空の列に、範囲内の最初のセルを基にした数式を入力します。例:
    • ABS の場合:
      =ABS(A2)
    • SIGN の場合:
      =SIGN(A2)
    • INT の場合:
      =INT(A2)
  2. 最初の行の結果を表示するには、Enterキーを押してください。
  3. フィルハンドルを下にドラッグして、ヘルパー列の残りのセルにも同じ数式を適用しましょう。
    Excel でヘルパー列を使用して既存の値に関数を適用
  4. (オプション:データが複数列にわたる場合)フィルハンドルを右にドラッグして、数式を範囲全体に適用します。
    フィルハンドルを右にドラッグして、数式を範囲全体に適用
  5. 元の値を置き換えるには、ヘルパー列の結果をコピーし、特殊貼り付けを使って元のセルに貼り付けてください。
    貼り付けオプションの「値」オプション

注意:

この方法では、既存のセルに直接1 ステップで関数を適用するのではなく、まず別の列で結果を計算します。そのため、元の値を上書きする前に出力を確認でき、非常に便利です。

メリット

  • アドインやマクロは不要
  • ほとんどのExcel ユーザーが簡単に利用可能
  • 元の値を置き換える前に結果を確認可能

デメリット

  • 追加のワークシート領域が必要
  • その場での直接処理方式ではない
  • 元の値を置き換えたい場合は、追加のコピー&ペースト操作が必要

どの方法が最も適していますか?

方法最適なユーザー制限事項
VBA既存の値をその場で直接処理するためのネイティブなExcel 手法を求めるユーザーマクロとある程度の VBA 知識が必要
Kutools for Excel選択したセルに関数を簡単に素早く適用したいユーザーKutools for Excel が必要
ダウンロード
ヘルパー列VBA を使わず数式ベースのワークシート手法を好むユーザーその場での直接処理方式ではなく、追加の手順が必要

まとめ

セルにすでに値が入力されている場合、Excel にはそれらの値に直接関数を適用するシンプルな組み込みコマンドが用意されていません。ネイティブな選択肢は VBA の使用ですが、これは効果的ではあるものの、多くのユーザーにとっては技術的すぎると感じられるかもしれません。

より簡単なソリューションをお探しの方には、Kutools for Excel がおすすめです。ABSSIGNINTなどの関数を、数式や VBA を記述することなく選択したセルに直接適用できます。さらに、既存の値を即座に上書きする代わりに、数式として挿入することも選べます。

標準のワークシートツールのみを使用したい場合は、ヘルパー列の利用が実用的な回避策となりますが、追加の手順が必要であり、最初は元のセルを直接更新しません。

本チュートリアルがお役に立てたことを願っています!さらに多くのExcel のヒントや実用的なソリューションをご覧になりたい方は、こちらをクリックしてください。Excel チュートリアルの全コレクションをご覧いただけます。