-2

Microsoft Excel 2010 を使用して、5 つの異なるデータファイルからのデータを含むスプレッドシートを作成しました (それぞれに 14 の列があるため、合わせて 70 の列があります)。私がする必要があるのは、これらの列を次のように並べ替えることです: 1.,15.,29.,43.,57.,2.,16.,...など。

基本的に、5 つのデータファイルの最初の列、次に 2 番目の列などが必要です。Excel でこのシーケンスを記述する方法はありますか? 代替、アドレス、間接を試しましたが、結果はありませんでした。手動で書くこともできますが、別のスプレッドシートでも必要になるため、実際のコマンドがあると便利かもしれないと考えました。

4

2 に答える 2

1

最終的なスプレッドシートで次の式を使用することから始めます。

=INDEX({"Sheet1";"Sheet2";"Sheet3";"Sheet4";"Sheet5"},MOD(COLUMN()-1,5)+1)

この数式を最終的なスプレッドシートの各列に貼り付けると、列から列Sheet1へと循環します。ファイルの名前とスプレッドシートのターゲットを書き込みます。これが数式参照のベースとして機能します。Sheet5AE

数式は次のように機能します。インデックス値にモジュロが適用されると、定数配列から 1 つの項目を取得するためにCOLUMN使用される 1 から 5 までの数値が取得されます。INDEX

スプレッドシートを介した循環のベースを取得したので、5 つの列 A、次に 5 つの列 B などのグループが必要です。これを使用します。

=QUOTIENT(COLUMN()-1, 5)+1

ADDRESSこれで、それらを次のように組み合わせることができます。

=ADDRESS(ROW(),QUOTIENT(COLUMN()-1, 5)+1,1,1,INDEX({"Sheet1";"Sheet2";"Sheet3";"Sheet4";"Sheet5"},MOD(COLUMN()-1,5)+1))

範囲 A1:J3 の数式を貼り付けて拡張すると、次のアドレスが得られます。

Sheet1!$A$1 Sheet2!$A$1 Sheet3!$A$1 Sheet4!$A$1 Sheet5!$A$1 Sheet1!$B$1 Sheet2!$B$1 Sheet3!$B$1 Sheet4!$B$1 Sheet5!$B$1
Sheet1!$A$2 Sheet2!$A$2 Sheet3!$A$2 Sheet4!$A$2 Sheet5!$A$2 Sheet1!$B$2 Sheet2!$B$2 Sheet3!$B$2 Sheet4!$B$2 Sheet5!$B$2
Sheet1!$A$3 Sheet2!$A$3 Sheet3!$A$3 Sheet4!$A$3 Sheet5!$A$3 Sheet1!$B$3 Sheet2!$B$3 Sheet3!$B$3 Sheet4!$B$3 Sheet5!$B$3

最終的に、この数式をラップしINDIRECTて実際のデータを取得します。

=INDIRECT(ADDRESS(ROW(),QUOTIENT(COLUMN()-1, 5)+1,1,1,INDEX({"Sheet1";"Sheet2";"Sheet3";"Sheet4";"Sheet5"},MOD(COLUMN()-1,5)+1)))
于 2013-05-10T13:54:14.207 に答える