パソコンスキルの教科書

パソコンスキルの教科書

東京大学大学院卒。博士課程に進学を志すも、担当教授と折が合わず、無職になる。医者を目指すも結局断念。田舎で派遣社員として働く。「スキルがなければ、仕事ももらえない」と悟り、ビジネススキルを学ぶ。プログラミング、英語を学び、一部上場企業へ転職。年間100時間以上の業務効率化を行い、社内講師に抜擢。海外の案件を担当し、数億円のプロジェクトに携わる。個人の事業でも、月売上100万を達成。現在は、自分の価値を高めるためのスキル向上支援を行う

仕事や作業の納期を守る!エクセルでタスク管理を行う方法|無料テンプレート付(マクロVBA)

f:id:gene320:20181009224439j:plain

仕事をしていると、やるべきタスクが抜けてしまうことがあります。

例えば、たくさんの業務を抱えていると、依頼した仕事の締切を忘れてしまいがちです。

他にも、後でまとめてやろうと思っていたことがいつのまにか抜けてしまうこともあります。

実際、私も仕事が増えてきてタスクが抜けてしまったことは数多くあります。

しかし、言い訳をして切り抜けるたびに、そのような肝を冷やす経験を繰り返したくないと思うようになりました。

そこで、タスクの抜けや漏れがなくなるようなタスク管理表を自分で作成しました。

この記事では、私が自作したタスク管理表を紹介することにしました。

多くの人に使ってもらえるように、ダウンロード可能はエクセルファイルも用意しています。

ぜひあなたの仕事で活用してみてください。

この記事で紹介するタスク管理表の3つの機能

私が仕事で使用しているタスク管理表は以下です

f:id:gene320:20181009225241p:plain

入れ込んでいる情報は、上記の10コです。以下で一覧で紹介します。

情報1|No|タスクの番号
情報2|分類|タスクの種類
情報3|資料|タスクの資料名、タスク名
情報4|締切|タスクの締切日
情報5|部署|タスクを持っている担当部署
情報6|担当|タスクを持っている担当者
情報7|ステータス|タスクの状況
情報8|備考|細かい情報
情報9|登録日|タスクを入れ込んだ日
情報10|更新|情報を変更・追加したときに更新

この10コを入れています。

タスク管理表が有する3つの機能

さて、私が最適化したタスク管理表には以下の3つの機能があります。

機能1|タスクの状態を5つのステータスで表す
機能2|資料保管フォルダへハイパーリンクでアクセスできる
機能3|自動で更新され並び替えが行われる

以下で一つずつ説明していきます。

機能1|タスクの状態を5つのステータスで表す

仕事のタスクは以下の5つに分類して管理しています。

No ステータス 内容
1 1作成中 現在手持ちの作業
2 2依頼済 赤(締切日超え) 人に依頼したタスクで締切が過ぎたもの
3 2依頼済 緑(締切日前) 人に依頼したタスクで締切が過ぎていないもの
4 3保留 水色 優先順位は低いがいつかやるかもしれないタスク
5 4完了 完了したタスク

上記の5つで管理しています。実は、5つに分類しているのには理由があります。

その理由は、分類が多すぎると管理が複雑になるからです。

そこで、この管理表ではコントラストが大きい5つの色を使用しています。

5つの色を区別すればいいので、パッと見て何のタスクがどのステータスにあるかを把握できます。

このように、「管理に困らない」かつ「最低限の分類」を目指すことで、分かりやすく管理できるようにしているのです。

以下で5つのステータス分類について細かく紹介します。

ステータス1|1.作成中

作成中のステータスは、自分の手持ちの作業を把握するのが狙いです。

f:id:gene320:20181009230137p:plain

自分の手元にあるタスクが何でいつまでに処理するものであるかを理解しておくことで、締切を意識したタスク管理ができるようになります。

ステータス2|2.依頼済(締切超え)

依頼済(締切超え)は最も抜けが起こりやすいステータスです。

f:id:gene320:20181009230156p:plain

これを抜けないようにするためにタスク管理表を作成するといっても過言ではありません。

なぜなら、人に依頼した仕事は安心して忘れてしまいがちだからです。

実際、重要な仕事が抜けてしまうと後で痛い目を見ます。そこで、忘れないように確実に管理しておく必要があります。

そこで私の管理しているタスク表では、締切を超えたタスクを赤で示すことにしています。

ステータス3|2.依頼済(締切前)

