ブログトップ

カクレ理系のやぶにらみ

tamm.exblog.jp

時間のある方はお読みください。軽い気持ちで読み始めると頭が痛くなります。

<   2013年 07月 ( 6 )   > この月の画像一覧

 前回はExcelを使って住所録のデータベースををつくる方法をご紹介しました。実は、差し込み印刷というWordの機能を使うと、ExcelのデータはWordで作成した文書で使用することができます。そこで、今回は住所録のデータに基づいてFAX送信票を作成する方法についてご紹介します。

1.差し込み印刷とは
 たとえばご自分がどこかの会社から案内状をもらうことを想像してみて下さい。その宛名が「お客さま各位」となっている場合と、自分の名前がちゃんと描かれている場合とでは、どちらが訴求力が強いでしょうか?
 顧客の名前が一人ずつ書かれている案内状の方が訴える力が強いのは言うまでもないのですが、そうかといって1枚ずつ顧客の名前を入力していたのでは時間がかかってしかたありません。でも、よく考えてみると顧客の名前や住所は既にPCの中にデータとして記録されているわけです。であれば、同じ電気信号なのですからそのデータを活用するのは不可能ではないはずです。
 ExcelやWordといったOfficeソフトは、互いに連携できるようにつくられていて、Wordにある「差し込み印刷」という機能を使うと、Excelで作成した住所録のデータをWord文書に簡単に取り込むことができるようになります。
 差し込み印刷を使うには、Wordの側で印刷する「差し込み文書ファイル」を作成し、Excelの側でWord文書に送りたいデータ(顧客の氏名や連絡先など)が入った「差し込みデータファイル」を作成します。

 差し込み印刷のイメージは下図の通りです。1件の差し込みデータが差し込み文書ファイルに送られ、文書として完成させます。さらに次のデータがあれば差し込み文書がコピーされ、データが送られていき、差し込みデータがなくなるまで差し込み文書がつくられることになります。


c0136904_071187.jpg


 なお、今回もインターネットディスク上に公開しているサンプルファイルに基づいてご説明いたします。下記のリンクから「FAX送付状,doc」というWordファイルをダウンロードしてください。なお、このファイルを開くときに、次の確認メッセージが表示されるので、「いいえ」を選択して下さい。


c0136904_23474969.jpg




http://p.tl/UrYx



2.差し込み印刷のやりかた
(1)管理上、差し込み文書ファイルと差し込みデータファイルは同じフォルダに置いた方が楽です。
(2)差し込み文書ファイルを開きます。といっても、この段階ではまだ差し込み印刷の準備は行われていないので、これからその準備を行っていきます。
(3)まず、差し込み文書ファイル上で、差し込みデータファイルがどこにあってどういう名前であるかという設定を行います。
(4)次に、差し込み文書に対し、差し込みする項目(差し込みフィールド)をどの位置に配置するかを決めます。
(5)差し込みにあたり、特に指定がなければ差し込みデータファイルのすべてのレコードが大賞になります。あらかじめ指定したレコードだけを差し込み印刷の対象にしたいときはクエリオプションを利用します。なお、この指定はExcelの方で行っておきます。
(6)差し込み印刷を開始します。


 下図は、サンプルファイルのうち、差し込み文書ファイルを開いたところです。以下の手順はWord2010のものですが、Word2003 以前のバージョンであれば「ツール」メニューから「差し込み印刷ヘルパー」を開き、上の(1)から(6)の順番に作業をしていきます。Word2010では画面の様子は違いますが、やること自体は大差ありません。


 「差し込み文書」タブから、「差込印刷の開始」をクリックして、さ「差し込み印刷ウィザード」を選択します。


c0136904_23495964.jpg




 画面の右側にウィザードが表示されます。このガイドに基づいて作業を進めていけばいいのですが、最初に「レター」のところにチェックを入れ、下部にある「次へ:ひな形の選択」をクリックします。」




c0136904_23502954.jpg

 「現在の文書を使用」にチェックを入れ、「次へ:宛先の選択」をクリックします。

