bugfix> excel > 投稿

行と行ごとに5列のExcelデータセットがあります。

すべてのデータが2列だけの行になるように転置する必要があります。

データセットの行2が同様に処理される場合、各行の列1にはデータセットの列1が、列2にはデータセットの列2〜5のそれぞれが必要です。これにより、データセットの各行が転置セットに4つの行を作成します。

説明をわかりやすくするために、私が意味することのスクリーンショットをいくつか追加しました。

残念ながら、私たちのマシンでVBAやマクロにアクセスできないので、式にする必要があります。

質問を完了する前に投稿された申し訳ありません:

= row()と= column()のバリエーションを使用して、列をカウントし、列番号が5を超える場合に次の行に移動しようとしましたが、動作するロジックを見つけるのに苦労しています。

また、データセット全体を配列として= indexを操作し、いくつかの計算を使用して、次の表示への行と列へのポインターを関数に与えました。

しかし、10,000個のレコードを処理する場合、配列としてはかなり遅いです(そして、使用するロジックをまだ決定していません)。

回答 1 件
  • あなたは Index で正しい軌道に乗っています   および Row   

    シートのピボットを解除するには、使用します

    A1

    =INDEX(Source!$A:$A,INT((ROW()-1)/4)+1)
    
    

    B1

    =INDEX(Source!$B:$F,INT(ROW()-1)/4+1,MOD(ROW()-1,4)+1)
    
    

あなたの答え