【Excel/マクロ】スペースが入ったテキストデータをExcelで見やすく整理する方法

今までは数学や理科などの記事が多かったですが、これから少しずつPCの話も取り入れていこうかなと思います。

というのも、仕事が忙しくなってきた関係で、なかなかブログを書く気力が残っていない日が多くて…。

数学や理科などって、意外と記事にまとめるのが大変なんですよね…

とはいえ、これからも少しずつ更新していきたいと思っています!

というわけで、少し愚痴を挟みましたが…今回のテーマはExcelです。

後半には、マクロの話も少しあるので、参考にしてみてください!

区切り位置設定

まず、テキストデータをExcelに貼り付けます。

今回は説明のために、こんなデータを作ってみました。

このデータをExcelに貼り付けます。

このままだと、C列に行全体のデータが集約されているんですよね。

このままでもそこまで見にくいわけではないですが、データとして扱う上で不便です。

ここで登場するのがコイツ。

データタブの区切り位置設定です。

まず、データが集約されているC列を選択した状態で、区切り位置を押します。

すると、別画面が立ち上がります。

今回は上を選択します。データを見ればわかりますが、固定長のデータではないですよね。

「次へ」を押して次に進むと…

別の画面に推移します。

今回はスペースで区切られているので、スペースを選択して「次へ」を押します。

表示先は、どこでもいいのですが、今回は修正前のデータは不要なので、そのまま上から被せるように、C3セルを選びました。

はい、このように、教科名と点数名が整理されましたね。

中間と期末の間の空白の列は特に意味はないです(笑)

マクロで組むとどうなるか?

このような単純作業を繰り返すのって、面倒ですよね。

たまにやる作業だとしても、定期的に行うのであれば、マクロに任せちゃいましょう。

ちなみに、マクロを記録すると、以下のようなコードになります。

Sub Macro1()
'
' Macro1 Macro
'

'
    Columns("C:C").Select
    Selection.TextToColumns Destination:=Range("C3"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1)), _
        TrailingMinusNumbers:=True
End Sub

データの先頭(今回で言うと科目という文字のセル)をC3セルにするのであれば、このマクロをそのまま使えます。

まとめ

今回は、Excelについて、「スペースが入ったテキストデータをExcelで整理して扱う方法」について解説しました。

Excelは社会人なら切っても切り離せない関係にあるアプリケーションなので、学生さんは学生のうちに慣れておくと、仕事で結構役に立ちますよ。

というわけで、今回はここで終わりです。

最後までお読みいただき、ありがとうございました。