c0136904_235117100.jpg


 差し込みデータファイルとして「住所録.xlsm」(Word2003以前であれば「住所録.xls」)は既に作成されているので「既存のリストを使用」にチェックを入れ、「参照」をクリックします。


c0136904_23515447.jpg




 「データファイルの選択」ダイヤログボックスが開くので、差し込みデータファイルが保存されているフォルダを開き、「住所録.xlsm」を選択して、「開く」ボタンをクリックします。


c0136904_23523085.jpg




 「テーブルの選択」ダイヤログボックスが開くので、住所録のデータベースが登録されているシートである「データベース$」をクリックして、「OK」をクリックします。


c0136904_23533343.jpg




 「差し込み印刷の宛先」ダイヤログボックスが開くので「フィルター」をクリックします。というのは、住所録のすべてのレコードを印刷するわけではないからです。」

c0136904_23541330.jpg



 「フィルターと並べ替え」ダイヤログボックスが開きます。下図のように、フィールド「印刷」が「が値と等しい」「1」と入力して、「OK」をクリックすると「差し込み印刷の宛先」ダイヤログボックスの中身が、「印刷」フィールドにあらかじめ「1」を入力しておいたものだけを表示するように変更されています。


c0136904_23545335.jpg





c0136904_23552778.jpg




 差込印刷ウィザードで「次へ:レターの作成」をクリックします。
 下図のように「レターの作成」というふうにウィザードが変わります。ここで、「差し込みフィールドの挿入」をクリックすればよいのですが、その前に、差し込み文書のどこに差し込みフィールドを挿入するのか場所を決めて、そこをクリックしておきます。その上で「差し込みフィールドの挿入」をクリックして下さい。
 このサンプルでは、挿入する「差し込みフィールド」は、「会社名」「部署名」「役職」「氏名」「敬称」「TEL」「FAX」となります。


c0136904_23564591.jpg




c0136904_23573719.jpg



 下図のように差し込みフィールドを挿入していきます。
 挿入した差し込みフィールドは、フォントやフォントサイズを自由に変更できるので、見た目の収まりの良さを考慮して大きさを決めてください。
 また、このサンプルでは役職名・氏名・敬称が同じ行に配置されています。この場合、2番目の差し込みフィールド(氏名)の開始位置は(役職)フィールドの最後の文字から1文字空けたところとなります。差し込みフィールドの位置を変えるとフィールド感の間隔も変化することになります。


c0136904_23581929.jpg




 配置が完了したら、ウィザードの「次へ:レターのプレビュー表示」をクリックします。
すると下図のように差し込みデータが差し込み文書に挿入されるのがわかります。これは差し込みフィールドの挿入位置を確認するためにあるので、修正したい場合はウィザードでいったん戻って、位置やフォントサイズなどの修正をおこないます。





 確認して、これでよければ「差込印刷の完了」をクリックして、「印刷」をクリックします。

c0136904_0007.jpg



 このように差し込みデータファイルを設定すると、その関係もいっしょに保存されることになるので、次回この差し込み文書ファイルを開くときに、確認メッセージがひょうじされますが、「いいえ」を選んでください。また、差し込み文書ファイルを閉じるときには「保存しない」を選択します。というのは「保存する」を選ぶと、差し込み完了後の状態でWordの差し込み文書ファイルが保存されるからです。

c0136904_03982.jpg

by t_am | 2013-07-30 00:05 | Excel のあの手この手
 Excelはデータベースを直感的につくることができる便利なツールですが、項目数が増えてくると、どんどん右に入力していくことになり、全体を1つの画面で見ることができなくなるという弱点があります。
 Access を使えばこの問題は解消できるのですが、そもそもAccess を持っていないという人もいます。そこで、少し工夫してExcelでも充分実用に耐える住所録のデータベースを構築してみたいと思います。


 この画面のように、右側に入力されているデータを見ようとするには、右側にスクロールしないと見ることができません。こういうのは意外と不便なものです。

c0136904_1812594.jpg



 さらに、入力されている文字数が多くなると、行の高さや列幅を広げてやらないと、全部を一度に見ることができなくなってしまいます。こういうのも不便ですね。


