【業務効率化】エンジニアが業務でよく使うVBA・エクセル関数

Programming
スポンサーリンク

こんにちは、しょうぞうです。

本日は、業務で使用したエクセルの関数やVBAを忘れないように書き残しておきたいと思います。

おそらくですが、エンジニアの業務で使用する関数は結構似通ってきます。
特定の文字列と比較したり、検索したり、置換したり等々
自分のために備忘録として書いていますが、もし自分の業務にも活かせるものがあったら使ってみてください!

エクセルのおかげでかなり業務が効率化できたのでおすすめです!

スポンサーリンク

VBA

ファイルを読み込んで、特定の文字列を置換する

今回の業務でファイルを読み込んで、そのファイルの中の特定の文字列を置換する作業があったのですが、このマクロのおかげでかなり時間を短縮することができました。
置換作業は今後もありそうなので、残しておきたいです。

With reg
.Pattern = “パターンを指定” ‘パターンを指定
.IgnoreCase = True ‘大文字と小文字を区別しない
.Global = True ‘文字列全体を繰り返し検索
End With

上記の.Patternは正規表現を使用してパターンを指定するのですが、自分の置換したい部分を正規表現で表現するのが結構難しかったです。
正規表現は様々な場面で利用することがあるので勉強になりました。

また、複雑な置換をする場合はマクロで全部やるのではなく、エクセル関数で一つ一つ確認しながら最後のファイル書き込みだけマクロを使うなど併用すると良いと思いました。
置換途中の状況もエクセル上だと見やすいですし。

全シートのカーソルをA1に当てる

全てのシートのセルA1をセレクトした状態で、提出するとかいうよくわからない文化があるのですが、それがめんどくさいので作成しました。
たしかに見やすいけど、シート数が増えてきたら大変ですよね・・・
途中からやらなくても特に何も言われなかったし。

画像のサイズを同じサイズにする

エビデンスをとるときに重宝しました。

スポンサーリンク

エクセル関数

関数はいちいち書いてたらきりがないので、特に印象に残った関数をあげておきます。
vlookup関数で検索したり、countif関数で特定の文字を数えたりするのは日常茶飯事なので割愛しておきます。

substitute関数

substitute関数は、本当に便利でした
find関数と併用して以下のように特定の文字列を逆から検索して位置を取得することもできます

例)aa-bbccの場合、bbのあとのハイフンの位置を取得してくる
=FIND(“●”, SUBSTITUTE(A2, “-“, “●”, LEN(A2) – LEN(SUBSTITUTE(A2, “-“, “”))))

find関数

mid関数と併用して、特定の文字列から特定の文字列の間を抜き取る際に活躍してました。
またfind関数を連続して、使用することで特定の文字列が複数あった場合に開始位置をずらすこともできました。

2番目の-の開始位置を取得したい場合
=FIND(“-“, A1, FIND(“-“, A1)+1)

column関数

これはちょっと特殊なのですが、連続するテストデータを作成したいと思ったときにこの方法を使いました。

1 12 123 1234 12345 123456 1234567のような連続した全角文字のテストデータを作成する
A2セルの表示形式を文字列にして全角の1を入力し、B2セルに以下の式を入力してフィルコピーする
=A2&JIS(MOD(COLUMN(B1),10))

まとめ

今回は、業務で使用したマクロや関数を備忘録として書きました。
マクロも一種のプログラミングなので、やっていて楽しかったです。
Twitterを見ていると、なぜかエクセルは毛嫌いされてるような印象をうけますが業務効率化の道具として知っておいて損はないと思いました。

コメント

タイトルとURLをコピーしました