第五回 マイクロソフトエクセル

本日の内容

    5-1. 電子メールの活用
    5-2. マイクロソフトエクセル
    5-3. 参考文献

授業のサーバーは http://133.20.160.43/


5-1. 電子メールの活用

電子メールのメッセージ

電子メールのメッセージの定義は RFC822 で定義されている。

RFC822 の要点

  1. 電子メールのメッセージはヘッダとボディに分れる。
  2. 各文字は 7bit で表さないといけない。(基本的には英数字と記号しか許されない)
    (参考: 画像ファイルやワードプロセッサのファイルなどは 8bt で表現されるため、そのままでは送ることができない)
  3. ヘッダは機械が読んで処理を行う。
  4. ヘッダは 項目名: 内容 という形になっている。
  5. 項目名の大文字小文字は区別されない。
  6. ボデイは基本的にテキストファイルを送るように作られている。

主なヘッダの項目

To
宛先
From
差出人
Subject
題名。この項目は後で検索などに利用するので、受信者が検索に便利なように考えて題名をつける。
Date
日付。英語で記述し、時差の表示をする。日本だったら +0900。
Reply-to
返事の送付先
CC
カーボンコピー。メールのコピーを送る送り先を指定する。
BCC
ブラインドカーボンコピー。メールのコピーを送る送り先を指定する。但し、受信者にはこのフィールドの内容は伝わらない。コピーを送付していることを相手に伝えたくないときに有効
Sender
送信者(ボディを書いた人ではなく、実際にメールを送った人)
Receipt-to
相手のメールサーバーが受け取ったとき、サーバーに対して着信報告を送らせる送付先。(対応していないサーバーもあるし、必要がない場合が多いので、多用してはいけない)
Message-id
このメールを識別する番号(MTA)が付ける
Received
メール転送エージェント(MTA)が付ける
In-Reply-to
返事の対象となったメールの message-id

電子メールの送られる仕組

SMTP(Simple Mail Transfer Protocol(RFC821))

メールサーバーへメールを転送するプロトコル。 メールサーバー同士も使用するので、基本的にはこれだけあればメールの転送が行える。

メール送信の例
sender.com TCP #25receiver.com
HELO sender.com
250 receiver.com Hello root@sender.com, pleased to meet you
MAIL FROM:<sakamoto@sender.com>
250 <sakamoto@sender.com>... Sender ok
RCPT TO:<naoshi@receiver.com>
250 <naoshi@receiver.com>... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
From: <sakamoto@sender.com>
To: <naoshi@receiver.com>
Date: Tue, 15 May 2001 13:30:00 +0900
Subject: Test

This is a test message.
.
250 UAA22330 Message accepted for delivery
quit
221 receiver.com closing connection

POP(Post Office Protocol(RFC1255))

メールサーバーからメールをコピーするプロトコル パソコンなど、常にネットワークと接続せず、メールサーバーの機能を持たないコンピュータが、メールサーバーと通信をするためのプロトコル。

ネットワーク上で使用できる記号

ボディ(本文)

電子メールを送る際、日本語の文字として使用できる文字は iso-2022-jp(RFC1468)という規格で決められている。

