エクセルでデータを整理するために、かなり巨大な表を
作成する作業をしています。(200列×10,000行くらい)
そしてその表の一部のセルを、飛び飛びにピックアップ
して参照し、別の小さな表にまとめたいと考えています。
こんな感じ。
↓
【巨大な表】各四角形がひとつのセルと思ってください。
□□□□□□□□□□□□□□□□□□□
□□□壱□□□弐□□□参□□□四□□□
□□□□□□□□□□□□□□□□□□□
□□□赤□□□青□□□黄□□□緑□□□
□□□□□□□□□□□□□□□□□□□
□□□東□□□西□□□南□□□北□□□
□□□□□□□□□□□□□□□□□□□
↓
参照
↓
【小さな表】
壱赤東
弐青西
参黄南
四緑北
上のイメージ図でわかっていただけるでしょうか。
参照したいセルは規則的に並んでいるのですが、
連続してはいません。
小さい表にまとめるときは、行と列の位置関係を
入れ替えたいと思います。
セルの数が数十個程度なら、どうってこともない
作業ですが、参照したいセルの数が、数千個の
オーダーに達しています。
手作業で参照先を指定していたのでは、とても
終わりません。
なんとか効率的に行なう方法はないものでしょうか?
参照のための数式を自動生成するとか。
No.2ベストアンサー
- 回答日時:
こんにちは。
maruru01です。小さな表の左上のセルに、
=OFFSET($D$2,(COLUMN(A1)-1)*2,(ROW(A1)-1)*3)
と入力して、右へ下へコピーします。
数式中の「$D$2」は、巨大な表の抽出するデータの左上のセルです。
(「壱」と入力されているセルを絶対参照で)
数式中の「*2」は縦に2行ごとという意味です。
(「壱」「赤」「東」が2行ごとにあるということです。)
数式中の「*3」は横に3列ごとという意味です。
(「壱」「弐」「参」「四」が3列ごとにあるということです。)
なお、小さな表の左上がどのセルであっても、数式中のCOLUMN関数とROW関数の引数は、必ず「A1」(相対参照)にして下さい。
No.6
- 回答日時:
下記のロジックを会得して、チューニングしてください。
会得すれば簡単です。たった8行です。
VBEの標準モジュールにコピペして実行(F5キー)
Sub test02()
k = 9: l = 1
For i = 2 To 8 Step 2
k = k + 1 : l = 1
For j = 2 To 8 Step 3
Cells(k, l) = Cells(i, j)
l = l + 1
Next j
Next i
End Sub
(テストデータ)
A1:H8に8x8の1から64の数字を入れる。オートフィル
利用。
(実行結果)
A10:C13に
101316
262932
424548
586164
が出来ます。
(本番で変えるところ)
選択するセルについて
スタート行と列のi = 2 ・・・、j = 2の部分
飛びの度合いの Step XX の部分
終り行と列の To YY の部分
抽出するセル場所K=9のところ、。
No.5
- 回答日時:
> 参照
> ↓
>【小さな表】
> 壱赤東
この↑「壱赤東」というのは、1つのセルに入れるのですか?
「参照」となっていることから、そうではなく1つずつのセルだと思いますが、
もし、そうだとすると、1万行あるデータを1行飛び飛びで、行列を入換えて
「小さな表?」を作るとすれば、5千「列」が必要になると思いますが・・・?
シートを分けたとしても20シート位必要と思いますが・・・
VBAで処理した方がいいのかな? と思ったのですが、「参照」とあったので
「大きな表」のデータを修正したとき、即「小さな表」に反映させる必要が
あるのでしょうか。 まぁ、VBAでも出来なくはないですが・・・
解釈が違っているのでしょうか?
この回答への補足
書き込みありがとうございます。
質問の図で、1行おきに参照先データを置いたのはイメージです。
実際にはもう少し複雑ですし、アウトプットの方は複数の表に分けて出力することを考えています。
No.4
- 回答日時:
ANo.#3です。
下記のショートカット操作はできないかもしれません。
GS1から下に
1
2
と入力し、この2つをコピーしてからCtrl+Shift+下矢印キーを押します。
ですので
「と入力し、この2つをコピーしてから下まで貼り付けます」に訂正させていただきます。
No.3
- 回答日時:
力仕事ですが、いいでしょうか。
2行ごと、4列ごとに目的のセルがあるとします。
☆オートフィルタで行を詰める
GS1から下に
1
2
と入力し、この2つをコピーしてからCtrl+Shift+下矢印キーを押します。
で、Ctrl+Vで貼り付けます。
データ→フィルタ→オートフィルタでGS列を「2」で絞り込みます。
表の中のセルを一つだけ選択してCtrl+Shift+:(けのキー)を押しますと表全体が選択されます。
ここでAlt+;(れのキーです)を押し、
Ctrl+Cでコピーし、別なシートにCtrl+Vで貼り付けます。
いらない1行目は削除します。
☆区切り位置で列を詰める
GS1に次の数式を入力します。
=D1&","&H1&","&L1&","&P1&","&T1&","&X1&","&AB1&","&AF1&","&AJ1&","&AN1&","&AR1&","& AV1&","&AZ1&","& BD1&","& BH1&","& BL1&","& BP1&","& BT1 &","&BX1&","& CB1&","& CF1&","& CJ1&","& CN1&","& CR1&","& CV1&","& CZ1&","& DD1&","& DH1&","& DL1&","& DP1&","& DT1&","& DX1&","& EB1 &","& EF1&","& EJ1&","& EN1&","& ER1 &","& EV1&","& EZ1&","& FD1&","& FH1&","& FL1 &","& FP1&","& FT1&","& FX1 &","& GB1&","& GF1&","& GJ1&","& GN1&","& GR1
これを数式バーに貼り付けてください。
GS1をコピーします。
GS2から下に貼り付けます。
GS列を選択してコピー、
別なシートに形式を選択して貼り付けで値をオンにして貼り付けます。
A列を選択してデータ→区切り位置→カンマやタブなどの・・・をオンにして次へ→カンマにチェックを入れて完了
VBAが使えればこんなのは簡単なんですけれどね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ピボットテーブルの参照式はオートフィル出来ない? 2 2023/03/03 15:57
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) たくさんあるフォームコントロールを効率よく確認するには 1 2022/12/24 12:27
- その他(プログラミング・Web制作) Pythonでexcelのvbaを作成、実行する方法について Pythonで表の自動集計プログラムを 3 2022/07/09 09:58
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Excel(エクセル) 【Excel質問】 「本日の日付」から指定条件を満たす営業日経過後の日数を表示させる関数式 3 2022/06/06 23:28
- Excel(エクセル) IF 関数で「〇〇 という文字を含む場合」の分岐処理で表示された数字はSUMで数字集計できますか? 3 2022/08/02 16:29
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- Excel(エクセル) Excel 特定セルの数値を参照したセルの0表示が空白にならないのはどうしてか? 3 2022/04/28 22:23
- Excel(エクセル) 指定文字列が該当するA列をアクティブセルにするには 3 2022/08/17 13:18
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの問題です。絶対値の...
-
西暦和暦
-
エクセルで上位バイトのセルと...
-
非表示列の再表示に失敗
-
エクセルの関数の勉強の仕方
-
エクセルはエクセレントに難しい
-
xlsxファイルを保存する際にPDF...
-
エクセルの入力データと図形の...
-
Excelに詳しい方お願いいたしま...
-
ピボットテーブルという機能に...
-
半角カタカナをヘボン式ローマ...
-
Excel PowerQueryで日付の列が...
-
pdfの表をexcelにはりつけて計...
-
エクセル おすすめフォント
-
UNIQUE関数が使えないバージョ...
-
棒グラフの縦軸目盛線の間隔変更
-
(マクロ)vlookupの元データを同...
-
エクセルで特定のセルに入力が...
-
CSVファイルについて質問です。
-
Excelの数式について教えてくだ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報