c0136904_18135455.jpg



(住所録の概要-問題解決のために-)
 データを入力・抽出・検索・修正するためのシート(データベース本体)と、閲覧専用のシート(カードビュー)の2種類を用意しました。
 データベース本体で抽出・検索されたレコードのうち閲覧したいものにフラグ(ここでは数字の1)を建てることにより、その内容をカードビューのシートで見ることができます。実際には、この2種類のシートを切り替えて使うことになります。

c0136904_054427.jpg



 なお、せっかく住所録データを入力するのですから、データベースから直接メールソフトを起動したり、指定した相手宛にFAX送付状(これはWord文書になります)を作成するという機能も装備しました。(差込印刷の方法については、次回で説明しています。)
なお、例によってサンプルファイルをアップしていますので、必要な方は下記のURLからダウンロードして下さい。今回のファイルには簡単なマクロが使われています。開く際に警告メッセージが表示されると思いますので、事前にウィルスチェックをしてから開いて下さい。(Excel2007以降をお使いの方は、「住所録.xlsm」の方をお使いください。)

http://p.tl/UrYx


1.住所録の入力
 住所録として登録しておく情報は、下図のように「面会日」から右側の項目になります。
今回、サンプルファイルに登録している項目は次の通りで、とりあえず千件のデータが入力できます。

面会日      Ctrl + ;(セミコロン)で本日の日付が入力できます
会社名
部署名
役職
氏名
シメイフリガナ
敬称       Alt + ↓ でリストが展開します。適当な敬称を選択して下さい。
郵便番号(〒)
住所
住所2      ビル名やフロア、室名を入力
TEL
FAX
携帯
メルアド(PC)     「メール作成」ボタンをクリックするとメールソフトが起動します
メルアド(携帯)    「携帯メール作成」ボタンをクリックするとメールソフトが起動します
メモ(自由入力)    後で思い出せるように、備考欄として使います
面会者

(1)データベースの入力
・入力は、相手の名刺を見ながら行って下さい。
・1つの項目の入力が終わったら、Tabキーを押すと右側のセルに移動します。
・「メモ(自由入力)」のセルでは、Alt + Enter キーでセル内改行をすることができます。
・最後の「面会者」の入力が終わったらEnter キーを押すと、次の行の面会日に移動します。
・ひとつ上のセルと同じ内容を入力するには、Ctrl + D キーを押すと、コピー&貼付を自動的に行ってくれます。

(2)データベースの検索
・検索したい文字列が含まれている列全体を選択します。
・Ctrl + F キーで「検索」ダイヤログボックスを表示させます。
・キーワードを入力して「次を検索」をクリックします。




・目的のレコードが見つかったら内容の修正をするか、レコード全体を閲覧するには
 「フラグ」に1を入力して「カードビュー」シートに切り替えます。

c0136904_18172882.jpg



c0136904_111670.jpg



(3)データベースの抽出
・項目名の欄にある▼をクリックして、ドロップダウンリストを展開します、
・検索オプションで、キーワードとなる文字列を入力すると、その文字列を含むレコードが抽出されて表示されます。
・閲覧したいレコードの「フラグ」に1を入力して「カードビュー」シートに切り替えます。

(4)閲覧を終えるには
・「カードビュー」シートの「再検索」ボタンをクリックすると、データベースに入力されていたフラグの1は消去され、抽出するためのフィルタも解除されます。
・また「住所録の終了」ボタンをクリックすると、上書き保存してからExcelを終了します。

(5)シート「データベース」の数式
 A列にだけ数式が入力されています。ちなみにA2の数式は次の通りとなります。

=IF(H3="","",A2+1)

 つまり、同じ行の氏名欄が空白の場合はナンバーを割り振らずにおいて、氏名欄が入力されたらナンバー(前の行の番号+1)を割り振るという数式です。
 このナンバーは、カードビューにレコードの内容を表示させる際に用いることになります。

