【できるEXCELマクロ&VBA】IT外資系コンサル御用達のエクセル・スキルへの道
こんにちは、ペンギン男です🐧
少し前に表計算ソフト、特にグラフ化に強みをもつ別会社開発のソフトに押され気味なイメージもありましたが、やはり、そこはマイクロソフトさん。きっちり、巻き返された感あります。
以前はマクロとして親しまれ、今はマクロを機能改善したVBA(Visual Basic for Applications)という名称プログラミング言語も依然、健在です。
自分自身でも、エクセルの関数は面倒な記憶しか有りませんが、大量のデータを時短で活用するには、やはり無視できないツールかと、改めて思います。特に、外資のコンサル系では、当面、必須かと。
できるExcel マクロ&VBA 作業の効率化&スピードアップに役立つ本 2016/2013/2010/2007対応 できるシリーズ
- 作者: 小舘由典,できるシリーズ編集部
- 出版社/メーカー: インプレス
- 発売日: 2016/02/19
- メディア: Kindle版
- この商品を含むブログを見る
出典はアマゾンさん。
(ページネーションはkindleでの表記に従います)
念のため、マクロとはなにか
No.17〜
- 記録した操作内容を再現できる
- 複雑な操作を正確に実行できる
- 時間のかかる操作を自動化できる
ほぼ、プログラミング上のソースコードと同じですね。さらにエクセル上での操作なので、計算が専らですね。
なお、予想されたことですが、この後、ほとんど、マクロの設定方法に関する丁寧なケーススタディです。例えば、
- データ抽出↓
- データ加工↓
- グラフ作成
などのケースを取り上げられています。また、複数のマクロを組み合わせたりとかの、合わせ技も紹介されています。
IT系の外資系コンサルタントなんかで、こうしたエクセルやマクロを駆使されている例を目の当たりにしました。「マクロ」というと、「プログラミング」に比べて、格下なイメージありした。しかしながら、マクロもプログラミングも両方ともほんの少しながら、かじった経験から言えば、ほとんど同格なイメージあります。
VBAとは
No.85
VBAとは「Visual for Basic Applications」の略で、excelなどOffice製品の操作を自動化するためのマイクロソフトのプログラミング言語です。
言い方として厳密には正確さを欠くかもしれませんが、VBAとは、マイクロソフト限定の、マクロの進化版のようです。
VBAの進化した部分
No.86
- 繰り返し処理が可能
- 指定した条件による処理の変更
Javaで言えば、
- 「while」文で繰り返しを実行したり
- 「if」文で、条件毎の設定を変更したり
する機能もVBAで出来るのですね。
No.180(「↓」は本書には出てこない)
If 条件1 Then ↓
処理1↓
Elseif 条件2 Then↓
処理2↓
End if 処理3
流れとしては
- 条件1なら→処理1が実行され
- 条件2なら→処理2が実行され
- それ以外なら→とにかく処理3
になります。ここらあたりは、かなりJavaに似てます。
印象的なエクセル関数VLOOKUP
私がよく使ったのは、vlookupですね。あとは、ツールバーでいろんな関数を使いましたが、ちょっと失念💦
ちなみに、vlookupは、表を縦方向に検索して、ある指定された値を取り出す関数ですが、細かくは、関連記事を如何に引用しますので参照ください。実務方の人には、やたらと役に立つ関数です😊
エクセル技は職人芸
私はあまり得意でなかったのですが、とにかく、職人芸のイメージ。役には立ちますが、深入りするには、それなりの手数は必要か、と。個人的なイメージでは、通常のプログラミングより、職人的な感じがします。通常のプログラミングと比べて難易度の優劣はあまりないとは思いますが、恐らくは表計算に特化した言語だからでしょう。ある特定の分野に限定した、職人芸感が強いです。
とはいえ、計算はどんな場合でも必要だし、エクセルも広く使われています。その意味では「ある特定の分野に限定した」という表現も矛盾しているような気がしてしまいます。ただ、素朴に「特定の分野に限定した」感を強く受けてしまうというのが、正直なところです。
#if
#繰り返し
#指定した条件による処理の変更
#IT外資系コンサル
#エクセル