メインコンテンツへスキップ

Excelで列からXNUMXつのセルにデータを転置する方法は?

データのリストをワークシートのXNUMXつのセルに転置する必要がある場合、通常は、 連結する セルのリストをXNUMXつのセルにマージする機能ですが、結合する必要のある膨大なデータがある場合は複雑になります。 この記事では、Excelでこのタスクを解決するための簡単なトリックについて説明します。

ユーザー定義関数を使用して、列からXNUMXつのセルにデータを転置します

Kutools for Excelを使用して、列からXNUMXつのセルにデータを転置します


セル値のリストをマージする連結関数を除いて、次のVBAコードを適用して、できるだけ早く結果を取得できます。

1。 を押し続けます Alt + F11 キー、そしてそれは開きます アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュール 窓。

VBAコード:列からXNUMXつのセルにデータを転置します

Function transposeRange(Rg As Range)
'updateby Extendoffice
    Dim xCell As Range
    Dim xStr As String
    For Each xCell In Rg
        If Not IsEmpty(xCell.Value) Then
            xStr = xStr & xCell.Value & ","
        End If
    Next
    transposeRange = Left(xStr, Len(xStr) - 1)
End Function

3。 次に、このコードを保存して閉じ、ワークシートに戻って、次の数式を入力します。 = transposerange(A1:A10) 空白のセルに入力して結果を入力し、を押します 入力します キーを押すと、列内のすべてのセル値がXNUMXつのセルに配置されていることがわかります。スクリーンショットを参照してください。

docはセルを1つのセルに転置しますXNUMX

Note:上記のコードでは、 A1:A10 は、XNUMXつのセルに転置するリスト範囲です。また、スクリプト内のコンマを変更するだけで、マージされたコンテンツを他の区切り文字(コンマ、ダッシュ、スペースなど)で区切ることができます。 xStr = xStr&xCell.Value& "、".


あなたが持っている場合 Kutools for Excel、その強力なツールで-組み合わせる、列、行、または範囲のデータをXNUMXつのセルに組み合わせることができます。

Kutools for Excel : 300以上の便利なExcelアドインがあり、30日以内に制限なしで無料で試すことができます.

インストールした後 Kutools for Excel、次のようにしてください:( 今すぐExcel用のKutoolsを無料でダウンロードしてください! )

1。 XNUMXつのセルに結合するデータ列を選択します。

2に設定します。 OK をクリックします。 クツール > マージ&スプリットデータを失うことなく行、列、またはセルを組み合わせる、スクリーンショットを参照してください:

3。 ポップアウトされたダイアログボックスで、 単一のセルに結合次のオプションに従って選択したセルを組み合わせるには、次に、マージされたコンテンツを区切るための区切り文字を指定します。スクリーンショットを参照してください。

docはセルを3つのセルに転置しますXNUMX

4。 次に、をクリックします Ok or 申し込む ボタンをクリックすると、必要に応じて次の結果が得られます。

docはセルを4つのセルに転置しますXNUMX 2 docはセルを5つのセルに転置しますXNUMX

今すぐExcel用のKutoolsをダウンロードして無料トライアル!


Kutools for Excel:300以上の便利なExcelアドインがあり、30日以内に制限なしで無料で試すことができます。 今すぐダウンロードして無料トライアル!

最高のオフィス生産性向上ツール

🤖 Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行   |  コードを生成  |  カスタム数式の作成  |  データを分析してグラフを生成する  |  Kutools関数を呼び出す...
人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト ツール (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 ツール (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット ツール (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...

説明


Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (6)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Would anybody know how to add a conditional rule to this function? Basically I have an e-mail directory for multiple businesses. There is a column where I list either Yes or No in response to whether the E-mail is the business' main contact. I am hoping adjust the code so that only the main contacts are pulled and listed in one cell. Therefore, the condition would be that the Main Contact Column lists Yes. I have tried using if statements but I am fairly new to all of this. Any help would be much appreciated!
This comment was minimized by the moderator on the site
Hello friend,
Glad to help. Please read this article: https://www.extendoffice.com/documents/excel/2706-excel-vlookup-return-multiple-values-in-one-cell.html. I believe it can solve your problem. Have a nice day.

Sincerely,
Mandy
This comment was minimized by the moderator on the site
This has been ridiculously helpful to me a number of times. Thank you so much!
This comment was minimized by the moderator on the site
Hi,

Thanks a lot! I'm using your following function and it works very well. I would like to include an "if" function in the transposerange. What should I add to the function in VBA? Basically, it would work like a countif. So we would read the formula =transposerangeif(range,criteria).

Thanks in advance!

Function transposeRange(Rg As Range)
'updateby Extendoffice 20151207
Dim xCell As Range
Dim xStr As String
For Each xCell In Rg
If Not IsEmpty(xCell.Value) Then
xStr = xStr & xCell.Value & ","
End If
Next
transposeRange = Left(xStr, Len(xStr) - 1)
End Function
This comment was minimized by the moderator on the site
Hello,Sophie,
Could you give an example for your need, you can insert a screenshot here.
This comment was minimized by the moderator on the site
Thanks, this was very helpful.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations