Excelで業務改善・効率化

Excelで業務改善・効率化

上場企業経理マン歴8年です。
27歳でExcelに目覚めて以来、Excelが最も重要な業務スキルである事に気付かされました。
このブログでは市販の参考書では得られない実務者の立場から具体的な業務効率化テクニックを紹介すると共にホワイトカラーの未来を考えて行きます。

Amebaでブログを始めよう!

変数とは、その名前の通り、『変化する数』で、『値を格納するための箱』です。

そして、その箱は原則として、値を格納する度に上書きされます。


VBAは箱である変数に値を代入し、上書きを繰り返す事でプログラムを進めて行きます。


変数には自由に名前を設定出来ます。


そして、変数である箱を使うには、まず宣言をしなくてはなりません。

構文は『Dim 変数名 as 変数の型』です。


下記は『今の変数の値は1です。』に始まり、『今の変数の値は99です。』まで99回表示され、最後に

『今の変数の値は100です。これで終わり。』と表示するVBAです。


integerというのは変数に数値を格納するという変数の型です。

文字ならstring,文字や数値を両方使う場合はvariantを設定します。


Do While 繰り返し条件

 繰り返す処理

Loop


これは『繰り返し条件の下で処理を繰り返す』という構文です。英語みたいに考えてください。


箱=箱+1というのは箱という名前の変数を1増加させるということです。

=というのは数学のイコールではありません。左側の変数に右側の変数を格納して上書きするという意味です。


そしてプログラムは、


Sub プログラム名()

 処理内容

End Sub


という形式で開始と終了を括るというルールがあります。


下記、プログラムをそのまま貼り付けて動かしてみてください。



Sub 箱カウント()


Dim 箱 As Integer '変数の宣言


箱=1 ’箱に初期値を設定する。


Do While 箱<100 ’繰り返し条件


 Msgbox "今の変数の値は" & 箱 & "です。"

 箱=箱+1 ’箱の値を1増やす。


Loop ’繰り返し処理を終える。

 

 Msgbox "今の変数の値は" & 箱 & "です。これで終わり。"


End Sub

上場企業の経理って何で何処も忙しいんでしょうか?



確かに業種によって忙しくない会社もあるでしょうが、基本的に決算に突入すると残業地獄というイメージがある。私は転職を2回したので現在3社目だが、現職では過去2社に比べて業務量も増加したにも関わらず、年間通じて年度末決算以外は毎日定時に帰宅している。


それは何故か?


ExcelスキルとAccessスキルが格段に向上しVBAもSQLも操れるようになったからです。

経理知識なんてたいして上達していないし勉強もしていません。


2社目の頃の出来事を話します。

その会社は経理部内で明確に連結課と単体課で別れていて、財務課も別途設置してあり、私は連結課に在籍していた。本当に連結しかやらない部署だったので、例え決算期だろうと残業なんてしなくて済みそうだと思うが、実際は決算になるとヒドイ残業地獄だった。


しかし、それは単に無駄な作業のオンパレードが原因だった。


確かに、その会社は製造業で海外生産の会社だったので貿易取引も難解を極めたし、取扱商品も比較的単価が高い工業製品を取り扱っていた上、関係会社間で頻繁な在庫取引や固定資産取引があったため未実現損益の消去もメチャメチャ面倒臭く、海外子会社は現地会計基準を日本会計基準に組替処理をしなきゃいけなかったので、そういうのも非常に手間がかかった。

その上、連結会社が40社もあったので残業も仕方無いと思っていた。

そう思い込んで残業をしていた。


でもよく考えてみたら、別に1人で連結やってる訳じゃなく、8社くらいを1人で担当して合計5名で作業してたので業務量自体は実際たいした事無いという事実に気付いた。


じゃあ何で残業になるのか?

ズバリ、Excelスキルが低かったからです。


気付いたら、EXCELシートが何枚も何枚も積み重なり、あっち見たりこっち見たりという状況になっていた。連結パッケージの構成も悪く、表の体裁もメチャクチャで正直誰が見ても集計に手間取るような非常に非効率的なシートが使用されていた。

数値情報が集約されていないし、決算で使用するEXCELシートのレベルが低くて全体がわかりにくく、結果的に集計に手間取り、残業地獄の様相を呈していた。


私は丁度その頃、連結課に異動して初めての決算だったので、使用するEXCELシートも作業の進め方も全部前任者から引き継いだものをそのまま使用し、自分なりの改善なり工夫は一切加えずに従順なるままに作業を進めていたので、とにかく『こんなEXCELシートと関数テクニックじゃ、残業地獄になるわな~』と心底感じました。