(6)シート「カードビュー」の数式
・基本的に VLOOKUP 関数を用いています。その際の検索の値として、右上にあるセル「No.」には次の数式が入力されています。

=SUMIF(データベース!B2:B1001,1,データベース!A2:A1001)

 これは、「データベース」シートのB列すなわちフラグを入力する列のうち、1が入力されているセルに対し、A列(No.)の数値を合計させるというものです。ところが、フラグは1回につき1個しか建てないので、実際にはフラグの立っている行のNo.の値がここに表示されることになります。
 あとは、VLOOKUP関数で、それぞれの項目について「データベース」シートから値を引っ張ってくるだけのことです。(ちなみに、データベースの範囲には名前「住所録」が定義されています。データが千件以上になる場合、名前の定義-セル範囲-を修正してください。)

(7)カードビューからメールソフトを起動する
 データベースにメールアドレスを入力すると、自動的にハイパーリンクを設定してくれるので、クリックひとつでメールソフトが起動します。しかし、カードビューではVLOOKUP関数でメルアドの値を読み込んでいるだけなので、このままではハイパーリンクにはなりません。
 そこで、データベース・シートにあるメールアドレスをクリックするという比較的単純なマクロを作成して、「メール作成」ボタンに登録しました。マクロの作成といっても、データベース・シートにある該当レコードのメールアドレスのセルをクリックするという操作をマクロに記録した後、カードビューで閲覧しているレコードのメールアドレスはデータベースシートのどの位置にあるセルなのかを取得するための変数n を追加しただけです。変数の値は、カードビューのうち、カードNo.のすぐ下のセルに数式をいれてあります。

Sub メール作成()
'
' メール作成 Macro
''
Dim n As Variant

n = Range("o2").Value

Sheets("データベース").Select

Range(n).Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True

End Sub



 ほかにもやり方はあると思いますが、これが一番シンプルなのではないかと思います。


(8)その他
 「印刷」フィールドに1を設定したレコードは、Wordで作成した文書に住所録データを差し込んで印刷することができます。
 差込印刷でよく使う事例として、FAX送信票があります。これは、住所録に登録されているデータをそのままWord文書に送るというもので、けっこう便利な機能です。
 その使い方は次回に申し上げることにしたいと思います。

 
by t_am | 2013-07-28 18:30 | Excel のあの手この手
 今回は以前申し上げた教師の役割についての追加させていただきます。

(教師の役割1)
http://tamm.exblog.jp/10236377/

(教師の役割2)
http://tamm.exblog.jp/10243891/


 勤務時間の終了後会社の若手社員を対象に Excel の勉強会を行っているのですが、時折「おお!」という声が湧き起こります。何かというと、ExcelはもとよりWindows について系統だった教育を受けておらず、自己流でパソコンの操作を覚えた人ばかりなので、きちんと教えてやると、「え、こんなことができるの?!」と驚き、「おお!」という声になるわけです。
 彼らを見ていて思ったのは、教育には驚きと発見が必要なのだということです。驚きというのは感動を伴いますし、発見は面白さを感じさせるようになります。そもそも人がなぜ勉強をするのかといえば、勉強することが面白いからです。逆に、強制された勉強は苦痛をともないますから、いずれ飽きてしまいます。
 驚きを感じ、発見をする主体はあくまでも生徒の方ですから、個人差があります。それでも教師は、驚きと発見のための仕掛けを用意することができます。それがすべての生徒に有効であるとは限りませんが、それでも生徒が感動し、目を輝かせているのを見るのは教師にとってこの上ない喜びであるといえます。
 もしも教師に適性があるとしたら、そのような生徒の姿を見て喜びを感じられることであろうと思います。
