[[20041116121559]] 『指定した数だけ、同じ文字を表示させる』(sayupon) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『指定した数だけ、同じ文字を表示させる』(sayupon)

A1    B1     C1
  

おはぎ  3   → おはぎ

饅頭   2      おはぎ

             おはぎ

                   饅頭

            饅頭

上記のように、A1には固定した名前が入っておりまして、B行に入れた数だけ
C行に縦に表示したいのです。
初心者なので、どなたか手を貸してくださいm(__)m よろしくお願い致します。


1行目は項目行として 2行まからデータとして
下記VBAでできるようです。(なお)

 Sub test()

lastrow = Cells(Rows.Count, 1).End(xlUp).Row

For i = 1 To lastrow

 lastrow3 = Cells(Rows.Count, 3).End(xlUp).Row

n = 0

 For j = 1 To Cells(i, 2)
  Cells(lastrow3 + n + 1, 3) = Cells(i, 1)
  n = n + 1

Next
Next

End Sub


参考までに、
こんな感じでもいいでしょう。

Private Sub CommandButton1_Click()

    Dim loc As Integer
    Dim idx As Integer
    Dim i As Integer

    While Sheet1.Cells(1 + loc, 2) <> ""
        For i = 0 To Sheet1.Cells(2 + loc, 2) - 1
            Sheet1.Cells(2 + idx, 3) = Sheet1.Cells(2 + loc, 1)
            idx = idx + 1
        Next
        loc = loc + 1
    Wend
End Sub
(arqee)

 Integer → Long
 にした方がよいでしょう。
  (INA) 

 A列に上から下に隙間なく、またB列には、0以下の数値がないという条件で、
 C1に=IF(A1="","",A1)、
 C2に
 =IF(C1="","",IF(COUNTIF(C$1:C1,C1)<VLOOKUP(C1,A$1:B1,2,),C1,
 IF(INDEX(A$1:A1,MATCH(C1,A$1:A1,)+1)="","",
 INDEX(A$1:A1,MATCH(C1,A$1:A1,)+1))))
 として、C2を下にフィルドラッグします。                  (LOOKUP)

   A    B   C
 1 おはぎ  3  おはぎ
 2 饅頭   2  おはぎ
 3 煎餅   2  おはぎ
 4         饅頭
 5         饅頭
 7         煎餅
 8         煎餅

 LOOKUPさんの後に数式を出すのはかなり勇気がいりますが、、
別案ということで作業列を使います。(;^_^A あせあせ・・・
 A    B    C     D
おはぎ	3	1	おはぎ
饅頭	2	4	おはぎ
		6	おはぎ
			饅頭
			饅頭
C1に
1
C2に
=IF(B1="","",B1+C1)
D1に
=IF(MAX(C:C)<=ROW(),"",INDEX(A:A,MATCH(ROW(),C:C)))
で、どうでしょう??
v(=∩_∩=)v
(SoulMan)

 >A1には固定した名前が入っておりまして
 ということですので、私の数式は、適切ではありませんでした。
 A列を作業列として作表するものを掲載させていただきます。
 SoulManさんもご提示されている方法です。
 B1:B5の品目が固定で配置されています。               (LOOKUP)

    A   B   C    D
 1 FALSE おはぎ  0   饅頭
 2   1 饅頭   2   饅頭
 3 FALSE 羊羹	     煎餅
 4   3 煎餅   1   団子
 5   4 団子   3   団子
 6   6         団子

 A1に=IF(C1>0,1)、
 A2に=IF(C2>0,SUM(C$1:C1,1))として、A2をA5までフィルドラッグ。
 A6に=SUM(C1:C5)。
 D1に=IF(ROW(A1)>A$6,"",VLOOKUP(ROW(A1),A$1:B$5,2)) として、下にフィルドラッグ。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.