内部取引照合も未実現消去も会計基準組替ももっと効率的な手法があるだろ~と。





ここで、思った事も、やはり経理=情報処理だと思った。


勿論、経営的な立ち位置になればもっと会計的な意見や税務上有利な戦略とか、そういう視点も必要ですが正直、課長程度で現場で決算作業をやっているような人間に一番大事なのは、最低限の会計知識と高度な情報処理能力です。


その後、その会社では連結決算残業地獄を味わって以来、半年かけて暇な時間に自分の連結業務をExcelとAccessで効率化しまくったら、会計監査でどうしても帰れない場合を除いては毎日定時帰宅を実現した。その2社目での経験が今の3社目でも生きており入社2ヶ月で連結業務を効率化し周囲から喜ばれ、非常に嬉しかった。


Excelは素晴らしいです。Accessまで覚えると更に最強になれますが、まずはExcelを頑張りましょう。








結構よく使う文字列操作関数なのですが、意外と知らない人多いのがASC関数です。


これは全角を半角に変換してくれる関数なのですが、例えば各部署で摘要欄の記載ルールがメチャクチャで、決算の時に総勘定元帳をシステムから出力したら、全角と半角がゴチャゴチャになっていてCtrl+Fであいまい検索をかけてヒットさせるのが非常に大変な時ってよくあるんです。


そんな時に便利なのがASC関数です。全角の英数カナ文字を全て半角に変換してくれます。


まあ、そもそもシステム上で半角英数カナ意外は入力出来ない仕様にしてあれば、こんな手間無いんですけど・・・・。


でも色々なシーンで活躍する良い関数です。使用頻度はソコソコありますので是非。


<Before> <After>
マーケティング      ASC(A1)
監査役会         監査役会
企画管理チーム      企画管理チーム
期首仕掛         期首仕掛
経理購買グループ     経理購買グループ
取締役会         取締役会
情報システムチーム    情報システムチーム
人事総務グループ     人事総務グループ
全社共通         全社共通
第1グループ       第1グループ
第2グループ       第2グループ
第3グループ       第3グループ
第4グループ       第4グループ
第5グループ       第5グループ
第6グループ       第6グループ
内部監査室        内部監査室

監査法人が民間企業であるというのはどう考えてもオカシイ。民間企業である以上、利益のために存在しているのであって究極の目的は利益最大化である。

にも関わらず、事業内容が会計監査なのは一体どういう意図があって国がこのような体制を敷いているというのだろうか?



金融庁の管轄である銀行等とは違い、民間企業は圧倒的に数が多く、国家公務員では個々の企業の会計監査に対応しきれないから会計監査を民間事業として許可しているのだろうか?



どっちにしても、企業の会計監査で利潤を追求するというビジネスモデル自体どう考えても有り得ない事であり、倫理的にも道徳的にも成り立たないと俺は思う。

監査法人は監査報酬をたくさん企業に払ってもらいたいから、あまり企業には業務効率化や決算早期化等という事はして欲しくないと願う。会計監査の期間が長くなれば報酬が増えるからだ。加えて、今まで要求もしていないような本来何の意味も無い付随的な監査資料をどんどん増やしていき企業側の負担を増大させれば更に監査期間が長くなり儲かる。こんな監査法人の意図を俺は日々感じる。昨今は監査不況のため、あまりこういう行為も度が過ぎると他の監査法人に取り換えられてしまうため監査側も無茶振りは出来ないが、会社規模もある程度大きくなり複雑な取引が多い会社等では監査法人を取り換えると新担当監査法人にイチから自社の経理の構成や事業内容や取引形態を説明しなければならないため、かなりのボッタクリに辟易していたとしても監査法人を取り換えずにそのまま契約を続けてしまう事が多い。



会計監査で利潤を追求する奴らのために、企業側が大迷惑しているのだ。グローバル時代で国際競争が超激化を極めている昨今において、決算の非効率を歓迎し、高額な報酬をボッタくる奴らのために貴重な営業資金を奪われているという現実を俺は許容しないし、真向から彼らには異論を唱える。30歳の分際で生意気だとか思われようが知った事ではない。俺は監査法人に何を言われようが明らかに無意味だと思われる資料作成には応じていないし、無駄な工数は片っ端から削減し、他に少しでも報酬の低い監査法人があれば多少の手間を承知で即座に他社に取り換えるぞ!というプレッシャーを担当監査法人に与えておかないと相手の思うツボだと部長にも役員にも提言している。