by t_am | 2013-07-18 22:27 | 社会との関わり
 前回は、私たち日本人は国を大家さんだと思い、自分のことは間借り人だと思っているという小田嶋隆さんのご指摘を紹介したうえで、国民がこれといった負担を求められなくて済んでいる日本は天国みたいな国だと申し上げました。
 しかしながら、実際には教育改革・医療改革・財政改革・行政改革・政治改革などさまざまな改革がこの国では必要だといわれていますし、読者の中にもそのことに同意していらっしゃる方も多いのではないかと思います。けれども、よく考えていただきたいのは、これらの改革というのはどれも運営に関する改革の必要性がいわれているのであって、日本という国のあり方の改革が必要だというわけではないということなのです。

 にもかかわらず、日本のあり方そのものを改革する必要があると主張する人たちがいます。それは誰かというと、安倍総理率いる自民党と一部の識者にほかなりません。彼らがが主張している「日本を取り戻す」というスローガンは、今の日本を否定し、かつて存在していたけれども今では失われてしまった日本を復活させようというものです。
 それでは、どのような日本を取り戻したいのかというと、江戸時代以前の日本のはずはないのですから、これはやはり戦前の日本であると考えるべきでしょう。
 実際、彼らの主張を聞いていると、天皇を国家元首に戴き、強力な中央集権国家をつくりたいために、個人の権利が制限されることもやむを得ないという考えかたであることがわかります。自民党も世代交代が進んだおかげで、戦争の悲惨さを身体で感じていた人たちが引退しつつあります。その代わりに、軍事オタクや秀才が空想する理想社会に近づけようという動きが今の自民党の主流派となりつつあります。

 戦前の日本の特徴は、国が強力な権力を持つ一方で個人の権利はかなり制限され、しかも地方では餓えと隣り合わせの毎日を送らなければならないというものでした。そんな劣悪な環境であっても、お国のためであれば兵隊に行くのも厭わないという気持ち(実際には、軍隊に入れば米の飯が腹一杯食べられるという期待感もあったことでしょう)があったことは間違いないと思います。この、お国のためならば戦地に行ってもよいという気持ちは、今の日本人にはかけているのは明かですから、安倍総理は、お国のためならば進んで戦争に行くという日本人の復活を望んでいるのかもしれません。そういえば、自民党での憲法改正案では、個人の権利を大幅に制限したうえで、戦争ができるようにしようということが書かれています。 

 戦前の日本は、たしかに天皇を国家元首とする強力な中央集権国家でした。それは、欧米列強による植民地支配を免れ、独立を保ちたいという目的を実現するためには、この体制がもっとも現実的だったからです。その未来図は非常な苦労を伴いながらも、何とか実現に漕ぎ着けることができ、その頂点が日露戦争だったといえます。
 日露戦争後の日本は、独立を維持するという当初の目的を達成した後の新しい目標として、八紘一宇(大東亜共栄圏はひとつのいえのようなものである、という意味)というスローガンを掲げ、海外で植民地経営を行う国家を目指しました。日本がかつて侵略を行ったというのはこのことを指しているわけです。

 安倍総理をはじめとする「日本を取り戻す」と主張する人たちの考えが今ひとつ理解できないのは、戦後日本のような中央集権国家を復活させてどうするつもりなのか?という疑問が拭えないからです
 おそらく彼らの気持ちの中にあるのは、いつまで経っても中国や韓国から、「日本がかつて侵略を行ったのはけしからん」といわれ続けるのが嫌になってるということなのでしょう。
 たしかに、中国や韓国がこの問題を外交カードとして使っているということもわかります。けれども、中国や韓国にいつまでも同じことをいわせる日本の側にも甘さがあると行ってよいと思います。どういうことかというと、こういう問題が発生したときのお家芸である「トカゲのしっぽ切り」(あるいは「スケープゴート」といってもよいでしょう)が、この問題では一切行われていないからです。本来であれば、「あの戦争への日本をリードしていった一味は既に処罰され、一掃されてしまいました。今後は人心一新して世界の平和に貢献できる国家づくりに邁進して参ります。」といって、過去の日本を切り離したはずだったのです。
 東京裁判によって処刑された人たちを昭和殉難者として昭和53年に靖國神社に合祀し、しかも総理大臣が靖國神社に参拝することによって、いったん切り離したはずの戦前の日本と現代の日本が再びつながったかのように、外国の人々には見えるのでしょう。実際に、「日本を取り戻す」というスローガンは、戦前の日本を否定するのではなく、むしろ積極的に肯定し、再現させようという動きを現しているかのように私には思えます。
 内閣を延命させるためには、平然と閣僚を更迭することにためらいを見せないのに、どうして戦前の日本を否定しようとしないのかよくわからないのですが、ひとつだけこうではないか? という仮説があります。
 それは、敗戦のときに、本来ならば責任をとらなければならなかったはずの「尊きお方」がお咎めなしで終わったからだ、というものです。
 
 「日本人は、国が大家さんで自分の事は間借り人であると思っている。」という指摘はけっこう深い意味があると思います。

 日本人の国なのに外国の軍隊が駐留していて、基地の中は治外法権であるという事実。外国の飛行機が飛ぶときは日本の管制よりも優先して飛ぶことができるという事実。駐留している軍人が日本人に対して危害を加えたとしても日本の警察は逮捕することができませんし、日本の法律で裁くことができません。私たちは、この国杭は日本人のものであって日本人のものではないという矛盾を絶えず感じてきています。それでも、これまでは「米軍が日本に代わって防衛を担ってくれているので、日本は軍事費の支出を抑えることができ、安心して経済活動に専念することができるのだ。今後も日本が経済成長を目指すのならば、日米同盟は不可欠なのだ。」という風に思われていました。というよりも、今でもそうだと思っている人の方が圧倒的に多いはずです。
 けれども、日本の防衛関係費は現在4兆6千億円という巨額の支出となっており、この金額は日本が世界でも有数の軍事大国であることを示しています。さらに、防衛費のうちかなりの部分がアメリカ製の兵器(戦闘機やイージス艦など)の購入費に充てられており、さらには購入後のメンテナンスのための部品の調達費用も決してバカにならない金額になっているものと想像されます。
 このように、アメリカが身銭を切って日本を守っていてくれるというのは今日ではもはや幻想であり、根拠のない思い込みでしかありません。むしろ日米同盟は、アメリカが自国の利益のために日本の国内に基地を保有し、いつでも好きなときに日本の上空や領海を通航できる権利を保持し、同時にアメリカ製の高額な兵器を日本に買わせるために存在していると思った方がよいのかもしれません。

 したがって、安倍総理をはじめとする自民党の幹部たちは、「日本を取り戻す」ためにはいずれアメリカと対決することが(論理的に)避けられないはずなのですが、実際にやっていることを見ると、訪米やTPPへの参加といった「アメリカのご機嫌伺い」のようなことを繰り返しているわけです。
 いったい頭の中がどういう構造になっているとこういう矛盾した行動がとれるのか、わたしにはいくら考えてもわかりません。

 落語で大家さんという場合、長屋の所有者は別にいて、実態は管理人にすぎません。(このことは、住宅ジャーナリストの山本久美子さんのブログに詳しく書かれています。)

