2

У меня есть ряд данных в Excel, как под

ARG2755-NNL4W
BBF1732-NNM4WF
BES0542-NNM4W
BES0542-NNM4W
BES0542-NNM4W
BES0542-NNM4W
BES0542-NNM4W
BES0542-NNM4W
BRA0743-NNM4VF
BRA1650-NNM4TK
BRA1919-NNO1PK
BRA1919-NNO1WK
BRA1920-NNL4VK
BRA1920-NNL4VK
BRB0939-NNL4WF
BRB1625-NNL4WK
BRB1625-NNL4WK

Я хочу нумеровать это как:

1   ARG2755-NNL4W
2   BBF1732-NNM4WF
3   BES0542-NNM4W
    BES0542-NNM4W
    BES0542-NNM4W
    BES0542-NNM4W
    BES0542-NNM4W
    BES0542-NNM4W
4   BRA0743-NNM4VF
5   BRA1650-NNM4TK
6   BRA1919-NNO1PK
7   BRA1919-NNO1WK
8   BRA1920-NNL4VK
    BRA1920-NNL4VK
9   BRB0939-NNL4WF
10  BRB1625-NNL4WK
    BRB1625-NNL4WK

Пожалуйста помоги

3 ответа3

4

С данными в столбце B, в A1 введите:

1

В А2 введите:

=IF(B2=B1,"",1+MAX($A$1:A1))

и скопируйте вниз:

3

Предполагая, что столбцы A и B, поместите 1 в столбец A1 , затем поместите эту формулу в A2 и перетащите ее вниз.

=IF(NOT(B2=B1),INDEX($A$1:A1,MATCH(9.99999999999999E+307,$A$1:A1))+1,"")

Это работает:

=IF(NOT(B2=B1)... - Сравнивает ячейку B2 с B1. Если они не совпадают ...

INDEX($A$1:A1,MATCH(9.99999999999999E+307,$A$1:A1))+1 - находит последнее число от A1 (Fixed) до A1 (Variable) и добавляет к нему 1. Символы $ нужны для того, чтобы он всегда сравнивался от А1 до ячейки перед ней. Иначе:

"") - Просто верните пустую строку.

2

Это VBA делает это. Сделайте это с копией вашей рабочей книги, так как нет возможности отменить.

Также обратите внимание, что вы можете установить некоторые значения в начале кода

Option Explicit
Sub SailMeHearties()

Dim row As Integer
row = 1

Dim col As String
col = "B"

Dim colOfNumber As String
colOfNumber = "A"

' LEAVE THE CODE BELOW ALONE OR WALK THE PLANK

Range(colOfNumber + ":" + colOfNumber).Clear
Range(colOfNumber & row).Value = 1

Dim startNumber As Integer
startNumber = 2

row = row + 1

Do While Range(col & row).Value <> ""

    If (Range(col & row).Value <> Range(col & row - 1).Value) Then
        Range(colOfNumber & row).Value = startNumber
        startNumber = startNumber + 1
    End If
    row = row + 1
Loop

End Sub

Также см. Как добавить VBA в MS Office?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .