2

ситуация такая:

0
-
-
0
-
-
-
-
0
-
-
-
0

Я хотел быть таким:

0
1
2
0
1
2
3
4
0
1
2
3
0

В диапазоне есть тысячи ячеек, и это нельзя сделать вручную.

3 ответа3

2

Если ячейки между нулями пусты, вы можете сделать это:

Выберите все ячейки в вашей электронной таблице, затем нажмите F5, нажмите "Специальные", отметьте "Пробелы" и нажмите "ОК". Теперь все пустые ячейки выделены.

Не меняя выбор, начните печатать

=if(

нажмите стрелку вверх, затем введите

=0,1,

нажмите стрелку вверх, затем введите

+1)

Это будет выглядеть примерно так:

Удерживая клавишу Ctrl, нажмите Enter. Теперь все ранее пустые ячейки будут иметь формулу

=if(A1=0,1,A1+1)

и ячейки между нулями будут пронумерованы. Обратите внимание, что это работает для нескольких столбцов одновременно.

Формула в посте Джейсона Аллера не работает для меня вообще. Для полноты картины вот эта формула на скриншоте.

1

Если единственными элементами в столбце являются ноль и пробелы, а первый элемент - ноль, выберите ячейки, которые вы хотите обработать, и запустите этот небольшой макрос:

Sub FillInTheBlanks()
   Dim r As Range, K As Long, CH As String
   K = 1
   For Each r In Selection
      CH = r.Text
      If CH = "" Then
         r.Value = K
         K = K + 1
      Else
         K = 1
      End If
   Next r
End Sub

До:

и после:

1

Вставьте пустой столбец справа от этого столбца и добавьте формулу, которая будет смотреть на ячейку слева, и если эта ячейка равна нулю, она будет помещать ноль, а если нет, то добавит единицу к значению в ячейке выше. , Затем скопируйте столбец и вставьте в качестве значений исходный столбец и удалите добавленный столбец.

Например, если ваш столбец - это столбец A в ячейке B2:

=if(A2=0,0,B1+1)

и если ячейки между нулями пусты и в них нет дефиса, то формула может быть изменена на:

=if(AND(A2=0, NOT(ISBLANK(A2))), 0, B1+1)

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