(落語「小言幸兵衛」の長屋の大家は、実はオーナーではない?)
http://suumo.jp/journal/2012/08/31/27633/

 日本人が間借り人で国が大家であるという比喩が、落語における間借り人と大家の関係を示すとするならば、日本という国のオーナーは誰になるかという疑問が浮かび上がってきますが、その答えについては私が申し上げるまでもないでしょう。
 自民党は、この国をオーナーと大家と間借り人でできている国にしたいと考えているのでしょうが、オーナーを公然と戴く以上、自らが有能な大家であろうとするならば、間借り人に我が儘な真似を許すわけにはいかないというとは当然の論理です。その思いの現れが自民党の憲法改正案になるのでしょう。
 だからといって、私たちがそれにつきあわなければならない義理はどこにもありません。
by t_am | 2013-07-17 22:08 | あいまいな国のあいまいな人々
 5月21日に行われた、ラジオデイズのトークライブ「ライブ!9条どうでしょう」でコラムニストの小田嶋隆さんが、「日本人は国が大家さんで、自分たちを間借り人だと思ってるんじゃないか」という指摘をされていました。

「ライブ!9条どうでしょう」
http://www.radiodays.jp/item_set/show/660


 かねてから、日本に社会契約論が定着しないのはなぜなのだろうと疑問に思っていたのですが、小田嶋さんのこの指摘を聞いて長年の疑問が氷解したような気がします。
 小田嶋隆さんがおっしゃる「大家さん」というのは、アパートの大家さんのようなものだと考えてよいと思います。
 間借り人は、きちんと家賃(税金)を払い、周囲の迷惑にならない限り自由に振る舞うことができます。その代わり、大家さんに何か注意をされたときは素直に従わなければなりません。もっとも大家さんが注意するということは滅多にないことなので、そう気にする必要はありません。
 このように、大家さんは間借り人がよほどひどいこと(法を犯す行為)をしない限り、間借り人に対し干渉してくるということはありません。ところが、時代の変化に伴って従来は考えられなかった事件(ストーカー事件やいじめや体罰、振り込め詐欺、児童ポルノなど)が起こるようになってきています。ところが、大家さんの動きがどうも鈍いようなので、間借り人にしてみれば歯がゆくてならないときがあります。そこで、大家さんに対し、アパートの規則をもっと厳しくすべきだと訴える間借り人もいれば、アパートの警備をもっと強化すべきだという間借り人も増えてきているようです。(その声に後押しされたのか、今では街の至る処に防犯カメラという名前の監視カメラが目立たないように設置されるようになりました。)
 間借り人である私たちに課せられた義務は、勤労・納税・子どもに教育を受けさせる義務の3つです。他の国と違って兵役の義務はありませんし、この国を維持するための特別な努力が間借り人に対し求められることもありません。
 こうやって書いてみると、日本というのは天国みたいな国だと思います。もっとも、他の国と比較して、という意味ですが。
 また、日本国民に手厚く保障されている権利は、日本人が自分の手で勝ち取ってきたわけではありません。だからなのでしょうね。自分たちの権利を自ら制限しようとしたり、あるいは放棄しようとする執着心のなさは。
