Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

Excel で上書きせずにテキストを列に変換する方法

日常業務で、テキストを Excel の列に変換する必要があることがよくあります。実際、Microsoft Excel は、このタスクを実行する優れたツールです。そして明らかに、このトピックに関する十分な数の記事を見つけることができます。しかし、この記事の専門は、さまざまな方法で Excel で上書きせずにテキストを列に変換する方法を紹介することです。つまり、ソース列は上書きされずにそのまま残ります。ですから、自分で効果的にタスクを実行するためにそれを実行してください。

次の Excel ワークブックをダウンロードして、理解を深め、練習してください。

Excel で上書きせずにテキストを列に変換する 5 つの方法

理解を容易にするために、生徒の名前と年齢のリストを使用します ある機関の。このデータセットには名前、年齢が含まれます 列 B .

Excel で上書きせずにテキストを列に変換する方法

次に、これらのテキストを 列 B に変換します さまざまな方法で上書きすることなく、さまざまな列に。ここで、上書きとは、タスクを実行している間に本文がそのままになることを意味します。それでは、それらを1つずつ調べてみましょう。
ここでは、Microsoft Excel 365 を使用しています。 必要に応じて他のバージョンを使用することもできます。

1. LEN、MID、REPT、SUBSTITUTE、および TRIM 関数の適用

数式で遊ぶのが好きな人には、この方法が適しています。このメソッドでは、数式を機能させるためにいくつかの関数を組み合わせます。それでは、実際に見てみましょう。

📌 手順:

  • 最初に 2 を作成します Name という見出しの異なる列 と年齢C の下 そしてD .
  • 細胞内 C5D51 を書き留めます と 2 それぞれ。これは、これらの新しい列の数です。次のステップで、これら 2 つの細胞の機能を理解できます。

Excel で上書きせずにテキストを列に変換する方法

  • 次に、セル C6 を選択します 次の式を入力してください。
=TRIM(MID(SUBSTITUTE($B6,",",REPT(“”,LEN($B6))),(C$5-1)*LEN($B6)+1,LEN($B6)))

こちらB6C5 セルは最初の名前、年齢を参照します と数字 1 .

数式の内訳:
  • レン ($B6) LEN 関数 テキスト文字列の文字数を返します。こちらはB6 セルはテキストです 値 11.
      を生成する引数
    • アウトプット → 11
  • REPT(" ",LEN($B6))
      になる
    • REPT(" ",11)REPT 関数 テキストを指定された回数繰り返します。ここで、「 」は テキスト です 空白を参照する引数 11 の間のスペース number_times です 関数に 11 を挿入するように指示する引数 空白を繰り返します。
    • 出力「 」
  • SUBSTITUTE($B6,“ ”,REPT(“ ”,LEN($B6)))SUBSTITUTE 関数 テキスト文字列内の既存のテキストを新しいテキストに置き換えます。こちらはB6 テキストを参照 次の引数、「、」 old_text を表します 引数、および REPT(“ ”,LEN($B6)) new_text を指す コンマを空白に置き換える引数.
    • アウトプット → ジョン 18 歳
  • MID(SUBSTITUTE($B6,”,”,REPT(“”,LEN($B6))),(C$5-1)*LEN($B6)+1,LEN($B6) ) → MID 関数 開始位置と長さを指定して、テキスト文字列の途中から文字を返します。ここで、SUBSTITUTE($B6,”,”,REPT(” “,LEN($B6))) セルはテキストです 引数、(C$5-1)*LEN($B6)+1 start_num です 引数、および LEN($B6) num_chars です 関数が左側から最初の文字を返すような引数.
    • アウトプット → ジョン
  • TRIM(MID(SUBSTITUTE($B6,”,”,REPT(“”,LEN($B6))),(C$5-1)*LEN($B6)+1,LEN($ B6))) →
      になる
    • TRIM(ジョン )トリム機能 テキストから単一のスペースを除くすべてを削除します。ここで、ジョン セルはテキストです 引数を取り、関数はテキストの後の余分なスペースを取り除きます。
    • アウトプット → ジョン
  • その後、ENTER を押します .

Excel で上書きせずにテキストを列に変換する方法

  • 次に、フィル ハンドルをドラッグします 行全体に数式をコピーするツール

Excel で上書きせずにテキストを列に変換する方法

したがって、セル D6 の年齢である、テキストの右側の部分を見ることができます。 .

Excel で上書きせずにテキストを列に変換する方法

  • この時点で、2 つのセルを選択します C6D6 一緒。セル D6 の右下隅にカーソルを置きます . フィル ハンドルが表示されます ツールを再度使用してください。
  • それをダブルクリックして、数式を下のセルに適用します。

Excel で上書きせずにテキストを列に変換する方法

これが私たちの前に現れる結果です。

Excel で上書きせずにテキストを列に変換する方法

