Excel の列 A のデータから新しい列を作成する方法

Excel の列 A のデータから新しい列を作成する方法

すべてのデータが列AにあるExcelシートがあります。9つのセルごとに別々の列を作りたいです。

セルを列に移動する

これを行うには VBA が最善の方法でしょうか?

答え1

数式を試してみることをお勧めします。

のような=IF(OFFSET($A$1,MOD(COLUMN(A1)-1,9)+(ROW(A1)-1)*9,)=0,"",OFFSET($A$1,MOD(COLUMN(A1)-1,9)+(ROW(A1)-1)*9,))

ここに画像の説明を入力してください

答え2

この=INDEX()機能を使用してデータを再編成できます。

たとえば、入力がAセルから始まるワークシートの列にありA1、出力の左上のセルをセルにしたい場合はC10、セルに次の数式を使用します。C10

=INDEX($A:$A,9*(ROW()-ROW($C$10))+1+COLUMN()-COLUMN($C$10))

出力の寸法を9列以外の幅にしたい場合は、数式の9を任意の値に置き換えてください。同様に、入力が1行目から始まらない場合は、

この数式は、出力領域の残りの部分にコピーできます。

Excel for Microsoft 365 または Excel 2021 をお持ちの場合は、関数を使用することで面倒な繰り返しなしで、@Emily が提案したタイプの置換を組み込むことができます=LET()。例:

=LET(cell,INDEX($A:$A,9*(ROW()-ROW($C$10))+1+COLUMN()-COLUMN($C$10)),IF(cell=0,"",cell))

または

=LET(cell,INDEX($A:$A,9*(ROW()-ROW($C$10))+1+COLUMN()-COLUMN($C$10)),IF(ISBLANK(cell),"",cell))

関連情報