by t_am | 2013-07-16 00:38 | あいまいな国のあいまいな人々
 Excelで用いる関数には、書き方のルール(文法)があって、それを理解しておくと結構いろいろなことができるようになります。文法といってもごく単純なものですから、中学生程度の読解力があれば充分理解できるはずです。

 なお、今回のサンプルファイルも、例によってインターネットディスク上にアップロードしておきましたので、必要な方はダウンロードしてください。(数式の結果を表示させるのでは、数式そのものを表示させるようにしてあります。結果を表示させるには、Excel2003以前のバージョンであれば、「ツール」メニュー→「オプション」から「数式」のチェックを外してください。Excel2007以降であれば、「ファイル」タブから「オプション」の「詳細設定」から「計算結果の代わりに数式をセルに表示する」のチェックを外してください。)

(サンプルファイル)
http://p.tl/LMF3


(用語)
 関数とは、あたえられた演算要素に基づいて答えを導き出す数式のことをいいます。演算の要素のことを「引数」と呼び、導かれた答えのことを「戻り値」と呼んでいます。

(書き方のルール)
①原則として半角英数で記述します。
②先頭には「=」(半角のイコール)をつけます。
③次に関数名を記述します。
④半角カッコの中に引数を書いていきます。
⑤セルの範囲を引数として用いる場合、セル番地とセル番地を半角コロン「:」でつなぎます。
⑥引数として文字列を用いる場合、二重引用符 ” ”で囲みます。例外として、名前として定義してある文字列の場合二重引用符は不要であり、そのまま名前を記述することができます。
⑦引数が2つ以上ある場合、半角コンマで区切ります。
⑧最後に半角カッコを閉じます。

(引数のタイプ)
 引数には値とセルの範囲の2種類があります。たとえば、Excelでもっともよく使われているSUM関数の引数は値でもセル範囲でもよく、またこの2種類を組み合わせて使うこともできます。(下図参照)


c0136904_22204233.jpg



 Excel で、SUM関数の次に使われている(と思われる)IF関数ではどうでしょうか?IF関数の構文は次の通りです。

