====== 【データリテラシー】第2回 表計算ソフトの基本操作 ======
===== 表計算ソフトとは =====
表形式でデータを扱い様々な計算を行うアプリケーション(ソフトウェア)を__**表計算ソフト(Spreadsheet)**__という。
計算だけでなく、グラフを描いたり、マクロで作業を自動化することもできる。
表計算ソフトの代表的なものとしては Microsoft Excel や LibreOffice Calc などがある。
  * [[office:libreoffice]]
===== LibreOffice Calc =====
==== 起動方法 ====
  - ウインドウの無い場所でマウスの左ボタンを押し、ルートメニューを表示する。
  - ルートメニューの ''**[Libreoffice]**'' を選択する。
  - 下図のようなウインドウが開く。
     * 新規作成なら ''**[Calc 表計算ドキュメント]**'' をクリックする。
     * 既存のファイルを開きたいなら ''**[ファイルを開く]**'' をクリックする。
     * 過去に編集したファイルを開きたいなら右側の一覧から選択する。
{{ calc_start.png?nolink |Calcの起動}}
----
==== 操作画面 ====
{{ calc_screen.png?nolink |Calcの操作画面}}
^  部品           ^  機能                                           ^
| メニューバー    | 様々な機能をメニューから選択して実行する。      |
| ツールバー      | 特別な機能を直接実行する。                      |
| 数式バー        | セルの内容を編集したり、数式を入力したりする。  |
| サイドバー      | 様々な設定を表示する。                          |
| ステータスバー  | 状態を表示する。                                |
----
==== スプレッドシートのレイアウト ====
{{ calc_spreadsheet.png?nolink |スプレッドシート}}
=== シート ===
縦横に分割された一枚の表を__**シート**__という。
表のそれぞれの枠を__**セル**__という。
=== セル ===
セルには数値、文字列、数式を入力する。
セルには直接入力できるが、数式バーを使っても入力できる。
セルごとに色を付けたり、装飾したりすることもできる。
=== 列ヘッダ ===
列ヘッダには列番号がアルファベット(A,B,C,...)で示される。
=== 行ヘッダ ===
行ヘッダには行番号が数字(1,2,3,...)で示される。
=== シートタブ ===
一つのスプレッドシートには複数のシートを含めることができる。
シートはシートタブで切り替えたり、追加・削除したりできる。
----
==== ショートカットキー ====
  * [[office:libreoffice#LibreOfficeのショートカットキー]]
===== セルの基本操作 =====
==== セルへの入力 ====
セルには数・テキスト・日時・数式などが入力できる。
セルに入力したものを確定させるには Enter かカーソルキーを押す。
確定したくない場合は Esc を押す。
セルに入力したものがそのままシート上に表示されるわけではない。
例えば、数式を入力すると、シートにはその演算結果が表示される。
セルの内容は、セルを選択して数式バーを見るか、セルをダブルクリックすれば分かる。
=== 数の入力 ===
  * 数字のみを入力して確定すると「数」として自動的に認識される。
=== テキストの入力 ===
  * 文字を入力して確定すると「テキスト」として自動的に認識される。
  * 数字を強制的にテキストとして認識させたい場合は頭に「'」(アポストロフィ)を付ける。
  * 単一セルに複数行のテキストを入力したい場合は C+Enter で改行できる。
  *  単一セルに複数行のテキストを入力したい場合は A+Enter で改行できる。
\\
=== 日時の入力 ===
^  入力形式                    ^  自動認識                                         ^
| ''%%西暦/月/日 時:分:秒%%''  | 日付                                              |
| ''%%西暦/月/日%%''           | 日付(時刻は 00:00:00 になる)                    |
| ''%%月/日 時:分:秒%%''       | 日付(西暦は入力時の年になる)                    |
| ''%%月/日%%''                | 日付(西暦は入力時の年、時刻は 00:00:00 になる)  |
| ''%%時:分:秒%%''             | 時刻                                              |
  * 「'':秒''」の入力を省略すると 00秒になる。
  * 日付の区切りの「''/''」は「''-''」でもよい。
=== 数式の入力 ===
  * 頭に「''=''」を付けると「数式」として認識される。
----
==== セルの選択 ====
=== 単一セルの選択 ===
  * セルをクリックする。
=== 連続する複数セルの選択 ===
  * 選択したい範囲のセルをマウスでドラッグする。
  * マウスでドラッグしない方法
    - 選択したい範囲の一つの角にあるセルをクリックする。
    - 選択したい範囲の反対の角にあるセルを S を押しながらクリックする。
  * キー操作のみで行う方法
    - 選択したい範囲の一つの角にあるセルを選択する。
    - S を押しながらカーソルキーで範囲を広げる。
=== 連続しない複数のセルの選択 ===
  * 選択したいセルを C を押しながらクリックもしくはドラッグする。
=== 全てのセルの選択 ===
  * C+a を押すとシート全体のセルを選択する。
  * C+a を1回押すと選択しているセルを含む表の領域を選択する。
  * C+a を2回押すとシート全体のセルを選択する。
\\
----
==== セルの内容の削除 ====
  * セルを選択して Del を押す。
----
==== セルの結合・分割 ====
複数のセルを結合したり、結合したセルを分割したりできる。
=== 結合 ===
  - 結合したい複数のセルを選択する。
  - ツールバーの ''**[セルの結合と中央寄せ]**'' ボタンをクリックするか、右クリックしてコンテキストメニューから ''**[セルの結合]**'' を選択する。
=== 分割 ===
  - 結合されたセルを選択する。
  - ツールバーの ''**[セルの結合と中央寄せ]**'' ボタンをクリックするか、右クリックしてコンテキストメニューから ''**[セルの分割]**'' を選択する。
セルを結合するとそのセルを利用した計算やコピペなどでうまくいかないことがある。
その場合はセルを分割してから行う必要がある。
----
==== セルの挿入・削除 ====
=== 挿入 ===
空欄のセルを挿入する。
  - セルを挿入したい場所のセルを選択する。
  - 右クリックしてコンテキストメニューから ''**[挿入]**'' を選択する。
  - ダイアログが開くのでどれかを選択する。
    * ''**[セルを下に移動]**'':挿入場所のセルを下にシフトさせる。
    * ''**[セルを右に移動]**'':挿入場所のセルを右にシフトさせる。
    * ''**[行の挿入]**'':1行まるまる挿入して、挿入場所の行を下にシフトさせる。
    * ''**[列の挿入]**'':1列まるまる挿入して、挿入場所の列を右にシフトさせる。
=== 削除 ===
  - 削除したいセルを選択する。
  - 右クリックしてコンテキストメニューから ''**[削除]**'' を選択する。
  - ダイアログが開くのでどれかを選択する。
    * ''**[セルを上に移動]**'':削除場所から下のセルを上にシフトさせる。
    * ''**[セルを左に移動]**'':削除場所から右のセルを左にシフトさせる。
    * ''**[行全体を削除]**'':1行まるまる削除して、削除場所から下の行を上にシフトさせる。
    * ''**[列全体を削除]**'':1列まるまる削除して、削除場所から右の列を左にシフトさせる。
----
==== セルのコピー・カット&ペースト ====
コピー&ペーストはいわゆるコピペである。
セルを選択し、__**コピー**__で一時的にコンピュータに記憶させ、__**ペースト(貼り付け)**__で記憶したものを貼り付ける。
コピー&ペーストは他のアプリケーション(Firefox など)との間でも一般的には可能である。
コピーの代わりに__**カット(切り取り)**__もできる。
コピーでは元のセルの内容は削除されないが、カットでは元のセルの内容は削除される。
カットしたものはコピーと同様にペーストで貼り付けられる。
=== コピー・カット ===
  - コピーもしくはカットしたい範囲を選択する。
  - 選択した場所で右クリックしてコンテキストメニューから選択する。
    * コピーなら ''**[コピー]**''(ショートカットキーは C+c)
    * カットなら''**[切り取り]**''(ショートカットキーは C+x)
=== ペースト ===
  - 貼り付けたい場所のセルを選択する。
  - 右クリックしてコンテキストメニューから ''**[貼り付け]**'' を選択する(ショートカットキーは C+v)。
ペーストではコンテキストメニューの ''**[形式を選択して貼り付け]**'' から項目を選択することで貼り付けの形式を指定できる。
^  項目                                   ^  機能                                                                                                            ^
| ''**[書式設定されていないテキスト]**''  | コピー元の書式を引き継がずに貼り付ける。\\ コピー元が数式の場合は処理結果を貼り付ける。                          |
| ''**[テキスト]**''                      | コピー元の書式を引き継がずにテキストのみを貼り付ける。\\ コピー元が数式の場合は処理結果のテキストを貼り付ける。  |
| ''**[数値]**''                          | コピー元の書式を引き継がずに数値のみを貼り付ける。\\ コピー元が数式の場合は処理結果の数値を貼り付ける。          |
| ''**[数式]**''                          | コピー元の書式を引き継がずに数式のみを貼り付ける。                                                               |
| ''**[形式を選択して貼り付け]**''        | 細かく貼り付け形式を指定できる。                                                                                         |
セルにペーストすると、上書きでペーストされるので、上書きしていい内容なのか注意する。
上書きせずに挿入する場合は、次のようにする。
  - 貼り付けたい場所のセルを選択する。
  - 右クリックしてコンテキストメニューから ''**[形式を選択して貼り付け]**'' を選択する(ショートカットキーは [Shift]+[Ctrl]+[V])。
  - 「セルの移動」で ''**[下へ]**''もしくは ''**[右へ]**'' を選択する。
  - ''**[OK]**'' をクリックする。
  - 貼り付けたい場所のセルを選択する。
  - 右クリックしてコンテキストメニューから ''**[コピーしたセルの挿入]**'' もしくは ''**[切り取ったセルの挿入]**'' をクリックする。
  -  ''**[右方向へシフト]**''もしくは ''**[下方向へシフト]**'' を選択する。
  - ''**[OK]**'' をクリックする。
\\
===== マウスによるセルの操作 =====
==== セル範囲の移動 ====
  - 移動したいセル範囲を選択する。
  - 選択したセル範囲をマウスでドラッグして移動する。
----
==== 連続する範囲へのコピー ====
連続する範囲にセルをコピーしたい場合は次のようにする。
  - コピーしたいセルを一つ選択する。
  - 選択したセルの右下の角にマウスをのせるとカーソルが「+」に変わる。
  - そこでコピーしたい方向にドラッグする。
絶対参照や相対参照(後述)の場合はコピー&ペーストと同じ動作になる。
=== 数や日付の場合 ===
  * 右方向か下方向なら値が 1 ずつ増える。
  * 左方向か上方向なら値が 1 ずつ減る。
  * C を押しながらドラッグすると値は増減しない。
  * 単純にドラッグすると値は増減しない。
  * C を押しながらドラッグすると値は増減する。
\\
数や日付の場合には 1 ずつ以外の増減もできる。
例えば、列方向に $0,5,10,15,\cdots$ のように 5 ずつ増やしたい場合は以下のようにする。
  - セルに「''0''」を入力し、その下のセルに「''5''」を入力する。
  - 値を入力した二つのセルを選択する。
  - 選択したセル範囲の右下の角にマウスをのせるとカーソルが「+」に変わる。
  - そこで下方向にドラッグする。
===== 行や列の操作 =====
ある行のセル全てや、ある列のセル全てについて操作したい場合に、一つ一つのセルを操作するのは非効率である。
行や列については、「行ヘッダ」もしくは「列ヘッダ」を選択することでセルと同様の操作ができる。
----
==== 行幅と列幅の変更 ====
  * マウスで変更する場合
    - 幅を変更したい行もしくは列を選択する(複数選択可)。
    - 行ヘッダの行と行の境界、もしくは列ヘッダの列と列の境界をマウスでドラッグする。
  * 数値で指定する場合
    - 幅を変更したい行もしくは列を選択する(複数選択可)。
    - 右クリックしてコンテキストメニューの ''**[行幅]**'' もしくは ''**[列幅]**'' を選択する。
    - 幅を数値(単位は cm)で入力する。
===== セルの書式設定 =====
書式を変更したいセルを選択して以下のいずれかの操作で書式の設定を行う。
^ メニューバー          | ''**[書式]**''%%→%%''**[セル]**'' を選択  |
^ コンテキストメニュー  | ''**[セルの書式設定]**'' を選択           |
  * 「セルの書式設定」のダイアログが現れるので、その中でタブを選択して設定する。
  * サイドバーの ''**[プロパティ]**'' ボタンでも簡単な設定はできる。
----
==== 表示形式 ====
セルの表示形式を変更するには ''**[数値]**'' タブで行う。
=== 数の桁区切りのカンマを表示 ===
  * 「カテゴリー」を ''**[数]**'' にして、オプションで ''**[3桁区切り]**'' のチェックを入れる。
=== 数の小数点以下の桁数の変更 ===
  * 「カテゴリー」を ''**[数]**'' にして、オプションで ''**[小数点以下の桁数]**'' の数字を変える。
  * 表示される桁より一つ下の桁の数字が四捨五入されて表示されるが、これは表示上そうなっているだけで、セルの内容の数値はそのままである。
  * 桁数が増えすぎてセルの幅を超えると「###」と表示される。
=== 数をパーセントで表示 ===
  * 「カテゴリー」を ''**[パーセント]**'' にする。
=== 日付の表示形式の変更 ===
  * 「カテゴリー」を ''**[日付]**'' にして、形式から選択する。
  * 西暦を和暦で表示することもできる。
=== 時刻の表示形式の変更 ===
  * 「カテゴリー」を ''**[時刻]**'' にして、形式から選択する。
----
==== 配置 ====
セル内で文字をどのように配置するかは ''**[配置]**'' タブで行う。
=== セルの末尾でテキストを折り返す ===
  * プロパティの ''**[テキストを自動的に折り返す]**'' のチェックを入れる。
  * ''**[ハイフネーションを行う]**'' にチェックを入れると、英単語を途中で分けて折り返すときに「''-''」(ハイフン)が自動的に入る。
=== セルの幅に合わせてフォントを自動的に縮小 ===
  * プロパティの ''**[セルサイズに合わせて縮小]**'' のチェックを入れる。
----
==== 枠線 ====
セルに枠線(罫線)を引くのは ''**[枠線]**'' タブか、ツールバーの ''**[枠線]**'' ボタンで行う。
シート上のセルには初めから薄い枠線が見えるが、これは印刷されないため、印刷される枠線はこの操作で引く必要がある。
===== シートタブの操作 =====
  * シートタブに並んだタブをクリックすることでシートを切り替えることができる。
  * シートタブの左にある ''**[+]**'' をクリックすると新しいシートを追加できる。
  * その他の操作は、シートタブ上で右クリックしてコンテキストメニューから ''**[シートの挿入]**''''**[シートの削除]**'' などを選択する。
===== 検索と置換 =====
セルに含まれる文字は検索したり、別の文字に置換できる。
----
==== 検索 ====
^ メニューバー    | ''**[編集]**''%%→%%''**[検索]**'' を選択  |
^ ショートカット  | C+f                               |
  * 下側に検索バーが現れるので、検索したい文字を入力し、Enter を押すたびに次々と検索される。
  * この操作ではシート全体が検索対象となる。
----
==== 検索と置換 ====
^ メニューバー    | ''**[編集]**''%%→%%''**[検索と置換]**'' を選択  |
^ ショートカット  | C+h                                      |
この操作で「検索と置換」のダイアログが表示される。
  * 検索のみを行う場合、「検索」に検索したい文字を入力して ''**[すべてを検索]**''''**[前を検索]**''''**[次を検索]**'' のどれかをクリックする。
  * 検索と置換を行う場合、「検索」に検索したい文字、「置換」に置き換えたい文字を入力して ''**[置換]**''''**[すべて置換]**'' のどれかをクリックする。
  * 正規表現を使うとより強力な検索が可能になる。
  * あらかじめセルの範囲を選択しておくことで、その範囲内でのみ検索や置換が行える。
===== ファイル形式 =====
  * [[office:libreoffice#LibreOfficeのファイル形式]]
LibreOffice Calc で内容を保存するために一般的に使うファイルは拡張子が .ods のファイルになる。
Microsoft Office などと互換性を保つために以下のファイルも扱うことができる。
^  拡張子  ^  ファイルの種類                                    ^
| .ods     | ODF 表計算ドキュメント(Open Document Spreadsheet)  |
| .xls     | Microsoft Excel用ファイル(97-2003)               |
| .xlsx    | Microsoft Excel用ファイル(2007以降)              |
| .csv     | CSV ファイル(CSV 形式のファイル)                 |
===== CSV形式 =====
CSV ファイルは拡張子が .csv のファイルで、一般的に __**CSV 形式**__((Comma-Separated Values の略である。))で保存されている。
CSV ファイルを emacs などのエディタで開いてみると分かるが、中身はプレインテキスト(平文)で、データが「,」(カンマ)で区切られている。
CSV ファイルは非常に単純なデータ構造をしているので利用がしやすく、表計算ソフトだけでなくプログラムでも扱いやすい。
しかし、設定した書式やグラフを保存するなどの複雑なことができないので、グラフなどと一緒に保存するには表計算ソフト独自のファイルフォーマット(拡張子が .ods や .xlsx のファイル)で保存することになる。
=== CSVファイルの例 ===
[[dataset]]
----
==== 文字コード ====
コンピュータ内部では、各種文字には番号が付けられて管理されている。
これを__**文字コード**__という。
コンピュータや %%OS%% ごとに異なる文字コードが付けられていると互換性に問題があるので、文字コード規格が定められている。
日本語の文字コードには歴史的経緯から複数の規格が存在し、現在も統一されていないため、気をつける必要がある。
その中で CSV ファイルに主に関係するのは以下の二つの規格である。
^  文字コード規格  ^  説明                                                                   ^
| UTF-8            | 日本語だけでなく、様々な言語の文字コードを定めた国際的な規格            |
| Shift_JIS        | 主に Microsoft の  %%OS%% やアプリケーションで使用される文字コード規格  |
インターネットからダウンロードできる CSV ファイルは、ほとんどが Shift_JIS で書かれている。
これは Microsoft Excel で扱う CSV ファイルの文字コードが Shift_JIS だからである。
一方、UTF-8 はテキストファイルや HTML を扱うために主流になっている文字コードであり、Ruby などで扱うには UTF-8 の方が都合がよい。
----
==== CSVファイルの取扱い ====
LibreOffice Calc は様々な文字コードに対応しているが、適切な文字コードを指定しないと文字化けが起こる。
=== CSVファイルの読み込み ===
  - 起動時の ''**[ファイルを開く]**'' か、メニューバーの ''**[ファイル]**''%%→%%''**[開く]**'' で CSV ファイルを選択する。
  - 「テキストのインポート」のダイアログにおいて、「文字エンコーディング」で文字コード ''**[Unicode(UTF-8)]**''''**[日本語(Shift-JIS)]**'' などを選択する。
=== CSVファイルへの保存 ===
  - メニューバーの ''**[ファイル]**''%%→%%''**[名前を付けて保存]**'' もしくは ''**[コピーを保存]**'' を選択する。
  - ファイル名を付けて、形式で「テキストCSV(.csv)」を選んで ''**[保存]**'' ボタンをクリックする。
  - 「文字エンコーディング」で文字コード ''**[Unicode(UTF-8)]**''''**[日本語(Shift-JIS)]**'' などを選択する。
  * [[tips:csv]]
\\
===== 課題 =====
以下の形式で秋学期の自分の時間割を作成しなさい。
{{ ex2-1.png |時間割の例}}
作成した時間割は ODF 表計算ドキュメント(拡張子 .ods)で提出すること。