続きを読む: Excel で数式を使用してテキストを列に自動的に分割する方法

2. LEFT、LEN、RIGHT、および SEARCH 関数の挿入

複雑な式を書いたり、関数を組み合わせたりすることに不安を感じていますか?次に、私たちの 2 番目の方法は、あなたの祈りへの答えです。この方法でも数式を使いますが、今回の方が分かりやすいです。それでは、これ以上遅滞なく、それを行う方法を見てみましょう。

📌 手順:

  • まず、セル C5 に移動します 次の式を挿入してください。
=LEFT(B5,SEARCH(", ",B5,1)-1)

こちらB5 最初の名前、年齢として機能します .

数式の内訳:
  • 検索(“,”,B5)検索機能 別のテキスト文字列内の 1 つのテキスト文字列の開始位置を返します。ここで、「、」 find_text です B5 中の引数 within_text です 口論。具体的には、検索機能 カンマ(,)の位置を返します テキスト文字列内の文字.
    • アウトプット → 5
  • LEFT(B5,SEARCH(“;”,B5)-1)
      になる
    • 左(B5,5)LEFT 関数 文字列の先頭から指定された数の文字を返します。こちらはB5 セルはテキストです 5 に対して引数 num_chars です 関数が 5 を返すような引数 左側の文字
    • アウトプット → ジョン
  • 次に、ENTER をタップします キー。

Excel で上書きせずにテキストを列に変換する方法

ここで、別の同様の数式を使用して、セル D5 の結果を見つけます。 . 前の式では 、LEFT 関数を使用しました テキスト文字列の最初の部分を取得します。ここでは、文字列の 2 番目の部分を取得します。

  • 現在、セル D5 に移動します 次の式を挿入してください。
