- ベストアンサー
A列に1~10000までの値が入力されています。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
マクロ(VBA)例です。 対象データシートタブ上で右クリック→コードの表示→サンプルコード貼り付け→シート上でAlt+F8キー押下→sample実行 Sub sample() Dim i As Long, j As Long, cnt As Long For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row + 1 Select Case Cells(i, 1) Case "" If cnt >= 5 Then Cells(j, 2).Resize(cnt) = "●" cnt = 0 Case Else If cnt = 0 Then cnt = 1: j = i Else cnt = cnt + 1 End If End Select Next End Sub
その他の回答 (3)
- KURUMITO
- ベストアンサー率42% (1835/4283)
マクロというよりも関数で十分対応できますね。 データがA2セルから下方にあるとします。 B2セルには次の式を入力して下方にドラッグコピーします。 =IF(A2="","",IF(COUNT(A2:A6)=5,"●",IF(AND(A2<>"",B1="●"),"●","")))
お礼
関数でも、狙い通りの結果になりました。
- watabe007
- ベストアンサー率62% (476/760)
こんばんは、参考に Sub Test() Dim c As Range For Each c In Range("A:A").SpecialCells(xlCellTypeConstants).Areas If c.Cells.Count >= 5 Then c.Offset(, 1).Value = "●" Next End Sub
お礼
おおお。 マクロと言っても、色々と方法があるんですね。 勉強になります。
- mt2008
- ベストアンサー率52% (885/1701)
マクロではなく関数ですが B1に =IF(COUNT(A1:A5)=5,"●","") B2に =IF(COUNT(A2:A6)=5,"●",IF((A2<>"")*(B1="●"),"●","")) と、入れてB2を下方向にコピーしてください。
お礼
迅速に回答して頂き、ありがとうございます。 関数で出来ました。
お礼
うぉぉぉ。 完璧です!!!!感謝感謝ですよ。