まりふのひと

既存のExcelゴルフスコア表からグラフを作る−1

既存のゴルフスコア表を修整する

表1.既存の表

プライベートに直接関係する情報は、列は残し、内容を削除した。

 この表からグラフを作ろうとしたが、

  • 情報が足らないので項目の追加等を行った。
  • 集計する項目が複数あるが、隣接していると数式のコピーはフィルハンドルで簡単にできるが、離れているとコピーした後に修正が必要。

ということで、次のように変更した。

表2.修整後の表

上図はフォントを「メイリオ」にしてあるが、ここではフォント関連には触れず、対象外とした。

§1.「マクロゴルフスコア表」を使って「年、月、日」を日付型に置き換える

 表1から判るように、日付が「文字列」になっている。これでは後述する「年」を取り出すこと出来ない等の問題点があるので、まず、日付型に置き換えるため、マクロを作成した。

  1. 「マクロゴルフスコア表」を開く。
    • マクロを含んでいるので、それなりの警告が出るので、マクロが使えるようにする。
  2. 対象となる Excelファイルを開く。
    • 【ファイルを開く】ダイアログボックスになったら、ここでは「ゴルフスコア表」を選択し、開く。
  3. 日付型に置換するセルを選択する
    • 例えば、セルA4〜A249 を選択する(Shift+Ctrl+↓ が使える)が、A列を列選択しても問題ない。
  4. Alt+F8 押下。
  5. 【マクロ】ダイアログボックスのマクロ名「…選択セルを日付型に変換する」を選択し、
  6. [実行]する。
  7. 日付型への置換が確認できたら、【マクロ】ダイアログボックスから「…マクロを閉じる」を実行し、マクロを閉じておく。(任意)
    • ここで閉じず、後で手動で閉じても可。
注)
  • 日付型に置換したセルは、プログラムの前提が変わるため繰り返し実行しない方がよい。
  • セルの書式設定は、“gee/mm/dd (aaa)” がお勧め‥‥ かも。(任意)
§2.「開催年」(列)の追加

 「年毎の平均値」を求めるためのキー項目になる。

  1. B列を選択し、右クリック ⇒[挿入]する。
    • 列(または行)を「選択してから右クリック」した方が確実に処理できる。
  2. フィールド名(セルB2)を“開催年”とする。(名前は任意)

  3. セルB4 に計算式“=year(a4)”を入力し、
  4. フルハンドルで数式を下にコピーする。

  5. B列の書式設定をする。
     ∵ 列を挿入すると、左の列の書式を引き継ぐようだ。今回は都合が悪いので書式設定する。
    1. B列を選択し、
    2. 右クリック ⇒ [セルの書式設定]をクリックする。
    3. [表示形式]タブ/[ユーザー定義]で、種類を “0年” にする。
       → 例えば値が “2008” の時、“2008年” と表示される。

  6. 更に、A列の条件付き書式もコピーされるので、これを削除する。
    1. B列を選択する。
    2. [ホーム]タブ/スタイルGr.の[条件付き書式]をクリックし、
    3. [ルールのクリア]をポイント ⇒[選択したセルからルールをクリア]をクリックする。
§3.フィールド名の変更

「並べ替え」や集計を行う時、フィールド名がキーになる。そこで、「言動一致」させるための提案で、実施する/しないは任意。

  1. 「年、月、日」→ 「開催日
    • 「ねん、つき、ひ」は言い難いし、入力に時間が掛かる。
    • 何の日付かを明確にする。
  2. フィールド名の前のスペースを取る
     「Competition」「Out」「In」「中」「Net」等が対象。
    • 言い方が難しく、(全角)スペースがあるのと無いのではコンピュータ上は異なる項目になるため。
    • 中央揃えで対処できるのではないか...
その他
  • 平均値を求める列は連続させておいた方が「計算式のコピー」等 その後が楽。そこで表2のように変更する。
  • 同じ列に数値と文字を混在させない方がよい。
    • 「ハンデ」の“スクラッチ”、「ハンデ」は 0 とし、「備考」に記す...
    • 「順位」の“優勝”等は、「順位」は 1 とし、隣に、例えば「表彰」という列を作るとか...

リスト形式にする

 リスト形式にしておかないと、Excelの機能を充分に発揮できない‥‥ ことはないが、面倒な操作が必須になる。(たぶん)
 この際、「平均スコア」*1 を 2っ(例えば、当年と前年)表示するようにする。

  1. 「平均スコアー」を1行目に移す。
    1. セルE3〜K3 を選択し、
    2. セルE1〜K1 に移動する。(選択した罫線を真上にドラッグ)
  2. 1行目の下に空行を2行作り、フィールド名の行の下の空行を削除する。
    1. 空になっている 3行目を選択し、右クリック ⇒[切り取り]、
    2. 2行目を右クリック ⇒[切り取ったセルの挿入]する。
    3. 3行目を右クリック ⇒[挿入]する。
  3. 3行目の縦の罫線を消し、行の高さを小さくする。(任意)
    • 3行目はリスト形式にするための「区切り行」で、空行が前提。入力してはいけない。
    • 縦の罫線を消すには、[罫線]−[その他の罫線]が便利かも...
  4. 表のタイトル“ゴルフスコア表”の修整(任意)
    1. セルA1〜C2 を選択し、
    2. [セルを結合して中央揃え]にする。
  5. “平均スコアー”の修整
    1. セルE1 の“平均スコアー”をセルD1に移す。
    2. セルD1〜D2 を選択し、
    3. [セルを結合して中央揃え]にする。
    4. [文字列を右に揃える]
  6. 平均スコアーを計算する年を入力する。
    1. 例えば、セルE1 に“2013”、セルE2 に“2014”を入力する。
    2. セルE1〜E2 のセルの書式設定を「ユーザー定義」で “0年” にし、
    3. [文字列を右に揃える]
  7. 「平均スコアー」の書式を整える。

体裁を整える

詳細は省略する。以下は提案。

  1. ウィンドウ枠の固定 ‥‥ 既にできている。
    • A〜C列も固定してもいいかも...
  2. 「開催日」を[条件付き書式]で曜日で色を変えるとか...
  3. 小数点以下がある項目(列)の書式設定(ユーザー設定)
    • “0.?”: 小数点位置が揃う。但し、小数点以下が無くても小数点が表示される。
    • “#.?”: 値がゼロの場合、小数点のみ表示される。
    • “0.?_ ”: 右にスペースが入る。(罫線との間が空く)
  4. 書式設定で小数点以下の桁数を指定すると、四捨五入した値が表示される。(値は変更されない)
    • 例 書式: “0.?”、 値: 34.56、 表示: 34.6
    • 数値を丸める関数は
       切り上げ: RoundUp()
       四捨五入: Round()
       切り捨て: RoundDown()
  5. 複数の列幅を揃えるには
    • 複数の列を選択し、1っの列幅を変更する。
    • 余談)「パット数」を「パット」にするか、R縮小して全体を表示 にすると、フィールド名が切れない...

目次へ

*1:文科省のウェブページ「外来語の表記」によれば、「英語の語末の ‐er, ‐or, ‐ar などに当たるものは,原則としてア列の長音とし長音符号「ー」を用いて書き表す。ただし,慣用に応じて「ー」を省くことができる。」とある。スコア score は re で終わるので、ここでは“ー”を付けないことにする。