プロが教えるわが家の防犯対策術!

ExcelでB列から下の行にデータが入力されています。
そのデータ数を数えるために,B4セルに=COUNTA(B5:B100)関数を入力します。
B4セルで数えた数を元にして,A5,A6,A7・・・と下方向にその数まで1,2,3・・・と連番を付けていきます。
もしB4セルの値が0なら連番は付けません。
以上のマクロをシートに貼り付けるにはどのようにしたらよいでしょうか?
教えてください。お願いします。

A 回答 (4件)

A5セルに次の式を入力して下方にオートフィルドラッグすればよいのでは。


=IF(ROW(A1)>COUNTA(B$5:B$100),"",ROW(A1))
    • good
    • 0
この回答へのお礼

ありがとうございました。
とてもよく分かりました。

お礼日時:2009/11/09 15:03

もしかして、こういう事?


-------------------------------
Sub 連番()
  la = 5
  If Cells(4, "B") = 0 Then
    MsgBox "Non DATA"
  Else
    For i = 1 To Cells(4, "B")
      Do While Cells(la, "B") = ""
        Cells(la, "A") = ""
        la = la + 1
      Loop
      Cells(la, "A") = i
      la = la + 1
    Next
  End If
End Sub
-----------------------------------
「ExcelのCOUNTA関数で数えた数だ」の回答画像3
    • good
    • 0
この回答へのお礼

ありがとうございました。
とてもよく分かりました。

さらにデータのある行だけを連番にしてるのですね。
こういうのも あるのかと勉強になりました。

お礼日時:2009/11/09 15:02

マクロなんか使わなくてもこの式で間に合うが。


=IF(ROW()-4<=$B$4,ROW()-4,"")
    • good
    • 0
この回答へのお礼

ありがとうございました。
とてもよく分かりました。

お礼日時:2009/11/09 15:01

ご希望の解決方法ではないかもしれませんが・・


以下の関数をA5へ入力、A6以下へコピーしてください。

=IF(OR(COUNTA($B$5:B5)=A4,B4=0),"",COUNTA($B$5:B5))
    • good
    • 0
この回答へのお礼

ありがとうございました。
とてもよく分かりました。

お礼日時:2009/11/09 15:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!