[[20180807194607]] 『空白セルを飛ばし連番』(くぼ) ページの最後に飛ぶ

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

 

『空白セルを飛ばし連番』(くぼ)

空白セルを飛ばして連番(3つ続き)、またある数字だけ飛ばす方法を教えてください。可能であれば、1から10までいくとまた1からというようにしたいです。


1
1

1
2

2
2

3
3
3

5
5

5

このような感じで、上記例だと4を抜いています。例の数字の左セルにはデータが入っており、データがあるところだけに数字を振っていくという感じです。できれば関数で、難しければマクロでも構いません。よろしくお願いいたします。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


>難しければマクロでも

マクロなら簡単なので、関数の回答がでなければ提示します。

(マナ) 2018/08/07(火) 20:32


 A1セルからデータがあるとして。
 =IF(A2="","",MID("012456789",MOD(INT((COUNTA(A$2:A2)-1)/3),9)+1,1)+1)
 ではどうか?

(ねむねむ) 2018/08/08(水) 09:16


 すまない。
 上記はA2セルからデータがある場合だった。
 A1セルからの場合は
 =IF(A1="","",MID("012456789",MOD(INT((COUNTA(A$1:A1)-1)/3),9)+1,1)+1)
 で。
(ねむねむ) 2018/08/08(水) 09:18

 なお、飛ばす番号を変更する場合は"012456789"部分で飛ばす番号-1を抜いてくれ。
(ねむねむ) 2018/08/08(水) 09:20

参考になれば、、

Sub A列にデータB列に連番()

    Dim i As Long, x As Long, Xcount As Long
    x = 1
    Xcount = 0
    With ThisWorkbook.Sheets("Sheet1")
        For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
            If .Cells(i, "A") <> "" Then
                .Cells(i, "B") = x
                Xcount = Xcount + 1
                If Xcount = 3 Then
                    If x = 4 Then
                        x = x + 2
                    Else
                        x = x + 1
                    End If
                    Xcount = 0
                End If
            End If
        Next i
    End With
End Sub

(TAKA) 2018/08/08(水) 10:11


コメント返信:

[ 一覧(最新更新順) ]


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