Как пронумеровать только видимые ячейки в excel

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

Заполните порядковые номера, пропустите скрытые строки с помощью формулы

Заполните порядковые номера, пропустите скрытые строки с кодом VBA

Заполнить порядковые номера, пропустить скрытые строки с помощью Kutools for Excel


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

1. Введите эту формулу: = ПРОМЕЖУТОЧНЫЙ ИТОГ (103; B $ 3: B3)(B3 — это видимая ячейка, соответствующая ячейке, с которой вы хотите начать заполнение порядкового номера) в первую ячейку, в которую вы хотите заполнить порядковые номера, A3, для этого экземпляра, а затем нажмите Enter key вы получите цифру 1, см. снимок экрана:

док заполнить вниз пропустить скрыто 3

2. Затем выберите ячейку A3 и перетащите маркер заполнения вниз к ячейкам, которые вы хотите заполнить порядковыми номерами, см. Снимок экрана:

док заполнить вниз пропустить скрыто 4


Следующий код VBA также может помочь вам заполнить порядковые номера только видимыми ячейками, пожалуйста, сделайте следующее:

1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.

Код VBA: заполните порядковые номера, пропустите скрытые строки:

Sub FillValue()
'updateby Extendoffice
    Dim xRg As Range
    Dim xCell As Range
    Dim xTxt As String
    Dim xVal As Long
    Dim I As Long
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the data range", "Kutools for Excel", xTxt, , , , , 8)
    Set xRg = xRg.SpecialCells(xlVisible)
    Debug.Print xRg.Address
    If xRg Is Nothing Then Exit Sub
    For Each xCell In xRg
        xVal = xVal + 1
        xCell = xVal
    Next
End Sub

3, Затем нажмите F5 нажмите клавишу для запуска этого кода, и появится диалоговое окно, напоминающее вам о выборе диапазона данных, который вы хотите заполнить, см. снимок экрана:

док заполнить вниз пропустить скрыто 5

4, Затем нажмите OK кнопки, порядковые номера были заполнены только видимыми ячейками.


Только два вышеуказанных метода могут помочь вам заполнить порядковые номера в видимых ячейках, если вы хотите заполнить последовательность как AA-0001-BB, AA-0002-BB, AA-0003-BB…, вышеуказанные методы не будут работать. Но, пожалуйста, не беспокойтесь о том, Kutools for ExcelАвтора Вставить порядковый номер Утилита поможет вам закончить это быстро и легко.

После установки Kutools for Excel, пожалуйста, сделайте следующее:

1. Выделите ячейки, которые вы хотите заполнить строками последовательности.

2. Нажмите Кутулс > Вставить > Вставить порядковый номер, В Вставить порядковый номер диалоговое окно, нажмите Новинки кнопку см. скриншоты:

3. В развернутом диалоговом окне укажите необходимые настройки в левом нижнем разделе, в то же время вы можете предварительно просмотреть последовательность в правой нижней панели, см. Снимок экрана:

док заполнить вниз пропустить скрыто 8

4. После завершения настройки нажмите Добавить кнопку, чтобы сохранить этот новый элемент в поле списка выше, см. снимок экрана:

док заполнить вниз пропустить скрыто 9

6. Затем выберите созданный элемент и нажмите Диапазон заполнения , строки последовательности были заполнены только видимыми ячейками, см. снимок экрана:

док заполнить вниз пропустить скрыто 10

Скачать и бесплатную пробную версию Kutools for Excel Сейчас !



Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

1

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

  1. 1. В первую ячейку отфильтрованного списка внести функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ, выбрать 103-й номер функции (СЧЁТЗ) кликнув 2 раза по номеру 

2

2. Нажать fx в строке формул и указать в Ссылка1 соседнюю ячейку в этой же строке (в примере – наименования товаров).

3

3. Ввести «:» и еще раз указать эту же ячейку, создав диапазон из одной ячейки.

4

4. Первую границу диапазона фиксируем (выделяем адрес и нажимаем на клавиатуре F4)

5

5. Нажимаем «OK» и протягиваем формулу до конца списка.

Мы получаем активную нумерацию. Даже если вы отсортируете значения в других столбцах, нумерация сохранится.

7

Если материал Вам понравился или даже пригодился, Вы можете поблагодарить автора, переведя определенную сумму по кнопке ниже:
(для перевода по карте нажмите на VISA и далее «перевести»)

Although the methods described in this thread allow sequential numbers to be added to visible cells in a filtered range, the formulas for doing so are likely to break if the cells currently hidden by the filter have existing values. Ideally, you would just copy the filtered range after adding formulas to number them—but you will get a «no can do» message because of the breaks in the selected range. The workaround is to use a currently blank auxiliary column.

The instructions that follow (taken from my answer in an Experts Exchange thread) assume that a filtered range (cells B5:B7147) needs new sequential numbers starting with cell B116.

The overall approach uses F5…Special Cells to select just the cells we care about at the moment. And we will be using an auxiliary column to store intermediate values.

The starting point is with filter applied, and you want to update the numbers in column B starting with cell B116. We will use column K as the auxiliary column. And we note that the data extends through row 7147.

Put 9918 (the next sequential number) in cell K116. Then select the range of cells from K117 to K7147. Now use F5…Special Cells…Visible cells ribbon item to select just the cells in column K that need new sequential numbers. Click in the formula bar and type the formula shown below. Hold the Control key down and hit Enter to put sequential numbers in the visible cells.

`=MAX(K$116:K116)+1`

Now clear the AutoFilter. In the address bar (just above the intersection of row numbers and column letters), type K5:K7147 and hit Enter. This will instantly select those cells without need to drag the cursor down through thousands of rows.

Next, use F5…Special Cells…Blanks to select the blank cells in column K. In cell K5 Control + Enter the formula shown below.

=IF(B5="","",B5)

Use the trick with the address bar to select K5:K7147. Copy those cells. Next, use the address bar trick to select B5:B7147. Now do a Paste Special…Values. You now have the desired numbers in column B without formulas and without any of the originally hidden values being overwritten.

Finally, you may clear (or delete) the auxiliary column K.

Раздел:
Софт

В блог
Подписаться на Дзен!

Отвечать в конференциях и заводить новые темы может любой участник, независимо от наличия регистрации на сайте 7я.ру.

Spiker

Как пронумеровать ячейки. ,без учета скрытых ??
есть огромный массив — скрыла ячейки ( удалить нельзя скрытые)- теперь нужно пронумеровать.
Как ?? Эксель упорно нумерует с учетом скрытых ячеек :

27.04.2010 12:55:51,

13 комментариев

Ryda

еще проще — почти второй вариант Клоунессы, но без доп. столбцов
правка-перейти-выделить-только видимые, правка-заполнить-прогрессия-по столбцам

06.05.2010 00:24:41, Ryda

Можно сыграть на том, что данные в скрытых ячейках не сортируются.
Сначала пронумеровать все ячейки уже указанным выше способом. Затем пронумеровать еще раз в соседней колонке. Эту вторую вспомогательную колонку отсортировать в обратном порядке (Я-А). В скрытых строках значения не будут отсортированы и останутся такими как и первой колонке, во всех остальных они будут отличаться (следует работать только с четным количеством строк!). Затем завести третью вспомогательную колонку с 1 в начале. Во всех следующих ячейках этой колонки написать формулу типа такой =ЕСЛИ(RC[-2]<>RC[-1],1,0)+R[-1]C) — то есть если в двух колонках числа совпадают, то единичку к верхнему значению не добавлять…
Ну а потом скопировать значения этой колонки специальной вставкой (только значения) на место первой и удалить вторую и третью

Можно еще и по другому. Например в начале пустой первой вспомогательной колонки поместить 1, скопировать это значение, а потом выделить все остальные ячейки, зайти через меню правка->перейти->выделить->только видимые ячейки и Shift+Insert — положить в них эту самую единицу. Получится колонка с 1 в видимых и пустотой в невидимых ячейках. Во второй вспомогательной колонке рядом пишем в верхней ячейке 1 в остальных =ЕСЛИ(RC[-1]=1,1,0)+R[-1]C)…


27.04.2010 15:22:18, Клоунесса

РАБОТАЕТ!!!
второй вариант лучше и красивше

Клоунесса! Респект и уважуха вам!!!! ))))


27.04.2010 15:45:38, Muha_Na_TaNke

Spiker