=IF(条件式,真の場合の結果,偽の場合の結果)

 条件式は、それが成立するかどうかが判定されるので、真(=1)か偽(=2)のいずれかの値をとります。また、真の場合の結果も偽の場合の結果もIF関数の戻り値をあらかじめ指定しておくというものですから、これも値になります。(セル範囲ではない。)

(引数のタイプ別特徴)
 引数にはタイプによってその記述方法に特徴があるので、これを理解しておくと表の作成とメンテナンスの効率がアップします。

①値の場合
 引数が値型の場合、値を直接記述すか、あるいは、ワークシートのどこかに既に値が存在している場合は、そのセルを参照する数式を記述することもできます。つまり、Excelが値として処理できるようにしれやればいいということです。

②セル範囲の場合
 引数がセル範囲の場合、通常は始点のセル番地と終点のセル番地を記述するという方法をとります。関数をコピー&ペーストした祭にセル範囲が変わるのを嫌うのか、それとも利用するのかによって、セル範囲の記述方法は、相対参照・絶対参照・複合参照を使い分けします。
 なお、セル範囲は「名前」として定義しておく(この場合は絶対参照と同じ扱いになります)こともできます。
 さらに、INDIRCT関数を使って、他のセルの中の値をセル範囲として利用することも可能です。


c0136904_2221183.jpg




 下の表のように、関数の引数の記述方法はいろいろな方法が使えることがわかります。この中には、普段使わないやり方も含まれていると思いますが、表の作成やメンテナンスを考えたときに、知っておくと便利です。


c0136904_22214253.jpg
  


(VLOOKUP関数での活用事例)
 VLOOKUP関数の構文は次の通りですが、このうち「検索する値」と「列番号」のタイプは「値」であり、「検索する範囲」のタイプはセル範囲です。

=VLOOKUP(検索する値,検索する範囲,列番号,[検索の型])

 VLOOKUP関数をお使いの場合、列番号には数値をそのまま入れているケースが多いのではありませんか? それが悪いというわけではありません。ただし、その場合、VLOOKUP関数をコピーして使いたい場合、列番号をいちいち修正しなければならないことがあって煩わしい思いをしたことはありませんか?
 列番号も「値」型なのですから、他のセルに列番号とする数値を入力しておき、セル参照形式で記述しておくと、最初の数式をひとつ作成するだけで、後はコピー&ペーストで表を完成させることができます。(下図参照)


c0136904_2222934.jpg




 なお、Ctrl + F キーで表示される「検索と置換」ダイヤログボックスのうち、「置換」機能は数式の一括修正にも使うことができます。下図のように、修正したい範囲をドラッグしてから、Ctrl + F キーを押して「検索と置換」ダイヤログボックスを呼び出します。数式のうち修正したい文字列と修正後の文字列を入力して「すべて置換」をクリックすれば完了です。コピー&ペーストで直せない場合に有効なので、頭の片隅に入れておくと、いざというときに便利だと思います。


c0136904_22223279.jpg




(参考:IF関数における論理式)
 IF関数の最初の引数(条件式)は、その条件が成立する場合は真(TRUE)を返し、成立しない場合は偽(FALSE)を返します。下図は、点数が60点未満であれば不合格、60点以上80点未満であれば合格、80点以上であれば優秀という判定ルールに基づいて、枠の中に入力された点数を自動的に判定するための数式です。
 別途判定表を作成して、VLOOKUP関数(検索の型はTRUE型とします)を使えばどうってことないのですが、ここではIF関数を使っています。
 60点以上80点未満という条件式をどのように記述するかは、図のように、AND関数を使う方法が一般的ですが、条件式が真(1)か偽(0)のいずれかを返す論理式であることを利用して、論理式と論理式の積という記述にすることも可能です。というのは、1×1=1であって、点数が60点以上(真ならば戻り値は1)と点数が80点未満(真ならば戻り値は1)の2つが同時に成立する(真である)には 1×1=1 という式が成り立たなければならないからです。


c0136904_22225731.jpg

by t_am | 2013-07-07 22:23 | Excel のあの手この手