よく管理表とか作って週次で報告するんですが、毎回作るのも報告のたびに数えるのも
めんどいので、よく使うくせに忘れて調べなおす関数を整理することにしました。
※ Microsoft Excel 2016 で試しています。
1.Excelブックの情報を取得する関数
(1)ファイル名全体を取得
=MID(CELL("filename",A1),FIND("[",CELL("filename",A1),1)+1,FIND("]",CELL("filename",A1),1)-FIND("[",CELL("filename",A1),1)-1)
※A1は、どのセルでも問題ありません。
(2)ファイル名全体から拡張子(.xlsx)を除外する
=MID(CELL("filename",A1),FIND("[",CELL("filename",A1),1)+1,FIND(".xlsx",CELL("filename",A1),1)-FIND("[",CELL("filename",A1),1)-1)
※A1は、どのセルでも問題ありません。
(3)シート名を取得する
=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))
※A1は、どのセルでも問題ありません。
2.一覧表を集計するときに使う関数
下記のような課題を管理する表の場合
A列 | B列 | C列 | D列 | E列 | F列 | G列 | H列 | J列 | K列 | L列 | M列 | N列 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
No | 分類 | 発生工程 | 優先度 | タイトル | 課題内容 | 起票日 | 起票者 | 期限 | 対応者 | 対応状況 | 状況 | 完了日 |
(1)一覧表の件数を確認する
=COUNTA(B:B)-1
※最後の"-1"は、列名などを記載している行のカウントを除外するためになります。
(2)一覧表の対応中の件数を確認する
=COUNTIF(M:M,"対応中*")
※対応中の後ろのアスタリスクは、「対応中(玉持ち:Aさん)」のような書き方でも集計できるように正規表現にしています。
(3)一覧表の期限切れの件数を確認する
=COUNTIFS(J:J,"<"&TODAY(),M:M,"<>"&"完了")
(4)範囲(A:A)の一番下の値を取得する
=INDIRECT("A"&COUNTA(A:A))
(5)今日以前の日付の総数
=COUNTIF(J:J,"<"&TODAY())
他にも思いついたら足していこうと思います。