扱いにくい「年」の例
「YYYY年」の位置が扱いにくデータをインポートした例です。
これを今回、こうします。
Power Query エディターの機能やM式言語を使って簡単にできるのかもしれませんが、今回は(恐らく)地道な手順で整形しました。
例からの列機能でErrorを生成
まず、「月」を「月a」と置換します。
これは後でエラーを出すためです。
Column1列を選択した状態で、上部メニューから「列の追加」→「例からの列」→「選択範囲から」を選び、列を追加します。
追加された列(以下の場合「列1」)の先頭のセルをクリックして「2021年(Column1からの年)」を選びます。
そうすると、YYYY形式以外のセルが「Error」になります(追加した列を先頭に移動しています)。
ここで、例えば「5月a」を置換前の「5月」のままにしておくと「今年の5月」と認識してしまい、「Error」でなく「2023」(年)が記載されます。
時間要素と認識させないために、「5月a」としました。
「5月b」でも「5月z」でも「5がつ」でもよかったということです。
フィル→下へを使うための「null」
次に下方向にフィル(コピー)する機能を使うための準備をします。
「年」列の「Error」を置換できるように、列の型を文字列型に変換します。
変換後、列の部分を右クリックして「エラーの置換」で「null」に置換します。
上部メニューの「変換」→「フィル」→「下へ」を実行すると、「null」がその上の値に上書きされます。
フィルターなどで仕上げ
これでやりたいことはほぼできました。
後は仕上げです。
Column1列に対し「a」を取り除く置換を行います(ブランクに置換)。
加えて今回の場合「MM月」の前にスペースが入っているので、「変換」→「書式」→「トリミング」で取り除きます。
Column1列のドロップダウンメニューから「テキストフィルター」→「指定の値で終わる」を選び「月」と指定して必要な値のみ残します。
YYYYMMDD形式にする場合
YYYYMMDD形式の列を用意する場合は、「年」列に対し「変換」→「書式」→「サフィックスの追加」で「年」を追加します。
「年」列とColumn1列を選択し、右クリックから「列のマージ」を選び結合。
最後に「型の変更」→「日付」とします。