この記事はEXCELで複雑な処理をしたい方向けの記事です。
・関数を使って自動計算するのか
・マクロを使って自動計算するのか
どっちを使ったほうがいいのか判断基準を記載しています。
まずは関数を使おう!
EXCELのいいところは、
・標準でインストールされていてお金がかからない
・関数やマクロを使うと複雑な処理もできる
などの利点があります。
ある複雑な処理をする場合、
・関数を使って複雑な処理をするか?
・マクロを使って複雑な処理をするか?
どっちを使うのがいいのか考えたことありますか?
簡単な例として、
「セルのA1からA10までのセルの合計をセルD10に表示する」
という処理で考えてみます。
もちろん、関数でもマクロでもどちらでも同じ結果を得ることができます。
でも、間違いなく、SUM関数を使いますね?
それは、
関数の場合、マクロと違ってプログラミングしなくてもいい
からですよね。
では、次に
「セルのA1からA10まで偶数行のセルの合計をセルD10に表示する」
となったときはどうでしょうか?
実はこれも関数を組み合わせることで計算することができます。
※気になる方はインターネットで検索してみてください。
「マクロではないと無理かな?」
と思うものでも、関数を組み合わせることで解決することがあります。
1つのセルに関数を組み合わせて入力すると、式がわかりにくくなりがちです。
「エラーが出ているから式を確認しよう!」
「式が長すぎてよくわからない?」
といった感じに。こんなときは、ステップを区分しましょう!
後からみたときにわかりやすくなります。
例えば、A列にデータがある場合
①A列の値を使って1つ目の関数で処理
②①の結果をB列に
③②の結果を使って2つ目の関数で処理
④③の結果をC列に
こうすることで、1つのセルの式が短くなります。
なので、エラーが起きている箇所も特定しやすくなります。
関数でできないことは?
関数を組み合わせることで大概のことができそうです。
しかし、次のようなことは関数ではできません。
(または、むいていません。)
・関数の処理を複数回繰り返す
・結果を得るまでにステップが非常に多い
・ほかのブックやシートを操作する など
関数とはよくいったもので、
y=f(x)という数式のように、
xという入力値に対して
yという結果を返すものなんです。
・x自体を書きかえる
・y=f(x)という処理を複数回繰り返す
・ほかのブックやシートを操作する
ということはできそうにないですよね?
なので、上記の例のような場合は素直にマクロを作りましょう!
関数を使うとこんな特典も!
関数の場合、マクロと違ってプログラミングしなくてもいい
これは大きな利点です。
しかし、これ以外にも大きな利点があります。
それは、
圧倒的に処理速度が速い
ということなんです。
マクロを作って、いざ実行します。
すると、
「すごく処理が遅くていらいらする」
なんてことありませんか?
・特にデータ件数が多い場合
・処理のステップが多い場合
などに起こりがちです。
いくつか対処方法はありますが、
その一つが
関数を使う
ということなんです。
マクロの中でも
を使うと、関数を使うことができます。
自分でマクロを作ってみたけど、処理が遅くて。。
という方はぜひ試してみてください。
最後にまとめると次のようになります。
関数でできないことを把握したうえで、
②関数でできないものはマクロを作る