「CJK Character Tables」(http://www.kudpc.kyoto-u.ac.jp/~yasuoka/CJK.html)に使用できる漢字の一覧の資料がある。

通常パソコンで表示可能な文字は、iso-2022-jp で表示可能な文字に、拡張文字を加えてある。

パソコンで表示可能な文字

要点

  1. 特別なカタカナ(しばしば幅が半分で表示される)は使用できない。
  2. ○つき数字やローマ数字は使用できない。

送信可能でない文字を入力できるメーラーは多いが、送っても相手にどのように送られるかはわからない。 また、相手側のメーラーの性能が悪いと、相手の他のメールも破壊する可能性がある。

テキストファイルは文字の幅を指定できない。 文字の幅を変えた文章を送るには、 HTML 4.01 と CSS を使用すれば良い。

ヘッダ

From や Subject にも漢字が使用できるように拡張する規格がある(MIME-HEADER RFC2047)ため、一部のメーラーで使用できる。(相手に読めている保証はない) From に使用する文字はさらに限られている。 ()"\, などは特殊な意味を持つので、使用する際は注意する(RFC822など)。

引用のしかた、署名

電子メールのマナーは、基本的には通常の手紙や葉書と同じである。 電子メールで気を付けなければならない点は
  1. Subject 欄はコンピュータに読ませ、処理するのに使用するので、特にメールの内容に題名を付けたい場合は、本文で再度明示した方が良い。
  2. 「件名」という言葉はマイクロソフトが独自に使用している言葉で、通常は題名や Subject を指す。
  3. Re は Respect to の意味で、日本語では「〜について」と同じ。 RFC の不備や、メーラーの不出来により、「Re: Re: Re: ...」と重なってしまうことがしばしばある。しかし、これは通常 1 つあれば十分なので、「Re^3」などと表記するのは誤り。
  4. 最近、返信メールの最後に、送ったメールを全文つけて送り返す人が多くなったが、基本的には無駄な行為。(必要があればやってもよい)
また、通常、氏名や連絡先をメールの最後に添付することが行われている。これを「署名」と呼ぶこともあるが、本来「署名」の持つ機能である、書いた内容を保証して著者を明かにする機能は持たない。 実際に署名が必要ならば、PGP などを利用して電子署名をする必要がある。 但し、ほとんどの電子メールは署名を必要としないのも確かである。

添付ファイル

MIME (RFC2045)を利用するとテキストファイル以外を電子メールで送ることができる。 但し、全てのメーラーが MIME に対応しているわけではないので、相手が受信できるかどうか確認する必要がある。

注意点

  1. テキストファイルは添付しない。(葉書を封筒に入れて送るようなもの)
  2. マイクロソフトのメーラーは、本文と同じ内容をデタラメな使い方の HTML で添付して送信する。
  3. 送るファイルのサイズに気を付ける。相手の許可なくして 1MB 以上のデータを添付しないようにする。

電子メールの暗号化

基本的に電子メールはネットワーク上を素通りするため、盗聴が可能である。 電子メールを暗号化して、他人に読めなくする技術も開発されている。 PGP(Pretty Good Privacy)はその中でも有名なパッケージである。 PGP には暗号化の他に、書いた人間を特定し改竄がないことを保証できる電子署名も可能である。

演習

コンピュータプログラムのレポートを電子メールで提出するにはどういう方法が望ましいか? 提出方法のマニュアルを書きなさい。

5-2. マイクロソフトエクセル

表計算とは

セルと呼ばれるものが縦横に並んでいて、そこにデータが入れられるようになっ ている。データを入れて表を完成させ、出力するのが目的であるが、表の中に 計算式を入れることができ、集計などに利用できる機能を持つ。

マイクロソフトエクセルはさらにグラフの作図もできるようになっている。

セルに入れられるもの

  1. 数値
  2. 文字列
  3. 日付
  4. 数式(=で始める)。「×」は「*」、「÷」は「/」で表す。

操作の基本

  1. 訂正
  2. 移動
  3. コピー
  4. カットバッファ
  5. フィルハンドル
    始点と終点の値を指定した領域に対して、「編集」→「フィル」→「連続データの作成」を行うと、中間の値を埋めてくれる。

演習1

次のようにセルを埋めなさい

ABCD
1英語数学国語
2重み0.51.21
3日付英語数学国語
42001/5/1755085
52001/5/2806080
62001/5/3605575
72001/5/4908090
82001/5/5857585

参照

数式でセルの領域を指定できる。

縦横を指定すると一つのセル、縦横の組みを「:(コロン)」で区切ると矩形を指定できる。

指定方法

  1. キー入力
  2. カーソルキーによる指定
  3. ポインタの操作による指定

相対絶対

F4キーで切り換える。絶対参照は、位置の前に「$」記号をつける。
相対参照
指定した参照をコピーすると移動量に応じて自動的に指定する位置がずれる
絶対参照
指定した参照をコピーしても位置が変化しない

数式で使用できる関数

本日使用する関数

SUM
指定領域の足し算
AVERAGE(X)
平均
STDEV(X)
標準偏差
LARGE(X,Y)
領域Xの中で上位 Y 番目の値を返す。
IF(X,Y,Z)
条件 X が真なら Y、偽なら Z を返す。
SIN(X)
三角関数の一つ、正弦関数。
LINEST(X,Y,Z,U)
最小二乗法の係数を求める。Z=FALSE なら y 切片が0 であることを指定する。 U=TRUE なら 傾きと切片の他に、各補正値が得られる。単純に傾きと切片を求めたい場合は Z=TRUE, U=FALSE とする。
MAX,MIN
領域内の最大値、最小値を求める。
LOG
常用対数
DAVERAGE(X,Y,Z)
データベース関数、データベース X の領域 Y を条件 Z に沿って平均を求める。

演習

  1. B4 から D8 と同じものを B10 から D14 に作る。
  2. E3 に「合計」の見出しを作り、B4, C4, D4 の合計を E4に、B5-D5 の合計を E5 に、... B8-D8 の合計を E8 に作る。
  3. F3 に「重みつき合計」の見出しを作り、 B4*B2+C4*C2+D4*D2 を F4 に、... B8*B2+C8*C2+D8*D2 を F8 に作る。
  4. 表を整形する
ABCDEF
1英語数学国語
2重み0.51.21
3日付英語数学国語合計重みつき合計
42001/5/1755085=SUM($B4:$D4)=B4*B$2+C4*C$2+D4*D$2
52001/5/2806080=SUM($B5:$D5)=B5*B$2+C5*C$2+D5*D$2
62001/5/3605575=SUM($B6:$D6)=B6*B$2+C6*C$2+D6*D$2
72001/5/4908090=SUM($B7:$D7)=B7*B$2+C7*C$2+D7*D$2
82001/5/5857585=SUM($B8:$D8)=B8*B$2+C8*C$2+D8*D$2
9
10=B4=C4=D4
11=B5=C5=D5
12=B6=C6=D6
13=B7=C7=D7
14=B8=C8=D8

テキストファイルとの連携

テキストファイルを読み込み、処理を行ったあと、再びテキストファイルとして出力する。

  1. 成績ファイルから、成績シートを作る。
  2. 合計点、標準偏差を計算し、偏差値の表を作る。
    偏差値=(素点 - 平均点)*10/(標準偏差) + 50
  3. 合格者数に「5」など任意の数を入力する。
  4. 合格者数から、合格点を求める。
  5. 合否の表示をする。
  6. テキストファイルにする。

データベース操作

検索条件を指定して、集計を行う。

  1. 「英語」「数学」「合計」「偏差値」「合否」の欄をコピーする
  2. データベース関数を設定する。
  3. 次の条件を指定し、平均点を求める。
    1. 合格者が 6 人の時の合格者の合計点の平均
    2. 数学が 50 点以上の人の合計点の平均

グラフ作成機能

グラフ作成機能を使う

  1. 成績シートから棒グラフを作る。
  2. 三角関数のグラフを作る。θが 0 から 2πまでの sin(θ)のグラフを作る。

カットバッファの活用

マルチウィンドウのシェルでカットバッファを提供するものがある。 (マイクロソフトウィンドウズも提供している) これを利用するとアプリケーションソフトウェア同士で情報のやり取りが容易になる。

Ctrl-X
カット
Ctrl-C
コピー
Ctrl-V
ペースト
  1. 先程作成したグラフをマイクロソフトワードに貼り付けなさい。

最小二乗法

x,y の組の複数の値が与えられたとする。 このデータが、y=ax+b という関係をもつと仮定して、 a と b の値を求める

問1

データ2は y=ax+b という関係を持っている。
  1. データ2 をグラフに表しなさい。
  2. a と b の値を求めなさい。
  3. a と b の値を用いて、グラフに線を引きなさい。

問2

データ3は y=b x^a (bかける x の a 乗)という関係を持っている。

  1. データ3 をグラフに表しなさい。
  2. a と b の値を求めなさい。
  3. a と b の値を用いて、グラフに線を引きなさい。

5-3. 参考文献

  1. 加藤弘一「電脳社会の日本語」文春新書 094 (2000)

坂本直志 sakamoto@c.dendai.ac.jp