自作関数を使うと「ハッピーな業務」になるのか

自作関数でExcel作業を「超」効率化できるか

Excelには十分すぎるほどの機能がありますが、更にはその上をいく機能もあります。その一つが自作関数です。
SUM、IF、COUNT等の関数のほかに、自分自身で作ることができる関数もあります。
それが自作関数です。
ここでは、「自作関数で何ができるのか」を元にサンプルを作りました。

関数を超える関数があるのか!?・・
関数を超える関数はあるのか!!

自作関数が実際の業務に「どのように貢献できるのか」や、「この業務ではこのような関数があるといい」等と考えるきっかけとなれば幸いです。


そもそも自作関数って何?

自作関数とは「○○ができるオリジナルの関数」です。この「○○」の部分がとても重要で、実際には、「あると便利」と思える機能を当てはめます。すなわちこの機能「○○」を自分で作る(プログラムする)ということになります。
こうすることで、「かゆいところに手が届く」機能(関数)を手に入れることができます。
そしてあるいは、「関数の中に関数」といったネストしまくりのような複雑な関数組み合わせを簡素化することもできます。
なお、自作関数のことをExcelでは、「ユーザー定義(関数)」と呼んでいます。

自作関数に興味を持った方、本ページのサンプル関数をコピーできます

ここで提示している自作関数は(関連サイトで)コピーして使えるようになっています。
下記の関数は、いずれもシンプルなプログラムになっていますし、ほんの数行で動いている自作関数もあります。
興味ある方はお試しください。詳しくは下記の関連ページをご覧ください。
(本自作関数ご利用はご自身の責任の範囲内でお願いします。弊社では一切の責任を負いませんので予めご了承願います)

自作関数も他の関数と同じように使える

自作した関数は、Excelの他の関数(SUM、IF等)と同じように使うことができます。
ネストすることもできるし、配列数式として使うこともできます。
そのため、自作関数を使う側にとっては、他の関数を使うことと大きな差異はありませんし、使い方もやはり他の関数同様に「この関数の引数は何を入れるんだ?」みたいな感覚で設定するイメージです。
自作関数は通常のファイルのように扱える


「無いのなら、作ってしまおう、関数を!」・・・自作関数例の紹介

ここでは、「あると便利」と思える関数を作りました。
ここで提示した自作関数に興味を持った方は下記の関連ページをご覧ください。そして実際の業務に更に役立つように改造(カスタマイズ)して使ってもらえればと思います。

ファイルを検索(有無をチェック)する自作関数

最初に挙げるのは、ファイルを検索する関数です。弊社の知る限りファイルの有無をチェックする関数はExcelにはありません。
この関数では、引数に「検索場所」、「ファイル名」を指定すると、自動的にそのファイルがあるのかどうか(存在有無)を判定します。
ファイル検索の自作関数

通常の関数のようにセルを設定

自作関数の結果が表示

通常の関数と同じように自作関数もコピーすることができます。
通常のセルコピーで自作関数もコピーできる
この関数が、「あると便利」と思えるような作業として、Excelシートに「画像のファイル名」を入れている等が考えられます。シートに入力されている画像ファイル名が実際にあるのかどうか、といった状況で効果が期待できますね。

ちなみにこの関数の面白いところは「ワイルドカード」が使えることです。
ファイル検索の自作関数はワイルドカードも使うことができる

読点を<BR>タグに変える自作関数

この関数は、セルに入力されている文字列の読点「。」があれば、「。<br />」に置換する関数です。
読点を探してBRタグを入れる

BRタグを入れる独自関数の設定の途中

BRタグが入っているか確認
この自作関数は、例えばExcelでホームページのデータ(商品等)を管理している場合等で役に立つことが期待できます。
気づいた方もいらっしゃるかもしれませんが、自作関数を少しいじれば、<LI>、<TD>(これらの場合は各文章の先頭)にすることもできます。
興味ある方はサンプルコードをいじってみてください。

重複した値で「グループ化した後の件数」を数える自作関数

こちらはイメージ的にはオートフィルタで表示されるリスト一覧の「項目の数」です。
この関数は、単純なデータ件数ではなく、同じ値が複数ある場合は、それをまとめて(グループ化後)「1」として、カウントする関数です。
グループ化した後の件数を数えたい

指定範囲のグループ化後の件数を求める自作関数

数えたい件数のイメージはこんな感じです。
グループ化の意味

グループ化後の件数を自作関数で設定する

グループ化後の件数が求められたところ
セル範囲を決めるだけで、グループ化後の件数をカウントします。

1つのセルのデータを分割する自作関数

よくアンケートの回答の入力等で、複数回答があったときにカンマ(半角または全角)を区切り文字として1つのセルに複数の回答を入れる場合が見受けられます。
「アンケートの集計」という点からは、このようなセルへの入力が望ましくない時があります。こういった際に、この関数は効果を発揮します。
セルに入っている文字を複数のセルに分けて表示します。
1個のセルに入っている文字を分解したい

なお、この関数は、「(分割後のデータを)複数のセルに返し」ます。そのため、関数を入れるときには、「配列数式(CTRLキー + SHIFTキー + ENTERキー)」の形を持っています。
そのため、関数の結果が表示されるのはセル1個ではなく、セルが複数個必要になります。予め複数選択した状態で自作関数を入れます。
関数の戻り値が複数セルなのでセルを複数選択しておく

関数の設定方法自体は同じですね。
複数のセルを選択後の操作は同じ

後述しますが、ここでは使い勝手をよくするために「区切り文字」が何かを「手(動)入力」しています。
区切り文字はユーザ側で決める

配列数式の場合は数式バーの値の表示の仕方が通常のそれとは異なる

注意する点としては、事前に選択するセルの数と、カンマ区切りで展開される文字列の数を考慮する必要があります。
(こういった点も必要に応じて修正できます。何せ「自作」ですからね)
複数のセルに文字を分解できた

この自作関数では、「区切り文字」を自分(入力者)が決めるような仕様にしています。
区切り文字は何でも良いので使い勝手が良くなります。
区切り文字は任意の文字で対応できる

自作関数を検討すべきかどうか

いかがでしたでしょうか?
ここで挙げたのは自作関数の例です。自作関数には、「こういう使い方もあるんだ」という見方をしてもらえればと思いますし、実際の業務でどのようなメリットを出すかは、自作の内容次第です。
自作関数の本体は、プログラムです。プログラム自体に間違いがなければ、常に正しい結果を出してくれます。これは精度の問題からも非常に安心できます。
またSUM関数などと同様に、自作関数もセルに設定すればすぐに結果が表示されます。

こういったことを考えると、自作関数が必要かどうかという部分で下記のことが考えられます。
現在の作業にどれくらい時間を費やしているのか?(何人のスタッフが何日、何時間稼働しているのか)」、「間違い(内容)確認にどれくらい時間を要しているか」等を考慮するとよろしいかと思います。
ここでの自作関数は下記の関連ページから確認できますので、興味ある方はぜひお試しください。あるいはもっと自社業務に即した関数が欲しいという場合、弊社では代行して作成する業務も行っておりますのでお気軽にお問い合わせください。

弊社作成の自作関数ご利用の注意点

繰り返しますが、別途ページで弊社から提示している自作関数は、本ページの説明の便宜上、最低限の構成で作成している点と、ご利用のPC等で問題等が発生しても一切の責任を負いません。もし試される場合は、テスト用のExcelファイルなどを用意することをお勧めいたします。

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