表の値を組み合わせて新しい表を生成したい

このQ&Aのポイント
  • 元の表の値を使って、新しい表を生成したいです。具体的には、元の表にはAからHまでの値があり、それらを組み合わせて新しい表を作りたいです。
  • 元の表の値を組み合わせて新しい表を作りたいです。VBAを使って繰り返し処理を行い、新しい表を生成したいと考えています。
  • VBAやOKwaveを初めて使う初心者ですが、元の表の値を使って新しい表を作りたいです。具体的には、元の表にはAからHまでの値があり、それぞれの値を組み合わせて新しい表を作りたいと思っています。
回答を見る
  • ベストアンサー

表の値を組み合わせて新しい表を生成したい

表の値を組み合わせて新しい表を生成したい 元となる表は↓のようなものです。 0  0501  A 1  0502  B 2  0503  C 3  0504  D 4  0505  E 5  0506  F 6  0507  G 7       H 8 9 10 これをもとに繰り返し処理を行い、↓のような新しい表を生成したいのです。         A  B  C  D  E  F  G  H 0  0501 0  0502 0  0503 0  0504 0  0505 0  0506 0  0507 1  0501 1  0502 1  0503 1  0504 1  0505 1  0506 1  0507 2  0501 2  0502 2  0503 2  0504 2  0505 2  0506 2  0507 3  0501 3  0502 3  0503 3  0504 3  0505 3  0506 3  0507 ・ ・ ・ VBAもOKwaveも初心者です。あつかましいのですが、どなたかVBAの例文を作っていただけないでしょうか・・・ ようするには、もとの表の値を使って、集計表を作りたいのです。

質問者が選んだベストアンサー

  • ベストアンサー
  • _Kyle
  • ベストアンサー率78% (109/139)
回答No.1

ん~、こういったことでしょうか? ご要望に沿っているかどうか自信がありませんが とりあえず叩き台として。 --------------- Sheet1!A1セル以下の元表をもとに Sheet2!A1セル以下に集計表の見出(?)を作成します。 元表は、途中に空白セルが無いものとしています。 ※普通は Do...Loop を使う場面かとも思いますが  弄り方を間違えると止まらなくなるので  あえてFor...Nextで回しています。 '=======↓ココカラ↓======================================= Sub Sample()    Dim orgCel As Range  Dim rtnCel As Range    Dim i As Long  Dim j As Long  Dim k As Long    Set orgCel = Worksheets("Sheet1").Range("A1")  '元表左上隅セル  Set rtnCel = Worksheets("Sheet2").Range("A1")  '書出先左上隅セル    k = 0  For i = 0 To Rows.Count   If orgCel.Offset(i, 0) = "" Then Exit For   For j = 0 To Rows.Count    If orgCel.Offset(j, 1) = "" Then Exit For    k = k + 1    rtnCel.Offset(k, 0).Value = orgCel.Offset(i, 0).Value    rtnCel.Offset(k, 1).Value = orgCel.Offset(j, 1).Value   Next j  Next i    For i = 0 To Rows.Count   If orgCel.Offset(i, 2) = "" Then Exit For   rtnCel.Offset(0, i + 2).Value = orgCel.Offset(i, 2).Value  Next i   End Sub '=======↑ココマデ↑======================================= 以上ご参考まで。

iPhonia
質問者

お礼

出来ました!期待どおりの結果を得られました。 全く言葉足らずの中、本当にありがとうございました・・・ 例文をよく読んで勉強します!

