- ベストアンサー
ExcelのCOUNTA関数で数えた数だけ連番を付けるには
ExcelでB列から下の行にデータが入力されています。 そのデータ数を数えるために,B4セルに=COUNTA(B5:B100)関数を入力します。 B4セルで数えた数を元にして,A5,A6,A7・・・と下方向にその数まで1,2,3・・・と連番を付けていきます。 もしB4セルの値が0なら連番は付けません。 以上のマクロをシートに貼り付けるにはどのようにしたらよいでしょうか? 教えてください。お願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
A5セルに次の式を入力して下方にオートフィルドラッグすればよいのでは。 =IF(ROW(A1)>COUNTA(B$5:B$100),"",ROW(A1))
その他の回答 (3)
- ASIMOV
- ベストアンサー率41% (982/2351)
もしかして、こういう事? ------------------------------- 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 -----------------------------------
お礼
ありがとうございました。 とてもよく分かりました。 さらにデータのある行だけを連番にしてるのですね。 こういうのも あるのかと勉強になりました。
- okormazd
- ベストアンサー率50% (1224/2412)
マクロなんか使わなくてもこの式で間に合うが。 =IF(ROW()-4<=$B$4,ROW()-4,"")
お礼
ありがとうございました。 とてもよく分かりました。
- ruushii
- ベストアンサー率31% (25/80)
ご希望の解決方法ではないかもしれませんが・・ 以下の関数をA5へ入力、A6以下へコピーしてください。 =IF(OR(COUNTA($B$5:B5)=A4,B4=0),"",COUNTA($B$5:B5))
お礼
ありがとうございました。 とてもよく分かりました。
お礼
ありがとうございました。 とてもよく分かりました。