Excel で列を行に置き換える

Excel で列を行に置き換える

入力:

MACK    113 445 25
JACK    345     
PIKER   30  23  

出力は次のようになります:

MACK    113
MACK    445
MACK    25
JACK    345
PIKER   30
PIKER   23

スクリーンショット

これどうやってするの?

答え1

Microsoft Excel には PowerQuery というプラグインがあります。

PowerQuery を使用すると、シートからデータをインポートし、「アンピボット」操作を実行できます。

これは非常に便利なツールです。初めてセットアップして動作させるには少し時間がかかりますが、一度設定してしまえば何年も役に立ち、この操作を非常に迅速に実行できるようになります。

実行方法の詳細は次のとおりです:

https://support.office.com/en-us/article/Unpivot-columns-Power-Query-0f7bad4b-9ea1-49c1-9d95-f588221c7098

答え2

必要なのは転置、しかし、ピボット解除

以下はおそらくこれを実行するための最善の方法ではありませんが、機能し、誰かがより良い解決策を思いつくまで、その場を救うのに役立つかもしれません。

これは、ピボット テーブルが( )Sheet1から始まっていることを前提としています。状況に応じて調整してください。Sheet2 で、次のように入力します。A1MACK

A1: =Sheet1!A1
B1: =Sheet1!B1
C1: 1
D1: 2

A2: =IF(OR(B2="", A1=""), "", INDIRECT(ADDRESS(C2,1, 1, 1, "Sheet1")))
B2: =IF(OR(B1="", INDIRECT(ADDRESS(C2,D2, 1, 1, "Sheet1"))=""), "", INDIRECT(ADDRESS(C2,D2, 1, 1, "Sheet1")))
C2: =IF(D2=2,C1+1,C1)
D2: =IF(INDIRECT(ADDRESS(C1,D1+1, 1, 1, "Sheet1"))<>"",D1+1,2)

次に、行 2 をコピーして、必要な行数分貼り付けます。列 A と列 B には、ピボットされていない必要な値が含まれます。値のみとしてコピーして他の場所に貼り付けます。

答え3

まず、データに見出しを付けます。たとえば、次のようになります。

Name Value1 Value2 Value3
  1. ヒットAlt+ D+P
  2. 「複数の統合範囲」を選択 > 次へ
  3. 「1ページのフィールドを作成する」を選択 > 次へ
  4. 範囲(ヘッダーを含む)を選択し、「完了」をクリックします

これにより、元のデータと同様のレイアウトで合計を含むピボット テーブルが作成されます。

  1. 右下の合計をダブルクリックします(例では6になります)

これにより、要求した形式のデータを含む新しいシートが作成されます。要求した出力を得るには、いくつかの列と空白のエントリを削除する必要があります。

関連情報