ザ・庶務課 支払い管理簿と単票管理を楽にするために、以下のような管理エクセルを作りました。
マクロは不要。なぜならあんまりわからないから。
以下の体系でエクセルを作る。
①管理簿(1シート)
②単票シート(Nシート)
①で管理番号を採番し、タイトルや金額、誰に支払うか勘定科目コードを登録
②単票シートのシート名を管理番号と同じにする。
③シート名として登録された管理番号をキーとして、管理簿に記述してあるタイトル、金額、あて先、勘定科目コードをVlookup関数で参照しフォームの各セルに表示させる。
さて。ここで②から③の部分で問題になるのは、
Vlookup("①検索したい値","②検索範囲","何列目を表示するか",False(完全一致検索))
の①の部分!
もちろん検索したい値はこの場合、管理番号になるのだけど、
シート名をどうやって参照するのか。
そこで見つけたのはこの関数。
=MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,31)
これで、ファイル名の]の次の文字列から31バイト(シート名の最大文字数)、
つまりシート名を切り取って任意のセルに表示してくれます。
そういえば、なぜエクセルのシート名の最大文字数が31なのか?
この理由は、なんとMid関数の制約と関係があるそうです。
文字数をシート名の最大文字数31としているのは、MID関数の”開始位置” が文字列 の文字数より小さく、開始位置 と文字数の和が文字列の文字数を超える場合、開始位置から文字列の最後までの文字が返されるからです。
Mid関数やCell関数、シート名の参照については下記のウェブサイトが具体的。
http://www2.odn.ne.jp/excel/waza/sheet.html
とりあえず、これで楽チン管理簿&単票作成エクセル完成。
管理簿を参照することによって
①作る手間が省ける
②修正が必要なときに、管理簿を修正すれば単票も修正される
というメリットがあります。
0 件のコメント:
コメントを投稿