Excel での改行操作の微妙な点

キーボード ショートカットを使用して追加された、同じセル内の改行 他の+入力します は非常に一般的で一般的なことです。 長いテキストに美しさを加えるために、ユーザー自身が作成することもあります。 動作中のプログラム (hello 1C、SAP など) からデータをアンロードするときに、このような転送が自動的に追加されることがあります。問題。 そして、それらを正しく処理する方法を知っていれば、そうならないかもしれません.

この問題について詳しく見ていきましょう。

置換による改行の削除

ハイフンを取り除く必要がある場合、通常最初に頭に浮かぶのは、古典的な「検索と置換」手法です。 テキストを選択し、キーボード ショートカットで置換ウィンドウを呼び出します Ctrlキー+H または経由 ホーム – 検索と選択 – 置換 (ホーム — 検索と選択 — 置換). XNUMX つの矛盾 - トップ フィールドに入力する方法があまり明確ではない 見つけるには (何を見つける) 目に見えない改行文字。 他の+入力します ここでは、残念ながら機能しなくなりました。このシンボルをセルから直接コピーしてここに貼り付けても失敗します。

組み合わせが役立ちます Ctrlキー+J – それが代替案です 他の+入力します Excel のダイアログ ボックスまたは入力フィールドで:

点滅カーソルを一番上の欄に入れて を押した後、 Ctrlキー+J – フィールド自体には何も表示されません。 怖がらないでください – これは正常です。シンボルは見えません 🙂

一番下のフィールドへ 代替 (と置換する) 何も入力しないか、スペースを入力します (ハイフンを削除するだけでなく、行が XNUMX つの全体にくっつかないようにスペースに置き換えたい場合)。 ボタンを押すだけ すべてを交換してください (すべて置換) ハイフンが消えます。

ニュアンス: で入力した置換を実行した後 Ctrlキー+J 目に見えない文字はフィールドに残ります 見つけるには 将来干渉する可能性があります - このフィールドにカーソルを置き、(信頼性のために)キーを数回押して削除することを忘れないでください 削除 и バックスペース.

数式で改行を削除する

数式で問題を解決する必要がある場合は、組み込み関数を使用できます PRINT (掃除)、不運な改行を含むすべての印刷不可能な文字のテキストをクリアできます。

ただし、このオプションは、この操作の後の行が互いに接着される可能性があるため、必ずしも便利ではありません。 これを防ぐには、ハイフンを削除するだけでなく、スペースに置き換える必要があります (次の段落を参照)。

改行を数式に置き換える

削除するだけでなく、置き換えたい場合 他の+入力します たとえば、スペースでは、もう少し複雑な別の構造が必要になります。

非表示のハイフンを設定するには、関数を使用します SYMBOL (文字)、そのコードで文字を出力します (10)。 そして、関数 代替 (代わりの) ソース データでハイフンを検索し、スペースなどの他のテキストに置き換えます。

改行による列への分割

多くの非常に便利なツールに精通している 列ごとのテキスト タブから 且つ (データ — テキストから列へ) 改行でもうまく機能し、テキストを XNUMX つのセルから複数に分割して、 他の+入力します. これを行うには、ウィザードの XNUMX 番目のステップで、カスタム区切り文字のバリアントを選択する必要があります その他 (カスタム) 既に知っているキーボード ショートカットを使用します Ctrlキー+J 代わりに 他の+入力します:

データに複数の改行が連続して含まれている可能性がある場合は、チェックボックスをオンにして改行を「折りたたむ」ことができます 連続する区切り文字を XNUMX つとして扱う (連続した区切り文字は XNUMX つとして扱います).

をクリックした後 Next (次) ウィザードの XNUMX つの手順をすべて実行すると、目的の結果が得られます。

この操作を実行する前に、結果のテキストが右側にあった値 (価格) を上書きしないように、分割列の右側に十分な数の空の列を挿入する必要があることに注意してください。

Power Query から Alt + Enter で行に分割

もう XNUMX つの興味深いタスクは、各セルの複数行テキストを列ではなく行に分割することです。