関連するQ&A

  • 2つの表を合わせた表3作成したい

    表1 A B  C  D  E  F G  H  I  名称 1 01 00 00 00 00 000 00 00 00  あ 2 01 01 00 00 00 000 00 00 00  い 3 01 01 01 00 00 000 00 00 00  う 4 01 01 01 01 00 000 00 00 00  え 5 01 01 01 01 01 000 00 00 00  お 6 01 01 01 01 01 001 00 00 00  か 7 01 01 01 01 01 001 01 00 00  き 8 01 01 01 01 01 001 01 01 00  く 9 01 01 01 01 01 001 01 01 01  け 10 01 01 01 01 01 001 01 01 02  こ 20 01 01 01 01 01 001 01 02 00  阿 21 01 01 01 01 01 001 01 02 01  居 22 01 01 01 01 01 001 01 02 02  卯 100 02 00 00 00 00 000 00 00 00  亜 101 02 01 00 00 00 000 00 00 00  医 102 02 01 01 00 00 000 00 00 00  宇 AからIの欄には入る数字によって名称が変わります。 表2 A  B  C  D  E  F G  H  I   1 01 01 01 01 01 001 01 01 01  2 01 01 01 01 01 001 01 01 02  3 01 01 01 01 01 001 01 01 03  4 01 01 01 01 01 001 01 02 01  5 01 01 01 01 01 001 01 02 02  6 02 01 01 01 01 001 01 01 01  この2つの表を合わせた表3を作成したいのです。 表3 A  B  C  D  E  F  G  H  I 1 01あ 01い 01う 01え 01お 001か 01き 01く 01け 2 01あ 01い 01う 01え 01お 001か 01き 01く 02こ  3 01あ 01い 01う 01え 01お 001か 01き 01阿 01居  4 01あ 01い 01う 01え 01お 001か 01き 01阿 02卯

  • Aの値の求め方を教えて下さい

    (A-B)÷C+D+E+F+G-H=I Aの値の求め方を教えて下さい。 よろしくお願いします。

  • 難解なエクセル集計の仕方を教えてください!!

    以下のように集計したいのですが、いい方法はありませんか? 解りにくいですが、宜しくお願いします!!! ------------------------ 【関係図】  (1)(2)という2つグループの関係を表しています。  組織図のようなものと思ってくださって結構です。 ■元データ 【表あ】  関係図を分解し、2つごとの関係に直したデータです。   【表い】  それぞれA-Oに対応する数字が入っています。 ■集計要望 【表あ】と【表い】ふたつのデータを元に、関係図に基づいた集計をしたい。 例: 1.Aを集計すると、Aの下位のものはすべて集計したい。(A~Gまでの集計) 2.Dを集計すると、Dの下位のみが集計されるようにしたい。(D+E+F+G) 3.Fを集計すると、Fの下位のみ集計したい。(F+G) 4. Iを集計=I+K、Jを集計=J+L+M+N+O 【関係図】  (1)A-B-C      D-E       F-G  (2)H-I-K     J-L-M       N-O 【表あ】  A ― B  B ― C  B ― D  D ― E  D ― F  F ― G  H ― I  I ― K  H ― J  J ― L  L ― M  L ― N  N ― O 【表い】 A=1 B=2 C=4 D=5 E=6 F=7 G=8 H=9 I=10 J=11 K=12 L=13 M=14 N=15 O=16

  • 3つのKEYから表を検索して値を取得したい。

    どなたかご存じでしたらご回答をお願いします。 【質問】  下記の検索KEY(A,B,C)が5行あります。1行ずつ検索KEY(A,B,C)から表を検索して  表のKEY(G,H,I)と一致した場合に、表のJ、K、Lの値を、検索KEYのD、E、Fに値を取得  する方法が知りたいです。※検索KEY(A、B、C)の値は可変です。   ●検索KEY:実行前   A     B    C    D   E   F     偶数日   第1 前大偶 偶数日   第2 前大偶 偶数日   第3 前大奇 偶数日   第4 前大偶 偶数日   第5 前大奇 ●検索KEY:実行後・・・D、E、Fに表のKEY(G、H、I)と一致して取得したJ、K、Lの値が入る。   A     B    C    D   E   F     偶数日   第1 前大偶  12   15   24 偶数日   第2 前大偶   2   11   27 偶数日   第3 前大奇   2    3   16 偶数日   第4 前大偶   17   23 偶数日   第5 前大奇   5    7   23  ●表:50行あります。   G     H    I     J   K  L        偶数日   第1 直大偶   2   16  26 偶数日   第1 前大奇   12  16  20 偶数日   第1 前大偶   12  15  24 偶数日   第1 直前    14   19 偶数日   第1 直大奇   3   11  30 奇数日   第1 直大偶   2   19  20 奇数日   第1 前大奇   4   20  25 奇数日   第1 前大偶   10  21  30 奇数日   第1 直前     5   7  14 奇数日   第1 直大奇   8   22 偶数日   第2 直大偶   10  15  22 偶数日   第2 前大奇   20  25 偶数日   第2 前大偶   2   11  27 偶数日   第2 直前     5  28   29 偶数日   第2 直大奇   6   11  13 : : 偶数日   第5 直大偶   4   8 偶数日   第5 前大奇   5   7   23 偶数日   第5 前大偶   24  28  29 偶数日   第5 直前     1   2  17 偶数日   第5 直大奇   15  23 奇数日   第5 直大偶   17  25  29 奇数日   第5 前大奇   19  24  25 奇数日   第5 前大偶   7   28 奇数日   第5 直前     9  20  31 奇数日   第5 直大奇   7  12  18 【注意事項】   ・使用するエクセルは2010です。 以上、よろしくお願いします。

  • EXCELの表で縦横の入れ替え方法

    EXCELの表で 縦軸と横軸を入れ替える方法ってありますか? つまり A B C D E F G H I J K L っていう表を A E I B F J C G K D H L にしたいのです。

  • 検索結果の値を返すマクロ

    以下のような表で列「A」にある値を「C1~I1」より検索し 一致するものがあれば、列名を「B列」に返すマクロを作りたいのですが、どのようにマクロを記述したら良いでしょうか? A  B  C  D   E   F   G   H   I       10 20 30 40 50 60 80 10 20 10 50 60 勉強してみたのですが、変数をどのように使っていいか判りません。 ご助言いただければと思います。

  • エクセルのvlookup関数で、前後の値を参照したい(分かりにくくてすみません)

       A      B      C     D    E     F    G    H 1   深さ  荷重1 荷重2  荷重3         深さ  荷重1  2    1.5   100     150     200           2.5   135 3    2.0    120     180     300           4   3.0     150    200     350 上記のようなA1からD4までの表があり、深さと荷重の種類によって値が決まります。 G2に深さを入力した時に、H2に荷重1の値が表示されるようにしたいのですが、G2の深さは表にある値とは限らず、「1.8」や「2.45」などの半端な数値を入力することもあります。その場合、H2の値は上下の深さに当たる荷重を比例配分するようにしたいのです(たとえば上のように、G2「2.5」ならH2は「135」と表示)。 また実際の表はもっと縦に長く、参照する深さの間隔もまちまちです。 私は単純なvlookup関数しか使ったことがなく、前後の2つの値を参照する方法などあるのでしょうか。 分かりにくい表と説明で申し訳ありません。 どなたか詳しい方、教えていただければ幸いです。

  • Exelの表を以下のように全行組み替えたいと思いますが、手作業では大変

    Exelの表を以下のように全行組み替えたいと思いますが、手作業では大変です。 そこでマクロを作って作業をさせたいのですが、どのように記述すればよいでしょうか? (現状の表組)※左の数値がレコード数です。 1|A| |C| | |B| |D| | 2|E| |G| | |F| |H| | (このように整形したい表) 1|A|B|C|D| 2|E|F|G|H| このレコードが何百と下に並んでいる状態です。

  • 巨大数生成アルゴリズム

    次のようなアルゴリズムで巨大数を生成していくのは効率がいいと言えますか おそらく、いえると思いますが、これを論理的に示すにはどうしたらよいでしょうか? 1. F(a,b,0)=a+b , F(a,0,c)=a+c   F(a,b,c)=F(a,b-1,F(a,b,c-1)) 2. F(a,b,c,0)=F(a,b,c)   F(a,b,0,d)=F(a,b,d)   F(a,b,c,d)=F(a,b,c-1,F(a,b,c,d-1)) 3. F(a,b,c,d,0)=F(a,b,c,d)   F(a,b,c,0,e)=F(a,b,c,e)   F(a,b,c,d,e)=F(a,b,c,d-1,F(a,b,c,d,e-1)) ・・・ おそろらく添え字か5つか6つ位でグラハム数オーダーではないかと思ったりしますが。。 いかがなものでしょうか?

  • トーナメント表の作り方

    9チームのトーナメント表を作ろうと思います。Aチームが第一シードの場合、 A―――――          |  B――    |―     |――  | C――      |            |― D――――    | |        |――  | E――――      |              |―  F――――      |        |――  | G――――    | |            |― H――――    |        |―― I――――   というのが、一般的なトーナメント表になると思いますが、こうなる根拠というのを教えてください。 もしくは、別の表になることがありますか?もしそうであるのなら、その理由を教えてください。 よろしくお願いします。

専門家に質問してみよう