依頼済(締切前)は、相手に渡した仕事でステータス2の予備軍の位置づけです。

f:id:gene320:20181009230207p:plain

どれだけ人に渡している仕事があるかを見るようにしています。

ステータス4|3.保留

このステータスは、今すぐは不要だけれどもいつかやるかもしれないタスクです。

f:id:gene320:20181009230441p:plain

例えば、優先順位は低いが、他の何かと一緒に変更する場合はここに入れておきます。

実際、ある手順書を修正するとき、この保留を一緒に実施することで対応するような場合に残しておくのです。

このような目的で、今すぐは不要だけれどもいつかやるかもしれないタスクを見えるようにしておきます。

ステータス5|4.完了

このタスクは自分の仕事がどれだけ終了しているかを見るためのものです。

f:id:gene320:20181009230450p:plain

このステータスを作っている目的は、達成感を味わうためのものです。

なぜなら、仕事をしていると人から褒められることはほとんどないからです。

そのため、自分がやってきたことを自分で労い達成感を味わうのです。

多くの人はこれを蔑ろにして「まだまだ」と自分に鞭を打ちます。

しかし、このようにタスク管理表で自らの仕事を見える化することで、自分が頑張っていることが分かるようになります。

そのような意味で、私は完了のステータスを入れるようにしています。

機能2|資料保管フォルダへハイパーリンクでクリックできる

人と仕事をしていると、資料が保管されているフォルダがどこにあるか忘れてしまうことがあります。

なぜなら、次から次へと仕事が入ってきて、新しい仕事に意識が向いてしまうからです。

例えば、人に仕事を依頼してから2週間も経つと資料をどこに保管していたのか忘れてしまうものです。

このとき、資料を探すのに時間を取られてしまうと仕事の生産性が低下してしまいます。

そこで、資料が保管されたフォルダへすぐに移動できるようにハイパーリンクを設定しておくのです。

f:id:gene320:20181009230941p:plain

そうすることで、資料保管フォルダを探すのに時間を取られることがなくなります。

また、ハイパーリンクを設定しておくメリットはこれだけではありません。

今後似たような仕事が出てきたときに、ハイパーリンクを設定しておくことで過去の資料を探しやすくなります。

そうすることで、今後の仕事をするときの効率化も可能になるのです。

機能3|自動で更新され並び替えが行われる

仕事は優先度に応じて締切が常に変わります。そのため、常に今やるべき仕事も変化します。

そのため、タスク管理表において大切なのは今やることが一目でわかることにあります。

しかし、タスク管理表を見ても何が自分の仕事でいつが締切が一目でわからないことが少なくありません

実際、会社で仕事をしていると、エクセルに書き込みが多すぎて何が重要な情報か分からないことがあります。

そのため、人が見て即座にどれが優先の仕事か分かるようにしておく必要があります。

このタスク管理表では、更新ボタンを押すことで、情報が入れ替わるようにしてあります。

そこで、私のタスク管理表では、情報が自動で更新(並び替え)されて以下のことが常に最新状態に維持されるようにしています。

f:id:gene320:20181009231301p:plain

f:id:gene320:20181009231303p:plain

●並び替えの基準
基準1|G列のステータスが1作成、2依頼済、3保留、4完了の順番で上段から並ぶ
基準2|1作成、2依頼済、3保留、4完了のそれぞれで締切が早い順に上段から並ぶ

ここまで、この記事で紹介しているタスク管理表の3つの機能について説明してきました。

まとめると以下です。

機能1|タスクの状態を4つのステータスで表す
機能2|資料保管フォルダへハイパーリンクでクリックできる
機能3|自動で更新され並び替えが行われる

タスク管理表の使い方

それでは、このタスク管理表の使い方について説明していきます。

●使い方
ステップ1|B列の分類を項目から選択する
ステップ2|C列に資料名を記入する
ステップ3|ハイパーリンクを入れる
ステップ4|D列~I列の情報を更新する
ステップ5|仕事の状況に応じて情報を変更する

それでは、以下で一つずつ解説していきます。

ステップ1|B列の分類を項目から選択する

A列のNoは自動で出力されます。

そのため、最初に分類を選択します。これは後で資料を確認できるようにするためのものです。

f:id:gene320:20181009231727p:plain

なお分類の選択は、「設定」シートの情報を増やすことで、自動で選択肢が増えるように設計しています。

以下の画像の赤枠の部分に追記すれば、選択肢が増えます。また、A列の記載を削除すれば選択肢が減ります。

