今回は紙エクセル対策で必要な罫線作図ツール開発の序章です。
本記事はSpredsheets/Excel Advent Calendar 2019 の4日目の投稿です。(みんな参加してね!)
(実際には12/1に公開した記事ですが)
3日目は Silloi (id:silloi) さんの「Google Spreadsheetsで家計簿を作った」でした。
きっかけ
私の職場では未だに「神エクセル」などと呼ばれるに相応しいフォーマットのエクセルが多数存在している。
普段Twitterでは「あんなフォーマットはだめだ」「こんなフォーマットにしなきゃだめだ」などと言っている癖に、実は神エクセルばかり使っていて、数百~数万件にも及ぶ「帳票」をエクセルベースで作成しているのである。(Accessやファイルメーカー使えよという話であるが、エクセル納品が必須なので避けられないのだ)
最近になって使うように指示された様式の中に、多種類の「罫線」を使い分けているものが見つかり、業務効率が大幅に落ちるのではないかと懸念しているが、仕事中に開発する時間もないため遊びでアドインを開発することにした。
尚、夢が壊れる恐れがあるので、良い子のみんなはこの先を読まないでお帰りください。
今回は私の職場でよく使われる「神エクセル」対策を目的としているが、せっかくのクリスマス前なので、ココは一つサンタさんの気持ちになってクリスマスプレゼントの調査票を作ってみた。
(おっと、「そんな事で調査票を作る親は日本中どこを探してもいねぇよ」「サンタさんがリサーチするわけねーよ」というツッコミは無しにしてもらいたい)
今回使うフォーマット
まず「クリスマスプレゼント調査票」に必要と思われる項目を書き出してみた。
- 贈り先の子
- 贈り先の家の住所
- 調査した日
- 希望しているプレゼント
しかし、
一度に複数のプレゼントを求めている強欲な子もいるだろう。
親の視点でプレゼントを強引に選択する場合もあるだろう。
というわけで、複数候補を挙げられるようにした。
その上で、
実際に贈るプレゼントを選定するために、「大人の事情の評価」を付けられるようにした。
大量の子どもたちをデータベースで管理するために、「管理番号」を追加した。
気になったことが書けるように、「備考」を追加した。
完成したフォーマットがこちら。
ただし、このフォーマットは
- 「データベースと連携するのに理想的なフォーマット」
ではなく
- 「実際に現場で使われている帳票のフォーマット」
を踏襲して作成しているので、注意してほしい。
つまりは、
神エクセルであり、
ネ申エクセルであり、
紙エクセルである。
作者は印刷して手書きすることしか考えていません。
このフォーマットの問題点
空のフォーマットだけ見ても問題点の適切な洗い出しが出来ないので、サンプルデータを紹介する。
ツッコミどころは山程あるが、
- なんで和暦なの
- 方眼紙フォーマットやめてーセル結合やめてー
- 備考が3行あるけどデータベースとどう連動させれば良いの
- 罫線の使い分けどうなってるの
- 様式は固定じゃないんかい
等を挙げておく。
その中でも今回は「様式は固定ではない」「罫線の種類の多さ」に着目して欲しい。
これの何が怖いかと言うと...
7行目でCtrl+Dをするなどして、6行目へ複製すると不要な二重線が付いてくる。
行を挿入するとセル結合と罫線が壊れる。
同様に罫線が消えたりする。
これらは「セルの罫線はセルとセルの間ではなく、両側または片側のセルの書式設定に記憶された内容が表示されている」という仕組みを知っていれば、事前に問題の発生を防ぐことができる(事もある)。
しかし、セル結合が必要だったり貰ったデータを直す場合だったりと、事前に防ぐのは不可能な場合も有り得るので、防げないものとして考えていく。
最後にもう一つだけ。
Excelの罫線にはたくさんの種類があるが、中には見分けがつかないものもある。
例えば、以下の二種類の破線が、事前予告なしに使い分けられていて、間違いを指摘できるだろうか? 私には無理である。
さらに、倍率100%では見分けがついても普段は60%なので見分けがつかなかったり、DocuWorksに印刷した時点までは同一なのにプリンタで印字したら違って見えたりという事もある。
そういった
- 「見分けのつけずらい罫線」を可視化すること
そして、
- 適切な罫線を少ないクリックで設定すること
を今回のアドイン開発の目標としたい。と言ったところで、本日はここまでにする。
まとめ
まずは開発に必要なフォーマットを決定した。
次回はどんな設計にすると良いか考えつつ、プロトタイプを作ってみる。
なお、私はプレゼントを贈る立場になったことがない雑魚なので、記事中で使用したプレゼントすべて私の妄想である。
以上
何か御座いましたらコメント欄、またはTwitterからどうぞ♪
それではまた来週♪ ちゅんちゅん(・8・)