=RIGHT(B5,LEN(B5)-SEARCH(",",B5)) 数式の内訳:
  • LEN(B5)-SEARCH(“,”,B5)LEN 関数 B5 の文字列の長さを返します セル、対照的に、SEARCH 関数 コンマ (,) の位置を返します 文字.
    • アウトプット → 11 – 5 → 6
  • RIGHT(B5,LEN(B5)-SEARCH(“,”,B5))
      になる
    • 右(B5,6)RIGHT 関数 文字列の末尾から指定された数の文字を返します。こちらはB5 セルはテキスト引数ですが、6 num_chars です 関数が 6 を返すような引数 右側の文字
  • アウトプット → 18年
  • これに続いて、ENTER を押します .
  • Excel で上書きせずにテキストを列に変換する方法

    3.テキストから列への機能の使用

    この方法では、Excel の Text to Columns を使用してタスクを実行します。 上書きせずにテキストを列に変換するための便利なツールです。したがって、以下に示す手順の手順を観察して学びましょう。

    📌 手順:

    • 最初に、B5:B14 内のセルを選択します
    • 次に、データに移動します タブ
    • その後、[データ ツール] をクリックします。 ドロップダウン アイコン。
    • ドロップダウン リストから、[テキストから列へ] を選択します。

    Excel で上書きせずにテキストを列に変換する方法

    すぐに、[テキストを列に変換] が開きます ダイアログ ボックス。

    • ステップ 1 で、[区切り] を選択します データを最もよく表すファイル形式を選択してください
    • 次に、[次へ] をクリックします。 ボタン。

    Excel で上書きせずにテキストを列に変換する方法

    • ステップ 2 で、カンマを選択します 区切り記号
    • その後、[次へ] をクリックします .

    Excel で上書きせずにテキストを列に変換する方法

    • 最後の 3 番目のステップで、目的地を設定します C5 のセル .
    • 最後に、[完了] をクリックします。 ボタン。

    Excel で上書きせずにテキストを列に変換する方法

    手順を完了すると、Excel に MsgBox が表示されます 警告付き。心配しないでください。

    • OK をクリックするだけです

    Excel で上書きせずにテキストを列に変換する方法

    驚くべきことに、テキストを上書きせずに列に変換する作業は Excel で行われます。

    Excel で上書きせずにテキストを列に変換する方法

    続きを読む: Excel でキャリッジ リターンを使用してテキストから列への変換機能を使用する方法

    4.フラッシュ フィル機能の実装

    複雑な数式を使用するのが苦手な場合は、次の方法が探している答えかもしれません。ここでは、フラッシュ フィルを適用します 上書きせずにテキストを列に変換する Excel の機能

    📌 手順:

    • まず、ジョンを書き留めます セル C5 内 .これは、このセルでの望ましい結果です。しかし、初めて手動で行う必要があります。
    • 次に、ホームにジャンプします タブ
    • その後、[塗りつぶし] をクリックします。 編集のドロップダウン アイコン グループ。
    • これに続いて、フラッシュ フィルを選択します

    Excel で上書きせずにテキストを列に変換する方法

    魔法のように、Excel は残りのセルを自動入力します。

    Excel で上書きせずにテキストを列に変換する方法

    同様に年齢についても同じことを行います 列 D の下の列 .

    Excel で上書きせずにテキストを列に変換する方法

    続きを読む: Excel テキストから列への区切り文字として改行を使用する方法

    5. VBA コードの適用

    数式を使用するとデータをすばやく編集できますが、解釈が難しい場合があります。さらに、頻繁に自動的に行う必要がある場合は、VBA を検討してください。 以下のコード。

    📌 手順:

    • まず デベロッパー に進みます タブ
    • 次に、Visual Basic を選択します コード グループ。
    • または、キーボード ショートカット ALT + F11 を使用します タスクを複製します。

    Excel で上書きせずにテキストを列に変換する方法

    突然、Microsoft Visual Basic for Applications ウィンドウが表示されます。

    • ここで、Sheet6(VBA) をダブルクリックします プロジェクト エクスプローラー セクションで。

    Excel で上書きせずにテキストを列に変換する方法

    すぐに、右側にコード モジュールが開きます。

    • この場合、次のコードをコピーしてモジュールに貼り付けます。
    Sub Text_to_Columns_without_Overwriting()
    Dim Arr() As String, cnt As Long, j As Variant
    For k = 5 To 14
    Arr = Split(Cells(k, 2), ",")
    cnt = 3
    For Each j In Arr
    Cells(k, cnt) = j
    cnt = cnt + 1
    Next j
    Next k
    End Sub

    Excel で上書きせずにテキストを列に変換する方法

    コードの内訳:

    ここでは、VBA について説明します。 上書きせずにテキストを列に変換するために使用されるコード。この場合、コードは 2 に分割されます

    • 最初の部分では、サブルーチンに名前が付けられます。ここでは Text_to_Columns_without_Overwriting() です .
    • 次に、変数 Arr を定義します 、詳細 、および j 文字列として 、長い 、およびバリアント .
    • 2 番目のポーションでは、For ループ を使用します カンマで区切られたテキストを分割します。
    • コード内のステートメント For k =5 To 14 データの開始行番号と終了行番号を表します。ここでは 5 です 14まで .
    • 次に、「,」 Arr =Split(Cells(k, 2), “;”) で 必要に応じてセミコロンやパイプなどに変更できる区切り文字です。
    • 最後に、cnt =3 3 番目の列番号を示します (列 C ).
    • リボンの緑色の再生ボタンをクリックします。実際、それはランです ボタン。また、F5 を押すこともできます キーボードで同じことを行います。

    Excel で上書きせずにテキストを列に変換する方法

    最終的に、結果は以下のスクリーンショットに表示されます。

    Excel で上書きせずにテキストを列に変換する方法

    練習セクション

    自分で練習するために、練習を提供しています 右側の各シートの下のようなセクション。自分でやってください。

    Excel で上書きせずにテキストを列に変換する方法

    結論

    この記事では、Excelでテキストを上書きせずに列に変換する方法を簡単かつ簡潔に説明します。 演習をダウンロードすることを忘れないでください ファイル。この記事を読んでいただきありがとうございます。これがお役に立てば幸いです。ご質問やご提案がありましたら、コメント欄でお知らせください。当社のウェブサイト Exceldemy にアクセスしてください。 、ワンストップの Excel ソリューション プロバイダーです。

    関連記事

    • Excel for Date でテキストを列に使用する方法 (簡単な手順で)
    • [修正済み!] Excel のテキストを列に変換するとデータが削除される
    • Excel でテキストを複数の区切り記号を持つ列に変換する方法

    1. Excel で数式を使用してテキストを列に自動的に分割する方法

      特定の列にテキストを整理する必要性に直面することがあります。 Text to Columns を使用できます 機能、別の数式または VBA を適用 コード。この記事では、Excel で数式を使用してテキストを自動的に列に分割する方法に関する 3 つの簡単な数式について説明します。 . Excel でテキストを列に分割する数式を探している場合、この記事が役立つことを願っています。 Excel で数式を使用してテキストを列に自動的に分割する 3 つの簡単な方法 Excelで数式を使用してテキストを列に自動的に分割するために、3つの数式について説明します。目的を実行するには、次の手順に従うだけ

    2. Excel で列を区切り記号付きのテキストに変換する方法

      Excel の列にリストが必要になることがよくあります 水平方向に配置するシート。その横方向の配置でテキストを区切るには、区切り記号が必要です。コンマを区切り文字としてよく使用します。 エクセル 区切り記号で区切られたテキストに列を配置する直接的な方法は提供しません。この記事では、Excel で列を区切り記号付きのテキストに変換する方法を紹介します。 . 練習用ワークブックはこちらからダウンロードできます。 Excel で区切り記号を使用して列をテキストに変換する 5 つの簡単な方法 この記事では、Excel で区切り記号付きのテキストに変換する方法について説明します。 5 で