СПАСИБО ОГРОМНОЕ!!! первый вариант, честно говоря,ничего не получилось.
Сделала все по второму варианту.

27.04.2010 16:45:42, Spiker

Spiker

Девочки!! конечно нужно пронумеровать без учета скрытых!! Не получается до сих пор, вручную нереально — огромный объем.
27.04.2010 14:40:45, Spiker

Имхо,никак,кроме как вручную.Хоть какой объем,сделать можно за 3 мин.Протягиваете нумерацию ДО первой ячейки,которую нужно скрыть,потом спокойно скрываете необходимые ячейки и след номер ставите ЗА последней скрытой ячейкой,протягиваете дальше и все.
27.04.2010 14:50:05, Сашкины жёны

видимо только по кусочкам протягивать
27.04.2010 13:08:09, Tomatut☺

если вы не скрыли первые строки а в середине
набираете на верхних построчно
1
2
3

выделяете все три яйчейки
мышкой протискиваете вниз
д.б.
1
2
3
4
5
6
15
16

7-14 строки скрыты

Удачи!


27.04.2010 13:16:17, Muha_Na_TaNke

я так поняла, что надо наоборот, не нумеровать скрытые
27.04.2010 13:23:49, Tomatut☺

Прикольно! Автор сначала пишет Как пронумеровать скрытые ячейки ??

потом в конце пишет Как ?? Эксель упорно нумерует с учетом скрытых ячеек
)))
ржу ни магу

Автор! Что вы просите? Пронумеровать с учетом скрытых или пронумеровать без учета скрытых строк?


27.04.2010 13:35:06, Muha_Na_TaNke

пронумеровать без учета скрытых строк

только кусками вручную


27.04.2010 13:45:53, Muha_Na_TaNke

хм, а пронумеровать как, просто 1,2,3 и протянуть вниз? попробовала, у меня номерует скрытые
27.04.2010 13:02:30, Tomatut☺

Аникова

Я тоже не знаю как пронумеровать, чтобы скрытые не учитывались…

Сначала вообще не поняла, в чем проблема :)


27.04.2010 13:04:21, Аникова

© 2000-2023, 7я.ру

Материалы сайта носят информационный характер и предназначены для образовательных целей. Мнение редакции может не совпадать с мнениями авторов. Перепечатка материалов сайта запрещена без письменного согласия компании SIA «ALP-Media» и авторов. Права авторов и издателя защищены.

Рейтинг@Mail.ru

7я.ру — информационный проект по семейным вопросам: беременность и роды, воспитание детей, образование и карьера, домоводство, отдых, красота и здоровье, семейные отношения. На сайте работают тематические конференции, ведутся рейтинги детских садов и школ, ежедневно публикуются статьи и проводятся конкурсы.

18+

Если вы обнаружили на странице ошибки, неполадки, неточности, пожалуйста, сообщите нам об этом. Спасибо!

 

cstrizh

Пользователь

Сообщений: 23
Регистрация: 12.09.2013

Помогите с решением проблемы. Написан макрос, который автоматически скрывает строки по условию. НО! Скрытые строчки содержат нумерацию. Необходимо после того, как ненужные строки скрылись, пронумеровать полученную таблицу заново, но лишь видимые строки. (файл в приложении).

Изменено: cstrizh26.09.2013 17:59:41

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

Зачем? :)

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Перебрать строки циклом: если видимая — присвоить номер.

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

Делается с помощью ПРОМЕЖУТОЧНЫЕ.ИТОГИ.

Я сам — дурнее всякого примера! …

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

Юрий, Сергей — вы файл смотрели?

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

#7

26.09.2013 18:19:55

И что? В А2 формула:

Код
=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103;$B$2:$B2)

И вниз.

Я сам — дурнее всякого примера! …

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

Мне кажется, что главный вопрос — зачем? Когда будет известно — можно решать. :)

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

А чего это тебя так интересует? Для последовательной нумерации при постановке автофильтра, например. Этот вопрос задавался не раз.

Я сам — дурнее всякого примера! …

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

Сергей — зачем? Что станет иначе, кроме того, что там теперь будет формула?

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Теперь глянул)) Я понял — ждём ответ. Но, возможно, так совпало)))

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