f:id:gene320:20181009232007p:plain

選択項目が自動増減するようにさせる設定は以下の記事で詳しく解説しています。

www.fastclassinfo.com

ステップ2|C列に資料名を記入する

件名を記載します。これは何の仕事かわかるようにするのが狙いです。

f:id:gene320:20181009232204p:plain

件名で仕事の内容を把握できるようにするために、できるだけ短く分かりやすく記載するのがコツです。目安としては、20文字以内です。

長く書くと何の資料かわからなくなってしまう危険性があります。

そうすると、一覧にする意味が減ってしまうので、注意が必要です。

ステップ3|ハイパーリンクを入れる

件名を記載したら、ハイパーリンクを設定します。これは資料保管フォルダを探す手間を省くのが狙いです。

ステップ2の件名を入れ込むと、ハイパーリンクの設定画面が自動で出力されます

f:id:gene320:20181009232508p:plain

ハイパーリンクのリンク先URLを設定しOKを押します。

f:id:gene320:20181010001119p:plain

  1. ハイパーリンクのリンク先URLを記入
    2.「OK」を押す

なお、「1. ハイパーリンクのリンク先URLを記入」では、ハイパーリンクのリンク先URLはフォルダを開いてAlt + Dで選択すると、コピペしやすいです。

ステップ4|D列~I列の情報を更新する

ステップ3のハイパーリンクを設定すると、D列~I列の情報が自動で出力されます。

f:id:gene320:20181009232727p:plain

D列|締切|「その日の日付」が自動で出力
E列|部署|「開発」が自動で出力
F列|担当|「A」が自動で出力
G列|ステータス|「1作成中」が自動で出力
H列|備考|出力情報なし
I列|登録日|タスクを入れ込んだ日時が出力

D列~I列の自動で出力されるので、必要に応じてD列~I列の情報を手入力で修正します。

なお、D列の締切を変更したいときは、yyyy/mm/ddで入力するようにします。

理由は、日付で順番を入れ替えるからです。入れ替えのとき、日付(yyyy/mm/dd)でないと順番入れ替えがうまく機能しない場合があります。

例えば、「2018.8.31」のように「.」で区切る人は多いですが、これは順番入れ替えを妨げるのはやめましょう。

また日付変更するとき、セルの編集はF2ボタンを使うようにします。

こうすることで、余計なマウス操作が不要になります。

f:id:gene320:20181009233333p:plain

また、E列部署の情報は以下の通り、自動で選択できるようになります。

f:id:gene320:20181009233742p:plain

さらに、「設定」シートのB列の記載を書いたり消したりすることで、部署の選択肢を増減させることが可能です。

f:id:gene320:20181009233747p:plain

なお、これはF列「担当」とG列「ステータス」も同じように、自動で選択できるようになります。

f:id:gene320:20181009234413p:plain

f:id:gene320:20181009234407p:plain

やはり、「設定」シートのC列やD列の記載を書いたり消したりすることで、「担当」「ステータス」の選択肢を増減させることが可能です。

f:id:gene320:20181009234451p:plain

f:id:gene320:20181009234447p:plain

ステップ5|仕事の状況に応じて情報を変更する

仕事を進めていくと状況が変わることがあります。

必要に応じて、上記で紹介した情報を修正します。特に以下の3つの情報はよく変更が起きます。

[1] ステータス|人に依頼したり自分に戻ってきたりしたらステータスを変える
[2] 担当部署や担当者が変更したら、修正する
[3] 締切|仕事の締切が変更されたら締切を再設定する

f:id:gene320:20181009234824p:plain

修正したら、更新ボタンを押します。

f:id:gene320:20181009234925p:plain

すると、情報が自動更新されます。

f:id:gene320:20181009235052p:plain

なお、更新(並び替え)の基準は以下の2つです。

●並び替えの基準
基準1|G列のステータスが1作成、2依頼済、3保留、4完了の順番で上段から並ぶ
基準2|1作成、2依頼済、3保留、4完了のそれぞれで締切が早い順に上段から並ぶ

情報に更新があるたびに、更新ボタンを押します。

タスク管理表(エクセル)のエクセルマクロVBAのプログラム

この記事で紹介しているタスク管理表はエクセルマクロを使って半自動化しています。

以下で、エクセルマクロのプログラムを紹介します。

コードは2種類あります。

1種類目のコードはSheet1に入れます。

