No.1ベストアンサー
- 回答日時:
今仮に、データーがSheet1のA2~A11の範囲に存在していて、n=3で、Sheet2のA2~D4の範囲に並べ替えた結果を表示させるものとします。
まず、Sheet2のA2セルに次の関数を入力して下さい。
=IF(or(ROWS($2:2)>3,(COLUMNS($A:A)-1)*3+ROWS($2:2)>COUNT(Sheet1!$A:$A)),"",INDEX(Sheet1!$A$2:$A$11,(COLUMNS($A:A)-1)*3+ROWS(A$2:A2)))
次に、Sheet2のA2セルをコピーして、Sheet2のA3~A4の範囲に貼り付けて下さい。
次に、Sheet2のA2~A4の範囲をコピーして、同じ行のB列から右方に貼り付けて下さい。
以上です。
尚、Sheet1!$A$2:$A$11の部分に関してですが、データーが存在している最終行の指定は、実際の最終行よりも下の行を指定しても構いません。
例えば、Sheet1!のA2~A11の範囲にデーターが存在している場合でも、Sheet1!$A$2:$A$999等と指定しても構いません。($A$2の方は必ず最初のデーターが存在しているセルに合わせて下さい)
No.2
- 回答日時:
お示しのデータがシート1のA1セルから下方に入力されているとします。
並べ替えた表をシート2に表示させるとしてA1セルにはnの値を例えば3などと入力します。
A2セルには次の式を入力して下方にオートフィルドラッグしたのちに右横方向にもオートフィルドラッグします。
=IF(OR(ROW(A1)>$A$1,INDEX(Sheet1!$A:$A,MOD(ROW(A1)-1,$A$1)+1+(COLUMN(A1)-1)*$A$1)=0),"",INDEX(Sheet1!$A:$A,MOD(ROW(A1)-1,$A$1)+1+(COLUMN(A1)-1)*$A$1))
No.4
- 回答日時:
昨日は逆の質問が出ていた。
これは計算問題なのだ
エクセルの式はセルの値を求めたいセルに計算式を入れるのだ。
(VBAであれば自由なので、こんなのは苦労しないが。)
そして式を入れるセルの行と列はROW(),COLUMN()関数で得られることを知っておく必要がアル。
其れで1,2例で計算式を考えて、式を一般化すればいいのだ。
たとえば2行2列であれば1列目で3個は使い果たし2列1行目が4番目、2行目はその次(+1)の5だ。
一般にn行、m列では、(m-1)*3は左列で使ってしまっているから、そのn個あとがこのセルに来るべきだ。
それをINDEX関数で元の1列データから持ってくる
例データ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
今回は同一シートでやって見る。またD1セルから右列に出してみる。
また縦行数は、4行でやってみる。
D1に
=INDEX($A$1:$A$100,(COLUMN()-3-1)*4+ROW())
これを第4行目目まで(D1:D4)にしきを複写。
そしてD1:D4を右方向に式複写。
式の-3はD列から始めているから入れる必要があるもの。
結果
1591317
2610140
3711150
4812160
0を出さないようにするには
(COLUMN()-3)*4+ROW()が、データ数(データが数値の場合は)COUNT(A1:A100)より大なら空白というIF関数をかぶせる。
No.5
- 回答日時:
こんにちは!
すでに回答は出ていますので、参考程度で・・・
VBAでやってみました。Sheet1のデータをSheet2に表示するようにしています。
画面左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
尚、Sheet2は使用していないという前提です。
Sheet1のデータは1行目からあるとしています。
Sub test() 'この行から
Dim i, j As Long
Dim ws1, ws2 As Worksheet
Set ws1 = Worksheets("sheet1") '←Sheet名は実際のSheet名に!
Set ws2 = Worksheets("sheet2")
j = InputBox("行数を入力してください。")
ws2.Cells.Clear
For i = 1 To ws1.Cells(Rows.Count, 1).End(xlUp).Row
If ws2.Cells(i, 1).Row Mod j = 0 Then
ws2.Cells(i, 1) = j
Else
ws2.Cells(i, 1) = ws2.Cells(i, 1).Row Mod j
End If
ws2.Cells(i, 2) = WorksheetFunction.RoundDown(ws2.Cells(i + j - 1, 2).Row / j, 0)
Next i
For i = 1 To ws2.Cells(Rows.Count, 1).End(xlUp).Row
ws2.Cells(ws2.Cells(i, 1), ws2.Cells(i, 2) + 2) = ws1.Cells(i, 1)
Next i
ws2.Columns("A:B").Delete (xlToLeft)
End Sub 'この行まで
こんな感じではどうでしょうか?m(__)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでのマクロを使ったデータの並べ替え 3 2022/12/03 18:54
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Visual Basic(VBA) VBAで大量データの処理 3 2022/11/15 21:53
- Excel(エクセル) マクロ 2行ごとの並び替えについて 4 2022/12/14 12:27
- その他(Microsoft Office) エクセルで1行の長いデータを指定の桁数で分割する方法が知りたいです。 4 2022/05/20 21:55
- Excel(エクセル) エクセルでのVBA 2 2022/08/03 06:48
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- その他(Microsoft Office) エクセルで串刺ししたシートの並べ替えをしたいです 4 2023/02/14 11:59
- Excel(エクセル) 【エクセル】並び替えからの並び替え方法 7 2022/07/22 09:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの作業計算方法について
-
Microsoft1Officeの互換ソフト...
-
【マクロ】その時、その時で変...
-
はがきについて。
-
【マクロ】読取専用のファイル...
-
エクセル初心者です 関数の入れ...
-
【関数】適切な文字数の数字を...
-
LOOKUP関数を使えばいいのでし...
-
【関数】先頭だけにある、半角...
-
Excel ピボットテーブルで日付...
-
Excelのpivotについて質問です
-
時間によってファイル名が変わ...
-
エクセル 白黒印刷で白線を印刷...
-
Aというブックの1というシート...
-
エクセル関数を教えてください
-
WPS OFFICEでの縦書きについて
-
Excelのチェックボックスの使い...
-
エクセルの条件付き書式につい...
-
エクセルのセルに同じ大きさの...
-
エクセルの関数について教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報