道具としてのExcel活用

Excelシステムならではの、デザイン表現 ~ 直感的なメニューデザイン例 ~

Excelならではの、UI表現(メニュー画面の例)

よくあるExcelシステムの画面

Excelでシステムを作っているのに、まるでVBか何かで作ったような画面構成をよく見かけます。

これはこれで使い勝手が良い場合もあるのですが、Excelを使っている以上、シートへの登録や操作が基本にあり、これを補助するための機能という位置づけの筈です。

多くの場合、安易にメニュー画面を「プログラムらしく」作ったが為に、Excelの良さがキャンセルされている例を見かけます。

 

シートを使えばいいじゃないか!

当社で作るExcelシステムは、シートをフル活用することで、Excelの良さを最大限残します。

例えば、食事メニューを登録すると栄養素を算出するシステムの例では、使用する食材をあれやこれやと入れ替えながら試行錯誤し、その都度各栄養素が基準を満たすかどうかを確認しながら使うことを想定して、こんなメニュー構成とします。

シートの上に、様々なアイコンが載っていますが、例えば食品コードの横にあるボタンを押すと、食材毎の数量(g)を基に、各栄養素(上の画面では表示されていない、右側の領域)が計算されます。

他にも、食品名の横のアイコンを押すと、別のメニューが表示されますが、これはシートの上にシートを重ねられないために、こうした「フォーム」画面を採用しています。

 

もし、全部Formだったら・・・

全ての画面が2つめの「食品選択」のようなデザインだとしたら、見た目はいかにもプログラムっぽいのですが、以下の様な制限があります。

  • 選択肢の部分のコピペができない
  • ショートカットが通用しない(テキストボックス内のCTRL+C等のみ)
  • ノートやタブレット時、拡大/縮小ができない

特に、最後の「拡大/縮小できない」は、後から変更が難しいので、致命的です。

数年前にはタブレットPCがそれほど普及していませんでしたが、現在は10インチ程度のタブレットの数が増え、以前作ったForm画面が「読めない」という事態に直面しています。

 

シートの良さを見直そう

Excelは関数で使うもので、プログラムを組んだらそれらしく、というご要望も多いのですが、使い勝手や中長期のメンテナンス性を考えると、Excelの「シート」は非常に優れた面を数多く持っています。

普段のExcelだけでなく、マクロ(VBA)を使った実装でも、シートの良さを見直して見てはどうでしょうか?