1 なぜ作れないの?その理由は
(1)アイデアの枯渇
エクセルは表計算ソフトです。
作りたい表がないと言えば、みもふたも無いのですが、仕事ならともかく、家庭では入手できるデータも限られ収集するのに手間がかかるし、事例としての表のイメージもわかないものです。
家計簿やカレンダーを自分が使いやすいようにオリジナルの表を作ってみようと思っても、容易にできあいの便利なものが入手できるため、意欲がわかないということもあるでしょう。
「好きこそものの上手なり」とのことわざどおり、良い表をつくるためには、例えば「計算結果が知りたい」、「グラフにして見せたい」という意欲が最も重要です。
つまり、自分の趣味の分野で情報を整理することが作りたいという意欲になり、どうせエクセルをマスターしようとするのであれば、好きなことで表の作成にチャレンジすることをお勧めします。
このホームページのADSLコーナーには、エクセルで作成した表やグラフを載せています。ADSLのことを知りたいから、インターネットで面倒でもデータを収集して、集計表やグラフを作成したのです。
(2)目標が高すぎる
いきなり難しい表を作ろうとすると、いつまでも完成できずに棒を折ってしまうことになりかねません。
例えば、このファイルの説明用として用意した「料理食材チェック表」では、冷蔵庫にある食材から作れるメニューを探し出そうとのアイデアですが、カロリーも算出できるとグッドと思っても、難しくなります。取り敢えず最も知りたい作れるメニューさえわかれば良いと絞込み、欲張らないで完成を目指すことがコツです。
一旦、表ができれば満足でき、余裕のあるときに、もう少し便利に改良すれば良いでしょう。自分で作成した表であれば、後で改良することができることもエクセルのメリットです。
(3)入力情報が不足
表の作成は、データの収集次第という面があります。
データソースは、最近ではインターネットから探すことが手っ取り早く、国や地方公共団体の統計データ、企業情報、趣味のホームページの情報提供などから入手することができます。
しかし、インターネットで見つからない場合、自分で時間をかけて別に調べることができることもありますが、もともと調べることが難しい情報や、時間やコストがかかる情報もあり、無理をせず早くあきらめた方が良いでしょう。
入手できない情報はあきらめて、表の構成を考え直すと、むしろ早く良い表ができます。
(4)基本知識の不足
入力データが揃っても、ある程度エクセルで何ができるのか知っていないと、表のイメージが沸かないでしょう。
エクセルの機能は豊富であり、参考書も入門編、関数編、マクロ編と別れていることが多く、全部読んでマスターすることは大変です。取り敢えず基本的な表の作成の仕方を覚えて、あとは必要なときに辞書のように参考書に目を通すことになります。
初めてエクセルを使うなど全く操作方法が解らない場合、このファイルの説明は少し難しいかもしれません。
EXCELの使い方については、「エクセルで表を作ろう」というファイルで簡単な表の作成方法を、「エクセル簡単テクニック前編」で表を見やすくするセルの書式設定を、「エクセル簡単テクニック後編」で表を使いやすくするためのテクニックを説明していますのでご覧ください。
また、ワークシートの使い方などなど基本的な操作方法が解らないのであれば、「パソコンWAKABA」のExcelお勉強部屋で学習してください。
(5)テンプレートに頼りすぎ
インターネットで探すと、エクセルのテンプレートを提供しているサイトが多くあります。
テンプレートを少し改良すれば、自分にとって使いやすくなり、それで目的を達成することもあります。
しかし、テンプレートを参考にしても、どうも気に入らないという場合は、一から作り直したほうが早いということが往々にしてあります。
完成されたものを修正することの方が難しいということは、エクセルに限らないことでしょうが、修正事項が多い場合は、テンプレートに頼りすぎてもかえって難しくなる場合があります。
<スポンサーリンク>
2 イメージ創りの手がかり
エクセルをマスターするためには、自分の趣味の分野で表を作ってみてはと、前章で記載しました。
流行の分野では、季節の草花ガーデニング、料理食材チェック、ダイエット・カロリー計算、愛犬健康管理、DVDメディア管理、ハウジングコスト比較、収納スペース管理、旅行プランニング、パチンコ収支計算、食料品価格チェック、自家用車買替えコストなど適当に並べてみましたが、興味はわきそうでしょうか。
分野が決まれば、次は入力データ探しです。
統計情報であれば、国の「統計局」の資料があります。
また、YahooやMSNなどインターネット情報提供サイトで分野別に探すか、GoogleかYahooで、例えば「料理」、「レシピ」、「肉料理」とか「園芸」、「統計」、「データ」などと入力し検索すれば、流行の分野では情報を探すことができるでしょう。
そして、使用するデータが決まれば、いよいよ表の作成です。
もちろん、それぞれの分野に私自身は詳しくないので、詳しい方のほうが良い表ができるでしょう。とは言っても、説明用に簡単な「料理食材チェック表」を作ってみました。
この表は、冷蔵庫にある食材を入力すると、料理メニューの何が作れるか、また不足し購入しなければならない食材は何か?調べる表を想定して作っています。
なお上の1-(2)の表は見やすい説明用で、この表は食材32種類、16メニューまで入力でき、例えば牛肉料理などジャンルを絞り込めば、一応実用に耐えるのではと思います。
<スポンサーリンク>
3 アイデアの組み立て方のヒント
エクセルでは、いろいろな表ができます。
大きく分けて、表やグラフを作成して終わりという表と、表は計算するためのツールで普段使っていくものとあります。
また、その中間的なタイプで、当初に表を作って、データを入力し一応完成するけれど、その後もデータを追加して更新していくものがあり、これが最もエクセルらしい表でしょう。
(1)完成して終わりの簡単な表
完成して終わりの比較的簡単な表は、むしろ見やすいなど見栄えに配慮して作表します。そのため、いきなり表のレイアウトをつくり、その後、計算結果を表示するセルのみ、数式を入力し、最後にデータを入力し、必要があれば表の形を整え、グラフを作成して完成です。
よって、表の形をつくるときが山場であり、うまくレイアウトできないときは、表の下書きスケッチを作成して、写すと良いでしょう。簡単な表作成の手順については、このホームページの「エクセルで表を作ろう」というファイルに目を通してみてください。
要は、簡単な表は、形を先に作るということで、表計算ソフトというより、気楽なお絵かきのようなものです。
なお、「エクセルIF関数を使おう」で事例として載せた表は、すべてこのタイプの簡単な表です。
(2)計算するための表
変数を入力して、計算結果を求めるプログラムというイメージですが、エクセルは表の上で計算するという制約があります。何度も同じデータを入力することは非効率であり、入力の手間を考えることと、条件分岐のための論理関数の使用と、場合によっては複雑な数式や中間出力セルが必要となります。
この場合は、いきなり最終的な表のレイアウトを作っても、無理な場合があります。
かつて汎用プログラムを作成するときは、フローチャート(流れ図)を先に作って、このフローチャートをベースにプログラムを書いていました。最近はフローチャートはかえって面倒と言われていますが、フローチャートでなくても使用する入力データ、計算に使う数式、完成した表の形を想定し事前に整理することは必要です。
少し詳しく見ると、一般的なプログラムのように、定義、配列、入力データの種類(文字、定数、変数)、数式、出力レイアウト、出力データ(文字、数値)などを処理順にメモることで、表完成までの設計図となります。企画メモを作る、そんなイメージであり、何日かかけて、少し難しい技術的な表を作成するときは便利です。
いつも何をしたら良いのか解らなくて頓挫してしまうのであれば、企画メモは手助けになるでしょう。
少し具体的に私がエクセルで作成するときの概要を説明します。
1 入力データを決め、その量を想定し、行と列をどう使うか、入力表と、出力表に分ける
かどうか決めます。入力データが少なければ同じ行に横にデータを並べることも可能で
すが、データが多くなれば縦にデータを並べ、さらにデータが膨大となれば、入力のため
の表を別途用意します。
2 最終的な表のレイアウトの下書きスケッチを書きます。
入力表と、出力表に分けるときは、出力表が最終的な表となります。
さらに、中間出力表を作る場合もあります。
3 別途メモに、数式を書いて、変数をセルの行・列番号に置き換えます。
4 中間出力セルが必要な場合は、行または列を追加します。
5 最終的な表に、数式を入力して完成です。
もちろん、入力表での集計や、中間出力セルへの数式の入力も必要です。
(3)データを追加して使っていく比較的簡単な表
基本的には、上の(2)の手順と同じですが、表のレイアウトのときに後日データを追加するときに使いやすいように配慮することと、最終的に見やすいように行や列の非表示部分を想定して作表することです。
次の4章で説明する事例の「料理食材チェック表」は、このタイプの日常、手軽に使用する表です。
4 Excelの簡単な表の事例
エクセルが電卓と違うのは、結果を多く記憶できることと比較すること、一般のプログラムと違うのは、条件分岐や比較と繰り返し演算の機能が弱く、できないことではなくても不自由であったり面倒なことです。
しかし、計算式といっても普通の表では、足す「+」、引く「−」、掛ける「*」、割る「/」の四則演算の組み合わせと比較ぐらいのことです。
さて「料理食材チェック表」の事例です。
この下の表は説明のための作成途中の表です。
たいした表ではないため、一表で完結したいのですが、食材の数は多く、料理メニューも少なくては意味が無いでしょう。
結局、縦に食材を並べ、横にメニューを置いて、結果の「お勧め料理メニュー」が右側に表示されると見やすいこと、表ができた後に使うときは、必要材料欄と中間出力欄を表示しなければ扱いやすいので、上の画像のレイアウトが基本です。
上の表の数式が入力されている部分は、「手持ち材料−必要材料」の中間出力列と「お勧め料理メニュー」の結果表示列です。
まず中間出力欄の3行目 a、b、c・・・ のメニュー名は、必要材料列のメニュー名を写して再入力を避けています。例えばI3のセルの式は「=D3」です。
中間出力欄の4〜19行の「Aa〜Pe」までのデータ欄は、手持ち材料−必要材料の式です。
例えばI4のセルの式は、「=IF(D4="","",$C4-D4」です。
なおIF関数は、D4がブランク(空白)であれば、出力セルI4もブランクのままにするために使っています。IF関数がわからなければ、「エクセルIF関数を使おう」というファイルを見てください。
中間出力欄の最下段チェック行は、不足する材料の数を数える欄です。
例えばI20のセルの式は、「=COUNTIF(I4:I19,"<0")」です。
この数式は、(I4〜I19)のセルの値が負のものを数えており、aというメニューの必要な食材で不足するものの数になります。
「お勧め料理メニュー」の結果表示欄の数式は少し難しくなります。
前に、目標が高すぎても頓挫するので欲張らないで完成を目指してはと書きましたが、これまでの説明が難しければ、中間出力欄のチェック行で大方の目的は達成しており、ここで止めても良いでしょう。
結果表示欄の最下段のチェック行の数式は、購入しなければならない食材の少ない「お勧め料理メニュー」を調べるためのチェックです。
一番左のN20のセルの式は、「=MIN(I20:M20)」です。
この数式は、(I20〜M20)のセルの値が最小のものを調べて値を表示しています。
次に、その右隣のO20のセルの式は、「=SMALL(I20:M20,2)」です。
この数式は、(I20〜M20)のセルの値が2番目に小さいものを調べて値を表示しています。
さらにその右隣のP20のセルの式は、「=SMALL(I20:M20,3)」です。
この数式は、上の式と同じですが、式中の赤字で表示している「3」が3番目を表しています
結果表示欄の上段のメニュー名を表示する数式は、少し難しくなります。
例えばN3のセルの式は、「=IF(COUNTIF($C$4:$C$19,">0")=0,"",
INDEX($I3:$M3,MATCH($N$20,$I$20:$M$20,0)))」です。
数式中の緑色の部分は、手持ちの食材が何もなければブランクにしておくためです。
数式中の赤色の部分は、I20〜M20のセルのうち、N20と値が一致するセルが何番目かをMATCH関数で調べています。
数式中の青色の部分は、I3〜M3のセルのうち、MATCH関数で調べた何番目のセルについて、その値をINDEX関数を使用して表示しています。
結果表示欄の中断4〜19行のN4〜P19のセルは、手持ち食材があれば「○」、無ければ不足数を表示します。また使わない食材はブランクのままです。
例えばN4のセルの式は、「=IF(COUNTIF($C$4:$C$19,">0")=0,""
,IF(INDEX($I4:$M4,MATCH($N$20,$I$20:$M$20,0))<0,
INDEX($I4:$M4,MATCH($N$20,$I$20:$M$20,0))*-1,
IF(INDEX($I4:$M4,MATCH($N$20,$I$20:$M$20,0))="","","○")))」です。
数式は長いのですが、前の式の応用です。
数式中の緑色の部分は、手持ちの食材が何もなければブランクにしておくためです。
数式中の赤色の部分は、I4〜M4のセルのうち、MATCH関数で調べた何番目かの順番に該当するセルに負の値が入っていれば、正の値に変えて表示させています。
数式中の青色の部分は、I4〜M4のセルのうち、MATCH関数で調べた何番目かの順番に該当するセルがブランクであればブランクとし、そうでなければ(つまり正の値)であれば「○」を表示しています。
なおセルの書式設定で、表示形式をユーザー定義で「不足」と表示させるようにしています。
最後に全ての共通事項として、一つのセルに数式を入力したら、他の同じ式を入力するセルに数式のみコピーをかけることです。コピーした結果、参照セルが本来参照すべきセルでないこともあり、その場合は参照先の修正が必要です。
後は、食材の名前と料理メニューと必要な材料を入力して終わりと思っていたのですが、結果が同順位になったとき、つまり例えば食材が2つ足らないメニューが複数あっては困るという問題に気づきました。
img src="ryouri2.jpg" width="631" height="320"
同順位のときにどうするか困るのはよくあることで、エクセルでも弱点です。
その対策は、決め事に絡んでいて、いろいろありますが、今回は端数を付けて処理することにしました。つまりメニューの順番に優先するという考えで、メニュー順に、0.01、0.02、0.03・・・と中間出力列のチェック欄に強制的に足してしまうという処理です。よって上の表を見ると「八宝菜」が4.01、豚しゃぶが3.02・・・と小数点以下が順番についています。
例えばJ21の数式は、「=IF(COUNTIF(J$4:J$19,">=0")=0,"",COUNTIF(J4:J19,"<0")+0.01)」で、K21の数式は、「=IF(COUNTIF(K$4:K$19,">=0")=0,"",COUNTIF(K4:K19,"<0")+0.02)」です。
数式中の緑色の部分は、メニューが入れてない列はブランクにしておくためで、これを付けないと、ブランクにならず、0.01とか、0.02と端数のみ表示され、その後の順位の比較に支障がでるためです。
ついでに、食材の小売価格欄を設け、不足する食材の購入費用が概算で出せると便利であり、上の表のD列に小売価格と、P列、R列、T列に不足する食品の購入価格を追加し、その合計額を20行に表示するように修正しました。
P列、R列、T列の4行〜19行のセルは、購入価格を算出する掛け算の結果表示です。
例えばP5のセルの数式は、「=IF(ISNUMBER(O4),$D4*O4,"")」です。
この数式は、隣のP4のセルに数値(不足の数)が入っていれば、その不足数に小売価格を乗じて購入価格を表示します。
この合計欄のP20の数式は、「=SUM(P4:P19)」で、P列の値があるものを足しています。
なお、食材の小売価格は、小売物価統計調査の主要品目の東京都区部価格をベースとしていますが、スーパーの広告でも見て、近くの店で購入する価格に時々置き換えた方が良いでしょう。
また統計調査では調査単位も1kgか100gで価格を調べており、現実には「ねぎ1kg」では売ってなく、この表では適当に換算して修正しているものもあります。
卵は1ピース10個入り、肉は100gで良いとしても、メギは束、だいこんは本、豆腐は一丁、レタスやキャベツは玉、スーパーでは買える単位は全てパックという感じです。
これも食材名欄の単位は、スーパーの広告でも見て、現実に買える最小単位で記入し、小売価格欄も、その単位に合わせて価格を入れ直したほうが、購入費用の概算は正確になるでしょう。
単位が異なれば足せないため、数量ベースでは足し算できません。そのため金額換算して足し算することになりますが、中間出力欄から金額表示にして、不足分の購入費用の少ない順に「お勧めメニュー」を表示するよう改良しても良いでしょう。
また、MIN関数をMAX関数に、SMALL関数をLARGE関数に変えて、手持ちの食材の多い順に「お勧めメニュー」を表示するのも一つの方法です
最初は、そのあたりのことをどうしたものかと思いましたが、冷蔵庫に多くの食材があれば、何も買わなくても作れるメニューが表示された方が便利かなと思い、直接、不足する食材の少ない順にしたほうが良いと思い、この表となりました。
私自身、料理は作ったことが無く、家内にブロッコリーは1kgで売っているのと聞いて、あきれられている始末です。
こういうことがエクセルが上手な人より、その分野に詳しく、その表が作りたいという意欲のある人の方が良い表ができるという所以です。
ともかく、これで表は完成しました。
普段使うときは、冷蔵庫にある食材をC列の手持ち材料の入力欄に入れるだけで使うことを想定しています。
そして最下段の21行目のチェック欄と、必要材料と中間出力のE〜N列を非表示とする、つまり上の表の白色の部分を非表示とする下の表となって一応完成です。
非表示の方法は、行の場合は、左端行番号で右クリック、「表示しない」を選択すれば消えます。また今回は列の場合は、まず上端列番号上で左クリック、マウスを滑らせ複数の列を選択し、後は同様です。なお再表示は、非表示部分を含む周辺の複数行または列を選択し、右クリック、「再表示」を選択すれば元に戻り表示されます。
しかし、前に説明したように小売価格を時々、実勢価格に置き換えたほうが良いでしょうし、いろいろ料理のレシピを参考にメニューを変えていくことも良いでしょう。
そのため、上の表では、食材の行も、メニューの列も、実用的には少し足らないため、食材32種類、16メニューまで入力できるようにした表が「料理食材チェック表」の完成版です。
なお、インターネットエクスプローラ(IE)で閲覧して、そのIEの左上「ファイル」をクリックし、メニューの「Microsoft Excel で編集」をクリックすれば、そのままエクセルのファイルとして表計算に使えます。エクセルを勉強するための参考として、ご自由にお使いください。
もしファイルメニューからエクセルファイルとして読めなければ、一旦デスクトップに保存して、エクセルを起動してから、ファイルの種類「webページ」として保存したファイルを開いてください。
この完成版は少し表が大きいため、このままでは見にくいので、メニューバーの「表示」メニューの「ズーム」をクリックし、75%か50%に縮小し、また37行のチェック行と、E〜AJ列までを非表示として普段は使ってください。
実用的には、この表を肉料理でも豚肉料理とか、牛肉料理とか、ひき肉料理とか、メインの食材で分けて何種類か作ったほうが便利でしょう。
また魚料理に使いたければ、食材名を入れる左端の列に、魚料理を使う材料の名前を入れ、必要材料欄には、魚料理のメニューとそのメニューに必要な材料を入れれば良いのです。
さらに何も料理の食材のチェックだけでなく、手持ちのものと必要なもののチェックに使えますので、ご自由にお使いください。