f:id:gene320:20181009235717p:plain

Option Explicit

Private Sub Worksheet_Activate()
    Call narabikae1
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i, j As Long
    i = Target.Row
    j = Target.Column
   
    If i > 1 And j = 1 Then
        Call data_kisei(i)
    End If

    If i > 1 And j = 7 Then
        Call iroduke(i)
        Call jikan(i)
    End If

    If i > 1 And j = 3 Then
        If Range("A" & i).Offset(0, j - 1).Value <> "" Then
            Call linksakusei(i)
        End If

        If Range("D" & i).Value = "" Then
            With Range("D" & i)
            .Value = Date
            .NumberFormatLocal = "yyyy/mm/dd"
            End With
        End If

        If Range("E" & i).Value = "" Then
            Range("E" & i).Value = "開発"
        End If

        If Range("F" & i).Value = "" Then
            Range("F" & i).Value = "A"
        End If

        If Range("G" & i).Value = "" Then
            Range("G" & i).Value = "1作成中"
        End If

    End If

    If i > 1 And j = 9 Then
        If Range("I" & i).Value <> "" Then
            Range("A" & i + 1).Value = i - 3
        End If
    End If

End Sub

2種類目のコードはModule1に入れます。

f:id:gene320:20181009235725p:plain

Option Explicit

Sub iroduke(ByVal i As Long)
   If Range("G" & i).Value = "2依頼済" Then
       Range("A" & i & ":I" & i).Interior.ColorIndex = 42
   ElseIf Range("G" & i).Value = "4完了" Then
       Range("A" & i & ":I" & i).Interior.ColorIndex = 15
   ElseIf Range("G" & i).Value = "1作成中" Then
       Range("A" & i & ":I" & i).Interior.ColorIndex = 6
   ElseIf Range("G" & i).Value = "3保留" Then
       Range("A" & i & ":I" & i).Interior.ColorIndex = 20
   End If
End Sub

Sub jikan(ByVal i As Long)
   Dim ws1 As Worksheet
   Set ws1 = Worksheets("タスク管理一覧")

   ws1.Range("I" & i).Value = Date & " " & Time

End Sub

Sub linksakusei(ByVal i As Long)

   Dim yn As Integer

   yn = MsgBox("ハイパーリンクを付けますか?", vbYesNo + vbQuestion, "確認")

   If yn = vbYes Then

       Dim str As String

       With Application.FileDialog(msoFileDialogFolderPicker)

           If .Show = True Then
               str = .SelectedItems(1)
               ActiveSheet.Hyperlinks.Add Anchor:=Range("C" & i), Address:=str
           Else
               MsgBox "やり直して下さい"
           End If
       
       End With

   Else

       Exit Sub

   End If

End Sub

Sub data_kisei(i)
    
    With Range("B" & i).Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=分類"
        .IgnoreBlank = True
        .InCellDropdown = True
        .IMEMode = xlIMEModeNoControl
        .ShowInput = True
        .ShowError = True
        End With
    
    With Range("E" & i).Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=部署"
        .IgnoreBlank = True
        .InCellDropdown = True
        .IMEMode = xlIMEModeNoControl
        .ShowInput = True
        .ShowError = True
    End With

    With Range("F" & i).Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=担当"
        .IgnoreBlank = True
        .InCellDropdown = True
        .IMEMode = xlIMEModeNoControl
        .ShowInput = True
        .ShowError = True
    End With


    With Range("G" & i).Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=ステータス"
        .IgnoreBlank = True
        .InCellDropdown = True
        .IMEMode = xlIMEModeNoControl
        .ShowInput = True
        .ShowError = True
    End With

    '線を引く

    With Range("A" & i & ":I" & i)
        With .Borders(xlEdgeLeft)
            .LineStyle = xlContinuous
            .Weight = xlThin
        End With
       
        With .Borders(xlEdgeTop)
            .LineStyle = xlContinuous
            .Weight = xlThin
        End With
       
        With .Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .Weight = xlThin
        End With
   
        With .Borders(xlEdgeRight)
            .LineStyle = xlContinuous
            .Weight = xlThin
        End With
   
        With .Borders(xlInsideVertical)
            .LineStyle = xlContinuous
            .Weight = xlThin
        End With

        With .Borders(xlInsideHorizontal)
            .LineStyle = xlContinuous
            .Weight = xlThin
        End With
    End With
 
End Sub

