DTP作業者にとっての難易度 ★☆☆☆☆(1)
※2016.7.11にサンプルデータを追加しました(改行コードを〓に置換するマクロを作成)。
※2017.6.15にサンプルデータを更新しました(改行コードを〓に置換するマクロを改良)。
InDesignのデータ結合機能を使用する際、Excelデータにセル内改行が残っていると不具合が生じます。
しかしMac版のExcelでは、通常の検索/置換機能を使ってセル内改行を他の文字(たとえば「〓」)に置換したり削除したりすることはできません。
そこで、これまで私は「LibreOffice」というソフトを使ってセル内改行を〓などに置換してきました。
※LibreOfficeを使う方法については当ブログの「定形フォーマットが並ぶレイアウトを作成する(データ結合)」でご紹介しています。
ただ、環境によってはMac版Excelだけで完結する必要もあるだろうと思い、今回はその方法を考えることにしました。
手順としては、
●データを入力したシートとは別に空白シートを用意する(同ブック内)。
●空白シートのA1セルに「=SUBSTITUTE(Sheet1!A1,CHAR(13),"〓")」と入力する。
●空白シートのA1セルをコピーし、空白シートの他セルにペーストする。
というものです。では動画をご覧ください。
※SUBSTITUTE関数は、あるセル内の特定の文字を別の文字に置き換える関数です。
※「Sheet1!A1」は「Sheet1!」というシートの「A1」セルを示しています(シート名が違う場合はこの部分を書き換えてください)。
※「CHAR(13)」はセル内改行のことです。
※「〓」は置換文字です。必要に応じて書き換えてください。
今回の方法については、以下のサイトを参考にしました。
http://web-memo.co/mac/excel/excel-mac-br-replace/【2015.9.30追記】
※どうやらCHAR(13)はCRで、CHAR(10)はLFのようです。念のため両方とも対応するよう「=SUBSTITUTE(SUBSTITUTE(Sheet1!A1,CHAR(13),"〓"),CHAR(10),"〓")」とし、データを更新しました。
【2016.7.11追記】
※改行コードを検索し、〓に置換するマクロを作成しました。
【2017.6.16追記】
※改行コードを〓に置換するExcelのマクロを更新しました。