セル内改行ごとに文章を分ける。
この記事は自分用の覚え書きです。
■macOS Mojave
バージョン 10.14.3
■ Office365 Business サブスクリプション
Excel for Mac バージョン 16.22(190211)
M.K さん。
職場に Mac が入ってきましたね。慣れていないので、使っているとなんか変な気分です。
いろいろ話を聞いていると、どうも今後は Mac になっていくような……。
うちの社内でバリバリとエクセルを使うというのなら、Windows版エクセルのほうがよいと思うのですが。
社内のPCがどうなるかなんて僕らにはどうにもならない話です。不平不満は飲み込んで、粛々と従うしかないですね。
とはいえ、愚痴を言いたくなるもので——Mac版エクセルは、致命的ではないですがどこか雑な感じがします。
なにより、Windows版には実装されている「データの取得」がありません。
これには驚きました。
Excel for Mac のユーザーはずっとこの環境を強いられていたんですね。今もまだ……。
米マイクロソフトのサイトにある "excel.uservoice" の "Add PowerPivot to Mac excel" というカテゴリーには、「早く実装してください!」といった声がたくさん寄せられています。
「データの取得」が実装されるのはいつになるやら——です。
そういえば、Office365サブスクリプションですよ。お金を定期的に取っておいて今まで放置——実装されるのはいつになるかわからない——なんていうのは……マイクロソフトもなかなか太いことをするなあと思います。
大人の事情がいろいろあるんでしょうね。
とまあ、セル内改行をしている文章を、それぞれ別のセルに分ける件です。
1つの段落内に「。」が複数箇所あるので、「。」を区切り文字付きの「。/」といった感じに置換するやり方では、改行ごとに分けることはできません。
■考え方
Windows版でもそうですが、セル内改行は改行コードを伴っています。目には見えませんが。
だとしたら、改行コードそのものを区切り文字に置き換えてやれば、エクセルの「区切り位置」の機能を使って、セル内改行ごとに分けることができます。
■手順
ここでは、CHAR 関数と SUBSTITUE 関数を使っています。
1. CHAR 関数で改行コードを生成
=CHAR(10) の数式で改行コードを生成できます。
Windows版エクセルと同じです。
Excel for Mac では「CHAR(13) が改行コードになる」との記述がネットでは見当たりますが、私の手元では CHAR(10) で改行コードを生成できています。
Excel for Mac のバージョンによって違うのかもしません。そのあたりは私にはわかりません。
2. SUBSTITUE 関数でそれを区切り文字(上図では半角の / )に置換
何をしているかがより理解しやすいように、作業列で CHAR 関数と SUBSTITUE 関数を分けました。(セル B2 と C2 )
セル A2 のなかにある改行コードが、セル C2 では / になっています。
区切り文字として使える字数は1文字。
仮に、SUBSTITUE 関数で改行コードを // に置き換えても、「区切り位置」の機能では使えない。
3. SUBSTITUE 関数が返してきた結果( C2 )をコピーして、任意のセルに「値貼り付け」。
C2 のままでは「区切り位置」の機能は使えないので、隣のセル( D2 )に値貼り付けしています。
4. セル D2 を選択しておいて、「データ」タブの「区切り位置」をクリック
5. 「区切り記号付き」にチェックを入れて「次へ」
6. 「その他:」をチェックして隣の欄に区切りとして使う文字を入力し、「次へ」
区切り文字は全角と半角を区別する。
SUBSTITUE 関数で改行コードを半角の / に置換しているので、ここでは 半角の / を入力している。
7. 今回扱っているのは単なる文字列なので、列のデータ形式は「標準」のままでよい。
「表示先」で任意のセル参照を入力。(図では E2 )
8. 「完了」をクリックするとセル D2 の文字列が別々のセルに分かれる。
| 固定リンク
コメント