エクセル 計算式を一気に変更するには 2
以前の記事 エクセル 計算式を一気に変更するには でご紹介した方法ですが,さらに少し工夫してみるともう少し応用が利きます。
基本的な文法が異なっていてもOKです。
以下,前回の記事をもとに改変していきます。
Ctrl + h の活用
例えば、次のシートのような場合です。
色付けしたデータごとに合計を求めています。
本来なら、データ構造としてこのような仕様にすべきではないのかもしれませんが、ここはサンプルということでご容赦ください。
- E4 セル =SUM(D2:D4)
- E8 セル =SUM(D5:D8)
- E16 セル =SUM(D9:D16)
それでは,例えば E列の SUM関数をLARGE関数に変えてみましょう。
こういう時は、まず該当のセルがあるE列をマウスで選択します。(セルだけをクリックしても構いません)
そして次に、「Ctrl + h」を押します。
そうすると、「検索と置換」の画面になります。つまり、関数を他の関数で置換してしまおうという発想です。
しかし,今回のLARGE関数は,
=LARGE(配列,順位)
という書式になっています。
LARGE関数は
「データの中から指定した順位番目に大きいものを返します」
今回は,
=LARGE(配列,2)
として範囲の中で2番目に大きいデータを表示させることにします。
しかし,SUM関数は
=SUM(範囲) や =SUM(数値1,数値2,…)
という書式なので,中身が違いますね。
これを次のように,単純に「SUM」を「LARGE」に置き換えても,当然ですがエラーになります。
(注:関数の書式が一致していればこの方法でも大丈夫です)
そこで,次のようにしてみます。
STEP1
対象の文字を
「=SUM」
とします。そして,置換する文字を
「O=LARGE」
と,例えば「O」を前につけてしまいましょう。
「=SUM」⇒「O=LARGE」
のように置換します。
注:置換後に,数式ではなく文字列とすることが狙いです。
なので,「O」でなくとも何でもいいのですが,
「*」や「’」などは避けてください。
そして,「すべて置換(A)」をクリックしましょう。
これで数式ではなく,文字列扱いになるのでエラーは出ません。
該当のセルは一瞬で「=SUM」から「O=LARGE」へ置き換わります。
STEP2
次に,「O=LARGE(●●)」の最後の「)」に注目して,
「)」⇒「,2)」として置換を行います。
すると,各セルは
「O=LARGE(●●,2)」
となります。
STEP3
最後に,
「O=」⇒「=」
として置換します。
これでめでたく,各セルの数式を
「=LARGE(●●,2)」
と,変換することができました。
ちょっと面倒ですが,できないことはない…というところですね。
たまに重宝することもあります。
前の記事はこちら