このチュートリアルでは、ネイティブフォーミュラ、正規表現、VBAマクロを使用して、Excelセルの最初の行を削除する効率的な方法をカバーしています。
Excelでマルチラインデータを扱う場合、セルからテキストの最初の行を省略する必要があるシナリオに出くわすことがあります。これは、インポートされたデータからヘッダーまたは不要な情報を削除したり、分析のためにデータをクリーンアップしたり、単に関連情報を抽出することもできます。この記事では、このタスクを効率的に達成するためのいくつかの方法を検討します。
状況では、セルからテキストの最初の行を削除し、残りの行を抽出する必要がある場合、さらなる分析またはプレゼンテーションのために、4つの異なる関数を組み合わせた強力な式を使用して、このタスクを正確に達成できます。
右( Cell 、len( cell ) - find(char(10)、 cell ))切り捨てたいマルチラインテキストがセルA3にあると仮定すると、この式を調整して最初の行を省き、隣接するセルに残りの行をコピーする方法を次に示します。
=RIGHT(A3, LEN(A3) - FIND(CHAR(10), A3))
データセット内の一部のセルには、テキストの1行しか含まれておらず、ラインフィード文字チャー(10)が含まれていない可能性があります。このようなセルのエラーを防ぐために、次のようなIferror機能で式を包むことができます。
=IFERROR(RIGHT(A3, LEN(A3) - FIND(CHAR(10), A3)), A3)
式の仕組み:
式を分解し、テキストの最初の行を省略する方法を理解しましょう。
式を例で説明しましょう。 Cell A5に次の3行のテキストが含まれているとします。それぞれが5文字で構成されています。
line1 line2 line3
Find(Char(10))の組み合わせは6を返します。これは、セル内の最初のラインフィード文字の位置です。
LEN(A5)式は17を返します。これは、セル内の文字の総数です(15テキストチャージ2ラインフィードチャー)。
減算操作17-6は11を与えます。これは、2行目と3の文字の数です。
右(A5、11)関数は、A5の文字列の右側から11文字を返します。これは、最初の行を正確に省略し、行2と3をそのまま残します。
Excel 365にさまざまな新しい機能が導入されると、セル内のテキストの操作が非常に簡単になりました。新しい関数の1つであるTextferを使用すると、元のセルと区切り文字を指定するだけでテキストの最初の行を削除できます。これは明らかにラインフィード文字です。
textafter( cell 、char(10))たとえば、セルA3のテキストの最初の行を削除し、残りの線を別のセルに抽出するために、式は次のように簡単です。
=TEXTAFTER(A3, CHAR(10))
場合によっては、テキストの1行しかないセルに遭遇する可能性があり、テキストアフター関数を使用すると#n/aエラーが発生する可能性があります。これに取り組むには、Iferrorをコア式のラッパーとして使用してください。
=IFERROR(TEXTAFTER(A3, CHAR(10)), A3)
この式により、ターゲットセルにテキストの行が1つしかない場合(ラインフィード文字が存在しない)、Excelがエラーなしで元のテキストを返すことが保証されます。
それだけです!テキストアフター機能により、Excelセルの最初の線を削除することが簡単になりました:)
正規表現に精通している高度なExcelユーザーの場合、セルからテキストの最初の行を省略するための強力なソリューションがあります - カスタムの正規表現代替機能:
regexpreplace(text、pattern、text_replace、[instance_num]、[match_case])この関数の背後にあるアイデアは、正規表現を使用して新しい行の前のテキストに一致し、空の文字列に置き換えることです。
regexpreplace( cell 、 "。*\ n"、 ""、1)この汎用式のコンポーネントを分解します。
Excelでこの関数を使用できるようにするには、最初にワークブックにコードを挿入する必要があります。このチュートリアルの最後にあるサンプルワークブックまたはこの記事でコードを見つけることができます:Excel VBA regex fanction機能。コードが追加されたら、ネイティブのExcel関数と同じように使用できます。
たとえば、Cell A3のテキストの最初の行を削除するには、式は次の形式を取得します。
=RegExpReplace(A3, ".*\n", "", 1)
regexpreplace関数を使用する場合、最初の引数(テキスト)で正しい参照を提供するだけでいいことに注意してください。このコンテキストでは、他の3つの引数( pattern 、 text_replace 、 instance_num )は一定のままです。
ヒント。究極のスイートのユーザーは、同じ結果を簡単に達成できます。 Excelにシームレスに統合された強力なRegexツールを使用すると、ワークブックにVBAコードを必要とせずに、テキスト文字列であらゆる種類の操作を実行できます。
Excelのセルからテキストの最初の行を削除する必要がある場合、VBAでプロセスを自動化することは、時間を節約するソリューションになる可能性があります。次のVBAコードを使用すると、選択したセルまたはさまざまなセルからテキストの最初の行をすばやく削除できます。
VBAマクロを使用してセルの最初の行を削除するには、次の手順に従ってください。
注意の言葉!以前の方法とは異なり、このVBAコードは元のセルの最初の行を削除します。 Excelマクロによって実行されるアクションは元に戻すことができないため、データの整合性を確保するためにマクロを実行する前にワークシートをバックアップすることが理にかなっています。
Excelセルで最初の行を省略するさまざまな方法を習得すると、効率的なデータ管理のための新しい可能性の世界が開かれます。フォーミュラを使用するか、正規表現の力を活用するか、VBAオートメーションを受け入れるかを選択するかどうかにかかわらず、各方法は、マルチラインテキストを精度と簡単に処理することができます。
Excel Cellの最初の行を省略 - 例(.xlsmファイル)
以上がExcel Cellの最初の行を省略 /削除する方法:フォーミュラ、Regex、VBAの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。