私が管理しているホームページに、ある”表”があります。
それは4列×20行程度あり、年に数回更新されます。
表イメージ
日程 | 場所 | 種類 | 期間 |
平成30年05月19日(土) | 新潟県新潟市 | 普通 | 平成30年05月01日(火)~平成30年05月14日(月) |
表の数値やデータはコピペできる状態なのですが、ホームページの更新となると結構な手間がかかります。
表html例
<table> <tr> <td>日程</td><td>場所</td><td>種類</td><td>期間</td> </tr> <tr> <td>平成30年05月19日(土)</td><td>新潟県新潟市</td><td>普通</td><td>平成30年05月01日(火)~平成30年05月14日(月)</td> </tr> </table>
1列につき日程、場所、種類、期間、合計4個のデータをそれぞれコピペ、その作業を20回繰り返す…
やりたくないと思ってしまいます。
さらには頂くデータとHPの表示が多少違っています。
HPを頂くデータに合わせればよい話かもしれませんが、諸々の作業をExcelを使って作業してみました。
コーディング前のExcel諸々作業
西暦を和暦に直した
『2018/5/12(土)』を『平成30年05月12日(土)』に直す、意味があるのかわからない作業。
まず『2018/5/12(土)』を『2018/5/12』にするために曜日を消す。
=LEFT(A1,LEN(A1)-3)
式の意味:A1セルの右から3文字分を消す。
次に和暦に直す。
=DATESTRING(B1)
式の意味:B1セルを和暦に。
そして曜日を表示させる。
=TEXT(C1,”(aaa)”)
式の意味:C1の日付の曜日を表示。(曜日)に。
その他に下記のように表示もできるようです。
aaa → 月、火、水…
aaaa → 月曜日、火曜日、水曜日…
(aaa) → (月)、(火)、(水)…
ddd → Mon、Tue、Wed…
dddd → Monday、Tuesday、Wednesday..
最後に和暦と曜日のテキストを繋げる。
=C1&D1
『~』を入れたい時は、
=E1&”~”&D1
式の意味:E1と~とD1のテキストを繋げる。
データを表にコーディング
目的は、日程、場所、種類、期間のデータを下記内容にすることです。
<table> <tr><td>日程</td><td>場所</td><td>種類</td><td>期間</td></tr> <tr><td>平成30年05月19日(土)</td><td>新潟県新潟市</td><td>普通</td><td>平成30年05月01日(火)~平成30年05月14日(月)</td></tr> </table>
難しいことは考えず、単純にコードの形に<table>、<tr>、<td>タグを追加しました。
あとは同行のテキストを結合しました(画像W列)。
H4からV4までのテキストを結合する式
=H4&I4&J4&K4&L4&M4&N4&O4&P4&Q4&R4&S4&T4&U4&V4
なんかスマートではない式ですが、これでデータを入れると、表のコードをすぐに作れるようになりました。