これを手動で行うには長い時間がかかります。式では難しく、誰もがマクロを作成できるわけではありません。 しかし、実際には、この問題は私たちが望むよりも頻繁に発生します。 最も簡単で簡単な解決策は、2016 年から Excel に組み込まれている Power Query アドインをこのタスクに使用することです。以前のバージョン 2010 ~ 2013 では、Microsoft の Web サイトから完全に無料でダウンロードできます。

ソース データを Power Query に読み込むには、まずキーボード ショートカットを使用して「スマート テーブル」に変換する必要があります。 Ctrlキー+T またはボタンで 表としてフォーマットする タブ ホーム (ホーム — テーブルとしてフォーマット). 何らかの理由で「スマート テーブル」を使用したくない、または使用できない場合は、「愚かな」テーブルで作業できます。 この場合、元の範囲を選択して、タブで名前を付けるだけです フォーミュラ – Name Manager – 新規 (数式 — ネーム マネージャー — 新規).

その後、タブで 且つ (Excel 2016 以降をお持ちの場合) またはタブで パワークエリ (Excel 2010-2013をお持ちの場合)ボタンをクリックできます テーブル/範囲から (テーブル/範囲から)テーブルを Power Query エディターに読み込みます。

読み込み後、セル内に複数行のテキストがある列を選択し、[メイン] タブでコマンドを選択します 列の分割 – 区切り記号による (ホーム — 列の分割 — 区切り記号による):

ほとんどの場合、Power Query は除算の原則を自動的に認識し、記号自体を置き換えます。 #(lf) 区切り文字入力欄に見えない改行文字(lf=改行=改行)が入っています。 最初にチェックボックスをオンにすると、必要に応じて、ウィンドウの下部にあるドロップダウン リストから他の文字を選択できます。 特殊文字で分割 (特殊文字で分割).

すべてが列ではなく行に分割されるように - セレクターを切り替えることを忘れないでください (行ごと) 詳細オプション グループにあります。

残っているのはクリックすることだけです OK そしてあなたが望むものを手に入れてください:

コマンドを使用して、完成したテーブルをシートにアンロードできます。 閉じてロード – 閉じてロード… タブ ホーム (ホーム — クローズ & ロード — クローズ & ロード…).

Power Query を使用する場合は、ソース データが変更されても結果が自動的に更新されないことに注意する必要があります。 これらは数式ではありません。 更新するには、シートの最終テーブルを右クリックしてコマンドを選択する必要があります 更新して保存 (更新) またはボタンを押します すべて更新 タブ 且つ (データ — すべて更新).

Alt+Enterで行分割するマクロ

全体像を完成させるために、マクロを使用して前の問題の解決策についても言及しましょう。 タブの同じ名前のボタンを使用して、Visual Basic Editor を開きます。 Developer (デベロッパー) またはキーボード ショートカット 他の+F11. 表示されるウィンドウで、メニューから新しいモジュールを挿入します インサート – モジュール そこに次のコードをコピーします。

Sub Split_By_Rows() Dim cell As Range, n As Integer Set cell = ActiveCell For i = 1 To Selection.Rows.Count ar = Split(cell, Chr(10)) 'フラグメント数を決定 cell.Offset(1, 0 .Resize(n, 1).EntireRow.Insert 'cell.Resize(n + 1, 1) = WorksheetFunction.Transpose(ar) 'セルの下に空の行を挿入 Set cell = cell.Offset(n + 1, 0) '次のセルにシフト Next i End Sub  

Excel に戻り、分割する複数行テキストを含むセルを選択します。 次に、ボタンを使用します マクロ タブ 開発者 (開発者 — マクロ) またはキーボードショートカット 他の+F8作成したマクロを実行します。これにより、すべての作業が行われます。

出来上がり! 実際、プログラマーは非常に怠惰な人々であり、一度一生懸命働いたら何もしない方がよい 🙂

  • 不要な文字や余分な文字からテキストをクリーンアップする
  • SUBSTITUTE 関数を使用してテキストを置き換え、改行しないスペースを削除する
  • Excelで付箋テキストをパーツに分割する方法

コメントを残す