Сергей, понятно что хуже не будет. Только тяжелее :)
Ну и формула, завязанная на эти ячейки, будет давать последний видимый номер — может это нужно? Так из кода виден последний номер, там ведь нет динамики.

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Игорь, чё пристал? Хочет человек нумерацию — пусть будет))

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

Я чет совсем не понимаю о чем вы. Игорь, изменится порядок нумерации. Он станет непрерывным и последовательным. А сейчас при скрытых строках порядок нарушается.

Я сам — дурнее всякого примера! …

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

#15

26.09.2013 18:39:03

Цитата
Так из кода виден последний номер, там ведь нет динамики.

Это о чем вообще? Тот код, что я вижу, никакого отношения к нумерации не имеет, он скрывает те или иные строки.

Изменено: KuklP26.09.2013 18:39:32

Я сам — дурнее всякого примера! …

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

#16

26.09.2013 18:40:51

Сергей, а где там в файле в макросе такой функционал?

Код
Sub macros()
    ActiveSheet.[B2:B28].Rows.EntireRow.Hidden = False    'показать все строки
    i = Range("=Лист1!B3").Value    'ячейка от которой зависит кол-во строк (указано кол-во строений)
    Cells.EntireRow.Hidden = False
    Select Case i
    Case 1
        Rows("10:28").EntireRow.Hidden = True    'скрыть для 1
    Case 2
        Rows("14:28").EntireRow.Hidden = True    'скрыть для 2
    Case 3
        Rows("18:28").EntireRow.Hidden = True    'скрыть для 3
    End Select
End Sub
 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

Ну, и я об этом коде. Где там нумерация? Меняешь на листе 1 цифру в списке и разные группы строк скрываются.

Я сам — дурнее всякого примера! …

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Я тоже что-то запутался… Код никакой нумерации не делает. Игорь, раскрой секрет — о чём ты?

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

#19

26.09.2013 18:47:09

Фу-ух, я думал что все понимают, только я один туплю :) Юра писал:

Код
Теперь глянул)) Я понял - ждём ответ.

Я сам — дурнее всякого примера! …

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Серж, я вначале подумал, что нумерация осуществляется — смотрел на лист))

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

Я о том, что всегда скрывается только хвост этого столбца чисел. Целиком весь хвост.
И в коде это видно — там на листе ниже 28 строки никаких чисел нет
Может быть конечно в рабочем файле иначе, не знаю — смотрю на пример. И не понимаю — зачем » пронумеровать полученную таблицу заново», если эта полученная аккуратно и так пронумерована от 1 до начала скрытого хвоста.

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

#22

26.09.2013 21:37:09

Почему всегда хвост? Вот ведь исходный код:

Код
Case 1
     Rows("10:28").EntireRow.Hidden = True 'скрыть для 1
   Case 2
     Rows("14:17").EntireRow.Hidden = True 'скрыть для 2
   Case 3
     Rows("18:19").EntireRow.Hidden = True 'скрыть для 3
 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

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

Я сам — дурнее всякого примера! …

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Вроде понял, в чём дело: изначально у автора был код, который приводит Игорь в #16, а потом ТС изменил его и сейчас там другой набор строк: см. #22. Если по первому коду, то всё верно — всегда скрывается хвост и переделывать нумерацию не имеет смысла :-)

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

Так это чайник воду мутит… :D

Я сам — дурнее всякого примера! …

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

Ну вот, разобрались. А ТС втихаря файл подменил и молчит как рыба об лёд  :)
Но я то уже успел его скачать :)

Изменено: Hugo26.09.2013 22:52:24

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Может бан ему годика на 3?

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

Суров…
Но справедлив :)

 

cstrizh

Пользователь

Сообщений: 23
Регистрация: 12.09.2013

Не надо бан) я файл изменил в течение нескольких секунд после публикации первого сообщения. Их было два, в первом случае не тот выслал, но сразу заметил.

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

#30

27.09.2013 10:00:41

cstrizh, вообще принято отписываться, помогло ли решение, например…

Я сам — дурнее всякого примера! …

Like this post? Please share to your friends:
  • Как прописать формулу в excel время
  • Как пронумеровать строчку в excel по порядку
  • Как прописать значения ячеек в excel
  • Как прописать условие в ячейке excel
  • Как пронумеровать строчки в таблице в word