何故、国は会計監査の公務化をしないのだろうか?同じ高額な監査報酬でも何の付加価値も産み出さない監査法人に利益が帰属してしまうよりは、税金として国に納めれば遥かに好循環が生まれやしないだろうか?監査報酬が国に入るようになれば財政は一気に潤うのではないだろうか?監査報酬1000万で会計監査に従事する公務員に600万払い、残りの400万は国の財源に充てるとか、そもそも最初から監査報酬を年間300万とかに固定化してしまうとか、やり方は色々あると思うけど、取り敢えず役人さん達には、消費増税とかよりもこっちを先に改正してくれって思います。

ここ数十年、世の中で大きく変化した事。それは間違いなくコンピュータ、つまりITの普及だ。従来は従業員を雇い人間が手作業で処理していた仕事はコンピュータの仕事となり、人間の仕事はコンピュータでは出来ない頭を使う仕事だけをやるのが当たり前になった・・・・のはずだった。

しかし実際に会社を見てみると、時代の流れに乗り遅れ、本来はコンピュータがやるはずのルーチン作業にひたすら精を出している社員がたくさん居る。これは年配者に限った事ではなく、自分と同世代の若年層でも多い。俺なら膨大な量のデータ処理はAccessでクエリを組んで一発で終わらせ、関数では実現出来ない複雑なルーチン作業はVBAでプログラムを組み速攻で終わらせる。仕事内容に一定の規則性のあるものに関しては全てコンピュータで処理出来る。逆に言えば規則性の無い仕事は人間でないと出来ない。例えば経営戦略の策定、為替予約の判断、決算期における勘定科目別の増減理由の記入や経理規程や内部統制の整備、こういうのが人間のやるべき仕事になってくる。


こうやって人間がやるべき仕事とコンピュータのやる仕事を明確に区別して日々の仕事を進めて行かないと何かの拍子にたちまち失業する事になる。当たり前だ。EXCELVBA組んで1分で終わる作業に人間1人日給1万円以上で処理している訳だから、0円の価値しか無い仕事に月30万円以上払っている事になる。そんな彼らはひたすら0円の価値の仕事に人生を費やし続ける。しかも彼らの厄介な所は、今以上の仕事のやり方や進め方を考える頭をまるで持っていない事と、新しい手法を他人が教えてもそれを受け入れる器量すら持ち合わせていない事である。もう日本の受験教育そのまま、今までと同じやり方で言われた通りに作業を行うだけで、例え誰かが新しい提案を持ち込んでも強制されない限り決して新しい手法を取り入れようとしない。年配者は特に前例踏襲が大好きでとにかく変化を嫌う。確かに超低意欲の5060歳の人間にExcelAccessのスキルを本格的に磨けと命令しても無理だろうが、だったらせめて他人の意見くらいちゃんと聞こうぜと言いたい。


 こんな人間は俺が社長だったら申し訳ないが即座にリストラし安価なアルバイトに切り替えるだろう。また、そういう社員に限って、新聞配達や工事現場の作業員やトイレ掃除の人達を馬鹿にしているだろうが、残念ながら生産性が高いのは彼らの方だ。遥かに価値がある。人間にしか出来ない仕事だし、トイレ掃除や工事現場の人が居なくなったら多くの人が困る。それとは対照的にコンピュータがやるべき仕事をひたすら手作業で打ち込む大卒ホワイトカラー正社員には何の価値も無い。居なくなっても誰も困らないし、1円の価値も無い。悲しいが、これが日本のホワイトカラーの姿なのであると思う。


下記は俺が尊敬して止まない人事コンサルの城繁幸さんの名著。

是非、一読を!





10年後に食える仕事、食えない仕事/東洋経済新報社
¥1,620
Amazon.co.jp