Sub narabikae1()

    Dim cmax1 As Long
    Dim ws1 As Worksheet
    Set ws1 = Worksheets("タスク管理一覧")

    cmax1 = ws1.Range("A65536").End(xlUp).Row

    ws1.Sort.SortFields.Clear
    ws1.Sort.SortFields.Add Key:=Range("G4:G" & cmax1), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ws1.Sort.SortFields.Add Key:=Range("D4:D" & cmax1), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    
    With ws1.Sort
        .SetRange Range("A4:I" & cmax1)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

    Call shimekiri(ws1, cmax1)

End Sub

Sub shimekiri(ws1, cmax)
    
    Dim d1 As Date, d2 As Date
    Dim i As Long
   
    d2 = Date

    cmax = ws1.Range("C65536").End(xlUp).Row

    For i = 5 To cmax
        d1 = Format(ws1.Range("D" & i).Value, "yyyy/mm/dd")
    
        If ws1.Range("G" & i).Value = "2依頼済" Then
            If Date >= d1 Then   '本日締切なら
                ws1.Range("A" & i & ":I" & i).Interior.ColorIndex = 3
            End If
        End If
       
    Next
End Sub

また、更新ボタンには、マクロを登録しておきます。

更新ボタンを設置します。

f:id:gene320:20181010000133p:plain

更新ボタンを右クリックして、マクロを登録を選択します。

f:id:gene320:20181010000145p:plain

narabikae1を選択してOKを押します。

f:id:gene320:20181010000149p:plain

そうすると、更新ボタンを押すことで更新プログラムが起動するようになります。

このタスク管理表をダウンロードして使う

この記事でダウンロードできるマクロ入りのエクセルファイルは以下の動画で解説しています。

以下のフォームにメールアドレスを入力いただくと、返信メールからエクセルファイルをダウンロードできます。

エクセルを自分用に編集アレンジして使いたいなら、エクセルマクロの無料動画で学ぼう

この記事では、タスク管理表について紹介しました。ここで紹介したタスク管理表を利用すれば、抜け漏れなくタスクを追えるようになります。

しかしデメリットもあります。それはメンテナンスです。

なぜなら、周囲からの要望も増えるからです。ここで紹介するタスク管理は私なりにカスタムをしています。

したがって、「もっと○○ができるのでは?」や「ここはなんとかならないのか」と感じる場合もあるはずです。

例えば、「担当者毎に色を変えてほしい」や「1ヶ月間のタスク量を担当者毎に割り出したい」といった要望が出るかもしれません。

このような要望を満たすには、マクロを勉強して自力でマクロを編集できるようになる必要があります

もし、自力でマクロを編集できるようになれば、今より仕事の効率はグッと上がります。

実際、私も自力でマクロを書けるようになってからは、仕事の生産性が一気に上がりました。

他の人が30分~1時間かけて行う仕事が、ボタン一つで終わらせることができるようになったのです。その結果、周囲からの信頼も増し、仕事で高い評価を得られるようになりました。

ただ、要望に応えるようになるためには、マクロを学ぶ必要があります。

まずは無料でマクロを勉強してみる

ウェブや書籍で勉強すれば、マクロを習得できると考えている人は少なくありません。

しかし、仕事で使えるマクロを習得したいなら、仕事で使える部分に特化した教材で学ぶことをお勧めします。

なぜなら、ウェブや書籍には仕事に関係しない部分まで提供していることが多いからです。

例えば、マクロ初心者なのに配列を学ぼうとする人がいます。実は配列なしでも仕事で使えるマクロを書くことは可能です。

しかし、マクロ初心者ほど「全ての知識が必要だ」と考えて、無駄な学習に時間を使ってしまうのです。詳しくは、こちらの記事で紹介しています。

www.fastclassinfo.com

www.fastclassinfo.com

そこで、私がお勧めするのは仕事に直結するマクロ教材です。とくにお勧めするのは、こちらの無料オンライン動画です。

なぜなら、仕事に直結する部分に絞って、エクセルマクロを学ぶことができるからです。

マクロの作り方・考え方から解説しているので、教材をしっかり学べばここで紹介したマクロをゼロから書けるようになります。

マクロ初心者が、仕事に直結したいマクロを学ぶなら、まずはこちらの無料オンライン動画を試すのがいいです。

興味がある人は、まずは無料でエクセルマクロの勉強を始めてみてください。

もっと学びたいと感じたら、さらに深く勉強をしてみることをお勧めします。