「10年後失業」に備えるためにいま読んでおきたい話/夜間飛行
¥1,728
Amazon.co.jp



 これからの時代の経理はもはや会計や税務の知識以上にITスキルが最重要となるだろうと予感しているし、現実としてそうであると実体験を通して認識している。


 今から10年~15年前くらいのEXCELやインターネットもロクに無かった時代は経理の仕事をするにあたって人間の頭の中で処理をしなければいけない事が多かった。分厚い規程集や業務参考書を手探りで探しながら実務をこなしていたのでは非効率過ぎるし、知りたい情報を適時に知る事が難しかったので人間の頭の中で処理した方が効率的だった。今でいうところのGoogleYahoo程ではないが、近い働きをすることが人間に要求された。EXCELも無かったので正確な電卓操作や計算能力も要求された。


 しかし、時代はITの普及と共に急速に変わった。前述したような検索エンジンや会計や税務等の経理に関する情報サイトの登場で適時に必要な情報を取得出来るようになったため、人間が頭で情報を保有しておく必要性は無くなってきた。勿論、会計基準を審議する人とか法改正をするようなレベルの人には自分で隅々まで把握しておく必要があるのかもしれないが、それ以外の事業会社の経理の人にはそんな事は要求されないし、EXCELでワークシートを作成する能力や、Accessでデータベースを構築する能力や、業務構造をフローチャートで図示するというような『人間が考えないと出来ない仕事』に重点が置かれるようになってきている。


 勿論、経理の仕事の中でも、在庫の評価減の評価率を実績と比較して検証したり、経営判断を下したり、借入金額を決めたりするのは依然として人間の仕事として今後も残り続けるが、これからの時代の経理は人間の仕事とコンピュータの仕事を明確に区別していかないとある日突然、自分の仕事に1円の価値も無くなってしまうというような事態に陥る。人間にしか出来ない仕事、つまり創造的ではない人材はたちまち失業する事になる。単純なルーチンワークをこなしていたり、単に分厚い参考書を眺めてひたすら知識の習得に精を出していたり、難しい会計処理を覚えようと必死になっているような人はそれに費やす時間は無駄であるという認識を持ち、検索エンジンや情報サイトでは実現出来ないような人間だけにしか出来ない領域の業務を自分なりに確立していかないといけない。



 大半の既存の経理部員は10年後は失業しているのではないか?遅かれ早かれ、そういう未来は確実に迫って来ている。



 ただ、会計や税務の知識習得をしなくて良いということではないので誤解しないようにして頂きたい。経理部内で創造的な人材であるためには幅広い会計知識や税務知識が不可欠あるのは間違いないし、そういうベース知識が生産性を生んだりする。俺が言いたいのは、木の葉を11枚掴みに行くような勉強ではなく、木の幹をガッチリと1本掴みに行くような勉強をするべきだということだ。基本的な考え方や論点を抑えたら細かい所は都度調べ、他の時間は全力でExcelやAccessの勉強に励む!これがこれからの時代の経理だ!

今日は経理実務で非常に便利なIF関数の使用法を伝授します。


連結会計システムなんかは大抵このロジックで処理されてるんですが、下記のような形式で仕訳がある場合に借方も貸方もまとめて1行で集計するためのテクニックです。

借方はプラス、貸方はマイナスで1行にまとめて転記するんです。そうすると常に合計は0になるというロジックです。


仕訳というのは当たり前ですが借方と貸方に分かれており、当然仕訳も2行になる訳です。

でも、これって結構面倒なんです。

仕訳別に借方貸方の合計値を出して貸借一致を確認しなきゃいけないし、ピボットテーブルで勘定科目別に合計したい時なんかも集計行が借方と貸方で2行になり行が増えたりしてイマイチ可読性が良くないです。


そこで、IF関数で1行にまとめてしまいます。

IF(借方が空白だったら、-貸方金額、借方金額)でOKです。


まあ、こうすると収益科目がマイナス表記になるので、売上や当期利益がマイナス表記になるので最初は慣れないかもしれませんが慣れると仕事が捗ります。

特に連結精算表なんかでは非常に便利です。




勘定科目(名称) 借方 貸方 貸借金額
その他営業外費用(内部)   8,363,947 IF(B2="",-C2,B2)
売上原価 8,363,947   8,363,947
その他営業外費用(内部)   11,107,418 -11,107,418
売上原価 11,107,418   11,107,418
買掛金(内部)   9,482,450 -9,482,450
売上原価 3,811,832   3,811,832
売上原価 4,933,899   4,933,899
未収消費税等 736,719   736,719
製品 1,030,941   1,030,941
売上原価   1,030,941 -1,030,941
その他流動資産(内部)   15,578,647 -15,578,647
前受金 15,578,647   15,578,647
現金・預金(3ヶ月以下) 124,135,880   124,135,880
売掛金(内部)   124,135,880 -124,135,880
169,699,283 169,699,283 0
<ピボットテーブル集計>
合計 / 貸借金額  
勘定科目(名称) 集計
その他営業外費用(内部) -19,471,365
その他流動資産(内部) -15,578,647
現金・預金(3ヶ月以下) 124,135,880
製品 1,030,941
前受金 15,578,647
買掛金(内部) -9,482,450
売掛金(内部) -124,135,880
売上原価 27,186,155
未収消費税等 736,719
総計 0



今日はちょっと難易度高いですが、Excelであいまい検索が出来るのをご存知でしょうか?

経理なんかではよく摘要欄に特定文字を含む仕訳を抜き出して集計したいなんて時があると思いますが、このあいまい検索が出来るのを知らない人は結構多いです。


数式のロジックは、こうです。

まず、Countif(セル,"*検索したい文字列*")です。

これで『セル内に検索した文字列が何個含まれているか』が検出されます。

これにIf関数を更にネストします。

If(Countif(セル,"*検索したい文字列*")>0,セル,"")で完成です。

『もしCountifの結果が1以上ならば、セルを表示し、そうでないなら何も表示しない』と書きます。


下記は仕訳元帳の摘要欄からABCという文字列を含むものを検出し、摘要を表示されるというものです。

これはメチャ便利です。人事や総務でも使えます。是非習得を!

<摘要> <あいまい検索(ABCを含む)>
ponny PCレンタル料(ABC) 4月分 5台              IF(COUNTIF(A2,"*ABC*")>0,A2,"")
mobby PCレンタル料(ABC) 4月分 45台             mobby PCレンタル料(ABC) 4月分 45台            
ponny PCレンタル料(ABC) 5月分 6台 ABC             ponny PCレンタル料(ABC) 5月分 6台 ABC            
mobby PCレンタル料(ABC) 5月分 44台             mobby PCレンタル料(ABC) 5月分 44台            
ponny PCレンタルABC料(ABCABC) 6月分 6台              ponny PCレンタルABC料(ABCABC) 6月分 6台             
mobby PCレンタル料(ABC) 6月分 44台             mobby PCレンタル料(ABC) 6月分 44台            
平成20年事業所税過計上分訂正                 
源泉所得税還付加算金                       
ponny PCレンタル料(ABCABC) 7月分 6台              ponny PCレンタル料(ABCABC) 7月分 6台             
mobby PCレンタル料(ABC) 7月分 49台             mobby PCレンタル料(ABC) 7月分 49台            
印税 科目振替(8月29日)                     
mobby PCレンタル料(ABCABCABC) 8月分 52台             mobby PCレンタル料(ABCABCABC) 8月分 52台            
ponny PCレンタル料(ABC) 8月分 7台              ponny PCレンタル料(ABC) 8月分 7台             
信託銀行㈱ セミナー講師料         
mobby PCレンタル料(ABC) 9月分 52台             mobby PCレンタル料(ABC) 9月分 52台            
ponny PCレンタル料(ABC) 9月分 7台              ponny PCレンタル料(ABC) 9月分 7台             

皆さん、ピボットテーブルって下記のような形式になっているのはご存知と思いますが、この中の数字に対して、Sumif関数とかを入れたい時ってありますよね?

そうすると集計出来ないんですよ。

何故なら1対1のデータ形式ではないからです。


合計 / 金額
部門 借方科目 貸方科目 集計
経理 運搬費  仕掛品  7,634
外注加工 普通預金 840,000
給与   諸口   59,153,696
資材 レンタル 普通預金 35,700
給与   諸口   23,757
人事 レンタル 仕掛品  829,161
運搬費  仕掛品  108,546
外注加工 仕掛品  118,820,201
買掛金  1,500,000
給与   仕掛品  78,750,717
総計 260,069,412


でもExcel2010からは、そんな経理マンの悩みにMicrosoftが応えてくれたのか、これを1対1のデータ形式に変換してくれるオプションメニューが付きました。これは嬉しいです。

ピボットテーブルツール→フィールド設定→アイテムのラベルを繰り返すにチェックを入れる。



すると・・・なんと、これでSumif関数も入れられる1対1のデータ形式になりました!


合計 / 金額
部門 借方科目 貸方科目 集計
経理 運搬費  仕掛品  7,634
経理 外注加工 普通預金 840,000
経理 給与   諸口   59,153,696
資材 レンタル 普通預金 35,700
資材 給与   諸口   23,757
人事 レンタル 仕掛品  829,161
人事 運搬費  仕掛品  108,546
人事 外注加工 仕掛品  118,820,201
人事 外注加工 買掛金  1,500,000
人事 給与   仕掛品  78,750,717
総計 260,069,412

これも結構知らない人多いですが、ピボットテーブル内に数式を入れたい時ってありますよね?


でも、通常のデフォルト設定のままだと数式入れるとGetPivotDataというピボットテーブル独自定義の

関数で処理されてしまい入れた数式が正しく機能しないんです。

これって非常に嫌ですよね。


そんな時はこうします。


下記の通り操作し、『ピボットテーブル参照にGetPivotDataを使用する』のチェックを外します。








<設定前>ピボットテーブル内を参照させて・・・



<設定前>下に数式をコピーすると・・・ウァァァァァァァ!!!ですよね。




<設定後>ピボットテーブル内を参照させて・・・




<設定前>下に数式をコピーすると・・・よし!!!やった!!ですよね。