Идентификатор ячейки excel это

Уникальный идентификатор ячейки

Gamma754

Дата: Пятница, 11.04.2014, 23:16 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

2

±

Замечаний:
0% ±


Excel 2007

Всем привет!

Есть задача — программно присваивать ячейке какой-нибудь уникальный идентификатор, чтобы потом его использовать в различных операциях. Идентификатор должен свободно «висеть» в течение всего времени работы, сохраняться вместе с книгой и не зависеть от изменений значений value ячейки. Это что-то типа атрибута «tag», куда можно писать любой текст, только это для ячейки excel.

Пробовал использовать range.id, но он удаляется, если нажать del.
Есть еще вариант range.name, но там любые значения не запишешь.
Примечания используются для других целей.
Есть всякие варианты сделать номерную серию, присваивать name ячейки номер, по номеру хранить текст где-то в другом месте, но это не вариант, это грустно и громоздко.

Конкретно в моем случае, динамически создается временная
таблица, в которой я пишу значения, которые потом сохраняю
в другой таблице по параметрам, которые и хотелось бы прописать
в идентификаторе ячейки, т.е. там будет некий paramstring или куски SQL-запросов.

В общем, что-то типа cell custom properties.

Если у кого-то есть мысли, было бы здорово.
))

Сообщение отредактировал Gamma754Пятница, 11.04.2014, 23:47

 

Ответить

Hugo

Дата: Суббота, 12.04.2014, 00:37 |
Сообщение № 2

Группа: Друзья

Ранг: Участник клуба

Сообщений: 3140


Репутация:

670

±

Замечаний:
0% ±


2010, теперь уже с PQ

Словарь адресов ячеек (можно с книгой/листом), адресу в item пишем что угодно, хоть другой словарь.
Правда вот «сохраняться вместе с книгой» словарь словарей будет затруднительно сделать, да и вообще придётся его на скрытый лист перед сохранением выгружать, а при открытии оттуда считывать.


excel@nxt.ru
webmoney: R418926282008 Z422237915069

 

Ответить

Gustav

Дата: Суббота, 12.04.2014, 08:04 |
Сообщение № 3

Группа: Друзья

Ранг: Старожил

Сообщений: 2398


Репутация:

986

±

Замечаний:
0% ±


начинал с Excel 4.0, видел 2.1

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

Почему грустно? Почему громоздко? Я как раз за подобный алгоритм:
1. На основном листе генерируем для ячейки имя — Range.Name.
2. Это Name прописываем на другой лист (можно скрытый) в ячейку колонки A.
3. Начиная с колонки B можем писать на этом другом листе хоть по 32767 символов в каждую ячейку. Всё это будут комментарии, теги, кастом пропертис к нашему священному Name.
Т.е. фактически это означает создание справочника именованных ячеек на отдельном листе.

По поводу «грусти и громоздкости». Строка для определенного Name на другом листе легко находится при помощи функции ПОИСКПОЗ или программно при помощи ее аналога WorksheetFunction.Match. Не громоздче, чем доставать инфу из примечания к ячейке.

По поводу скорости обработки. Известно, что диапазон ячеек листа считывается в массив одной операци присваивания: array = Range(«A1…»). А дальше в массиве, как я недавно и не без удовольствия обнаружил, работают все полезные функции поиска из семейства WorksheetFunction: Match, Index, Lookup и др. Т.е. программирование всего этого хозяйства обещает быть вполне комфортным.


МОИ: Ник, Tip box: 41001663842605

 

Ответить

Gamma754

Дата: Суббота, 12.04.2014, 13:02 |
Сообщение № 4

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

2

±

Замечаний:
0% ±


Excel 2007

Решение нашлось.
Оказывается, range.name — это объект (к моему большом удивлению), и там есть свойство comment, куда можно писать все. Это string, 255 симв., но мне хватит.

Почему грустно? Почему громоздко?

Т.к. мне для каждой ячейки, к которой надо хранить properties, нужно «содержать» 1 строку на скрытом листе. Т.е. надо создавать механизм ее создания, редактирования, удаления. К тому же, каждый раз при создании рабочего листа придется заботится о том, чтобы генерить те же самые имена, что и в прошлый раз (или читать их с листа).

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


(лирическая приписка)
А так вообще я за то, чтобы хранить только исходные табличные данные (в виде plain tables), а все «Простыни» для работы генерить динамически, вместе с формулами и всем прочим. Это удобно — представьте, что мне надо вести учет по 30 товарным позициям в течение 6 мес. по 4м поставщикам. Отслеживать, там, общий процент поставки, делать заказы и т.п. Если я буду руками рисовать эту простыню — ошибки неизбежны. Т.е. все рабочие простыни генерятся автоматически,а введенные в них значения — сохраняются.

К сообщению приложен файл:

9779989.png
(57.3 Kb)

Сообщение отредактировал Gamma754Суббота, 12.04.2014, 13:04

 

Ответить

Serge_007

Дата: Суббота, 12.04.2014, 14:52 |
Сообщение № 5

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

вести учет по 30 товарным позициям в течение 6 мес. по 4м поставщикам. Отслеживать, там, общий процент поставки, делать заказы и т.п.

Это легко делается вообще без программирования, сводными таблицами…


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Gamma754

Дата: Понедельник, 21.04.2014, 22:40 |
Сообщение № 6

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

2

±

Замечаний:
0% ±


Excel 2007

(Продолжая лирику последнего сообщения).
Вообще, чем дальше я пишу, тем больше хочется изобрести для экселя что-то типа jquery. Вообще, странно, что этого еще не изобрели. Такие массивы данных — и нет языка развитого языка запросов. Кгм, действительно странно.

легко делается вообще без программирования, сводными таблицами

. Ну, не знаю.

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

Сообщение отредактировал Gamma754Понедельник, 21.04.2014, 23:25

 

Ответить

 

excel_pl

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

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

Как сделать, чтобы в ячейке формировался уникальный идентификатор для каждой строки (записи)?
Состав id не принципиален: цифры или текст, или случайный набор символов…

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

 

Андрей VG

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

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

Excel 2016, 365

#2

09.03.2017 20:59:50

Доброе время суток
На событие Worksheet.Change в пределах таблицы добавляете проверку на пустое значение по столбцу id. Если пустое, то получаете guid для ввода в эту ячейку

Код
Replace(Mid$(CreateObject("Scriptlet.TypeLib").GUID, 2, 36),"-",vbNullString)

Взято

здесь и есть варианты.

.
Ну, или на скрытом листе ячейка-счётчик для пустой ячейки id, увеличиваете на 1, сохраняете новое значение.
Успехов.

 

Nik021

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

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

Здравствуйте.

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

 

AAF

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

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

#4

09.03.2017 21:19:28

Иногда так удобно…  :D

Код
Function IDNum()
Static idn As Double
IDNum = Fix(Now * 10000000000#)
If idn < IDNum Then
  idn = IDNum
Else
  idn = idn + 1
  IDNum = idn
End If
End Function

Sub Пример()
Cells(1, 1) = IDNum

'Можно потом использовать так
Cells(1, 2) = CDate(Cells(1, 1) / 10000000000#)
End Sub
 

БМВ

Модератор

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

Excel 2013, 2016

AAF, тут есть подвох получить не уникальные значения если обработку делать пакетом. При разовом или с таймаутом применении — ОК.
Однако, подобное я использовал в сочетании с данным одного из полей. Хотя вариант c GUID , раз уж лезем в VBA мне более нравится.  

По вопросам из тем форума, личку не читаю.

 

AAF

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

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

БМВ, Нет, там подкидывается по единице, если не сменилось…  :)

 

БМВ

Модератор

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

Excel 2013, 2016

AAF,  старосnь+ 14″+HD = не посмотрел внимательно :-). Sorry

По вопросам из тем форума, личку не читаю.

 

pharmaprofi

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

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

pharmaprofi

А я  такие люблю:

GUID

Гарантируется уникальность Id. Правда в excel такой Id не в один клик генерируется…

p/s увидел, что Андрей VG про него и пишет

Изменено: pharmaprofi09.03.2017 22:20:33

 

excel_pl

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

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

#9

09.03.2017 22:29:15

Цитата
AAF написал:
Иногда так удобно…  

Использовал ваш вариант…
При удалении строк (записей) происходит обновление всех ID, т.е. все id перегенерируются на новые…

Так и должно быть или можно, что-то сделать?

 

AAF

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

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

Если Вы используете как функцию на листе, будет обновляться, а если прописывать .Value в ячейку, то все уже, это навечно.
Какой у Вас код?

Изменено: AAF09.03.2017 22:34:38

 

excel_pl

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

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

#11

09.03.2017 22:39:34

Цитата
AAF написал:
Какой у Вас код?

Я слабо разбираюсь в VBA.
То, что вы написали в сообщении #4, воткнул в модуль… и всё..
Буду признателен, если скорректируете мой файл согласно предложенного вами решения..

 

AAF

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

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

#12

09.03.2017 22:57:18

excel_pl, вот это вставить в модуль листа:

Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell
Dim ShNm As String 'имя листа
Dim Rng As Range 'та ячейка, где написано "ID"
ShNm = Me.Name
Set Rng = Sheets(ShNm).Cells(1, 1)
Set Rng = Rng.CurrentRegion.Resize(Rng.CurrentRegion.Rows.Count, 1)
For Each cell In Rng
  If cell = "" Then cell.Value = IDNum
Next
End Sub

А функцию в простой модуль:

Код
Function IDNum()
Static idn As Double
IDNum = Fix(Now * 10000000000#)
If idn < IDNum Then
  idn = IDNum
Else
  idn = idn + 1
  IDNum = idn
End If
End Function

Прикрепленные файлы

  • уник идент id_00 (1).xlsm (16.52 КБ)

Изменено: AAF09.03.2017 23:04:27

 

excel_pl

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

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

#13

09.03.2017 23:01:48

Цитата
AAF написал:
вот это вставить в модуль листа:

не пашет..  

 

AAF

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

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

excel_pl, Я файлик добавил в сообщение и исправил его, а то не тот сначала кинул… :(

 

excel_pl

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

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

#15

09.03.2017 23:09:29

[URL=AAF написал:Я файлик добавил в сообщение и исправил его, а то не тот сначала кинул…Что-то не работает… или я не туда жмусм. скрин

http://prntscr.com/ehzw6o

]

Цитата
AAF написал:
Я файлик добавил в сообщение и исправил его, а то не тот сначала кинул…

Что-то не работает… или я не туда жму
см. скрин

Изменено: excel_pl14.03.2017 02:49:36

 

AAF

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

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

файлик называется так: уник идент id_00 (1).XLSM
Да?
Заполнение происходит, когда производяться изменения на листе
Может Вы забыли нажать кнопку «ВЛЮЧИТЬ СОДЕРЖИМОЕ»?

 

excel_pl

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

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

Кажись заработал…
Спасибо.
А как сделать чтобы не в первом столбце формировалось «id», а в любом другом?
Как изменить код для этого?

 

AAF

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

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

#18

10.03.2017 08:57:56

В коде есть такие строчки:

Код
ShNm = Me.Name
Set Rng = Sheets(ShNm).Cells(1, 1)

иначе говоря:

Код
ShNm = "Здесь пишите имя листа"
Set Rng = Sheets(ShNm).Cells(НомерСтроки, НомерСтолбца)'той ячейки, в которой заголовок - "ID"
 

erlankoke

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

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

Можно генерировать с помощью genpas.narod.ru и удалить дубликаты.

или попробовать формулой с привязкой к строек в связке с генерированным числом и числом из ячейки  ƒ=GetNumbers([@zp])+СТРОКА()*СЛУЧМЕЖДУ(5000;9000)

 

excel_pl

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

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

Не могли бы вы проверить правильно ли я делаю?
см. скрин.

http://prntscr.com/ei50a9  

 

excel_pl

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

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

#21

10.03.2017 09:22:07

Цитата
erlankoke написал:
Можно генерировать с помощью genpas.narod.ru и удалить дубликаты.

Не могли бы вы показать на примере моего файла?

 

Андрей VG

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

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

Excel 2016, 365

#22

10.03.2017 10:38:34

Доброе время суток.

Цитата
erlankoke написал:
или попробовать формулой с привязкой к строек

И что случиться при сортировке или удалении?

 

AAF

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

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

#23

10.03.2017 15:06:21

excel_pl, да, имелось ввиду, что id предполагает первый столбец региона (таблицы)
Теперь будет именно тот столбец «C», в котором находится cells(r,C)

Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell, col
Dim ShNm As String 'имя листа
Dim Rng As Range 'ячейка, где написано "ID"
ShNm = Me.Name
Set Rng = Sheets(ShNm).Cells(1, 1)
col = Rng.Column 'запоминаем столбец
Set Rng = Rng.CurrentRegion 'определяем регион непрерывной таблицы
If Rng.Rows.Count = 1 Then Exit Sub 'если в регионе одна строка, а это заголовок, то данных нет, все бросаем и уходим
Set Rng = Rng.Resize(Rng.Rows.Count - 1, 1).Offset(1, col - Rng.CurrentRegion.Column) 'подгоняем размер под столбец обработки ID
Application.EnableEvents = False 'отключаем события, особенно Worksheet_Change, на время вставки нового ID
For Each cell In Rng 'перечисляем все ячейки входящие в Rng
  If cell = "" Then cell.Value = IDNum 'если пустая, то втыкаем туда ID
Next
Application.EnableEvents = True 'не забываем включить события Worksheet_Change
End Sub

Замените предыдущий код на этот…

Изменено: AAF10.03.2017 15:23:54

 

Jack Famous

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

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

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#24

03.10.2018 10:27:26

Дополню немного изменённым вариантом из комментариев по ссылке Андрея из #2:

Код
Function ГенерацияКлюча(Optional full As Boolean) As String
    Do While Len(ГенерацияКлюча) < 32
        If Len(ГенерацияКлюча) = 16 Then ГенерацияКлюча = ГенерацияКлюча & Hex$(8 + CInt(Rnd * 3))
        ГенерацияКлюча = ГенерацияКлюча & Hex$(CInt(Rnd * 15))
    Loop
If full Then ГенерацияКлюча = "{" & Mid$(ГенерацияКлюча, 1, 8) & "-" & Mid$(ГенерацияКлюча, 9, 4) & "-" & Mid$(ГенерацияКлюча, 13, 4) & "-" & Mid$(ГенерацияКлюча, 17, 4) & "-" & Mid$(ГенерацияКлюча, 21, 12) & "}": Exit Function
ГенерацияКлюча = Mid$(ГенерацияКлюча, 1, 8) & Mid$(ГенерацияКлюча, 9, 4) & Mid$(ГенерацияКлюча, 13, 4) & Mid$(ГенерацияКлюча, 17, 4) & Mid$(ГенерацияКлюча, 21, 12)
End Function

дело в том, что, после одного из обновлений, на строке CreateObject(«Scriptlet.TypeLib») возникает ошибка (подробности

тут

).

Чтобы не писать функцию с декларированием библиотек (типа Declare Function CoCreateGuid Lib «ole32» (ByRef GUID As Byte) As Long) и был выбран код выше, как полноценная замена.
Вариант от AAF очень хорош, но это не GUID и полезен в других областях (возникают проблемы с длинными числами и их отображением — не хотелось возится)

Знаю, что тема старая, но мне была полезна, да и нечастый вопрос, собственно  :D

Изменено: Jack Famous03.10.2018 10:44:00

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

Jack Famous

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

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

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#25

05.10.2018 12:25:06

Снова вернулся к теме, т.к. вариант из предыдущего поста, как оказывается, генерит большое количество дублей уже на тысячах ключей, если диапазон заполняется не одновременно, а в разное время. Вариант от AAF такое исключает (если не править настройки даты/времени на ПК), т.к. привязан к постоянному счётчику. К тому же, возможность узнать дату и время получения ключа также может пригодиться  :)

Добавил префикс для избавления от «длинных» чисел…

Код
Function ГенерацияКлюча() As String
Static idn#, temp#
temp = Fix(Now * 10000000000#)
    If idn < temp Then
      idn = temp: ГенерацияКлюча = "PRDX" & temp
    Else
      idn = idn + 1: ГенерацияКлюча = "PRDX" & idn
    End If
End Function

Изменено: Jack Famous05.10.2018 12:27:02

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

Приветствую

Надо как-то в Excel или в LibreOffice настроить автоматическую генерацию уникального числа у каждой строки с заполненными данными.

Есть два столбца — ID (столбец №1) и имя человека (столбец №2). Если добавляю новое имя в столбец №2, то в этой строке в столбце №1 должен появиться уникальный идентификатор, к примеру, цифровой код (цифра). Но есть одна особенность. Допустим, что есть пять записей в файле с айдишниками с 1 по 5. Я удаляю пятую запись, строку целиком или очищаю ее, а затем добавляю новую запись. А вот у же у новой записи по факту шестой, но с учетом ранее удаленной записи, новая запись будет пятой, но ее ID уже не должен быть пятым, но должен быть шестым.

На картинке пояснил тремя блоками:
dc505601869f433e82f708d0404992e0.png

  1. добавил записи, добавились автоматом ID
  2. удалил пятую запись
  3. добавил новую запись; по факту ее ID должен быть новым, ранее не использовавшимся.

Подскажите пожалуйста реализацию.


  • Вопрос задан

    более трёх лет назад

  • 5452 просмотра

Пригласить эксперта

Используйте ms access или любую БД. Они для этого и предназначены.
в Excel можно реализовать через макросы, но это такой костыль, что всем костылям костыль:
Добавьте код макроса в код страницы (редактор кода vba->двойной щелчок по нужному листу в менеджере проекта), диапазон ваших значений B1:B1000

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range

    ' The variable KeyCells contains the cells that will
    ' cause an alert when they are changed.
    Set KeyCells = Range("B1:B1000")
    
    If Not Application.Intersect(KeyCells, Range(Target.Address)) _
           Is Nothing Then

        ' Display a message when one of the designated cells has been
        ' changed.
        ' Place your code here.
        X = 5
        Y = 1
        If Cells(Y, X).Value = "" Then Cells(Y, X).Value = 0
        On Error GoTo here
        
        If Target.Value <> "" Then
            answer = MsgBox("Increment?", vbYesNo + vbQuestion, "Empty Sheet")
            If answer = vbYes Then Target.Offset(0, -1).Value = Cells(Y, X).Value + 1
            If answer = vbYes Then Cells(Y, X).Value = Cells(Y, X).Value + 1
        Else
            Target.Offset(0, -1).Value = ""
        End If
here:
        Debug.Print Err
    End If
End Sub

Можно использовать ID на основе текущего времени, например 170911181042, 170911181057 и т.п. Со вставкой такого числа справится простенький макрос типа:

Sub typeID()
mydate = Date
mytime = Time
mydateF = Format(mydate, "yymmdd")
mytimeF = Format(mytime, "HhMmSs")
ID = mydateF & mytimeF
ActiveCell.Value = ID
End Sub

Варианты с GUID:
1. Макрос:

Public Function GetGUID() As String 
    GetGUID = Mid$(CreateObject("Scriptlet.TypeLib").GUID, 2, 36) 
End Function

2. Формула:

=CONCATENATE(DEC2HEX(RANDBETWEEN(0;4294967295);8);"-";DEC2HEX(RANDBETWEEN(0;42949);4);"-";DEC2HEX(RANDBETWEEN(0;42949);4);"-";DEC2HEX(RANDBETWEEN(0;42949);4);"-";DEC2HEX(RANDBETWEEN(0;4294967295);8);DEC2HEX(RANDBETWEEN(0;42949);4))


  • Показать ещё
    Загружается…

15 апр. 2023, в 13:55

55000 руб./за проект

15 апр. 2023, в 13:45

1000 руб./за проект

15 апр. 2023, в 13:28

500 руб./за проект

Минуточку внимания

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

Добавление столбца уникального идентификатора для повторяющихся строк с помощью формулы

Добавление отсутствующего идентификационного номера с помощью Kutools for Excelхорошая идея3


Добавление столбца уникального идентификатора для повторяющихся строк с помощью формулы

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

1. введите 1 в ячейку рядом с первыми данными, в которые вы хотите добавить идентификационный номер.
doc уникальный идентификационный номер для дублирования строк 2

2. Затем в ячейке под ним введите эту формулу =IF(B1=B2,A1,A1+1), нажмите Enter Чтобы получить первый результат, перетащите дескриптор заполнения вниз, пока не появятся последние данные.

В формуле B1, B2 — первые две ячейки в столбце повторяющихся данных, A1 — первая ячейка идентификатора.
doc уникальный идентификационный номер для дублирования строк 3


Добавление отсутствующего идентификационного номера с помощью Kutools for Excel

Если у вас есть список идентификационных номеров, который включает некоторые недостающие номера, как показано на скриншоте ниже, вы можете подать заявку. Kutools for ExcelАвтора Find Missing Sequence Number утилита для быстрого поиска и добавления недостающего числа.
doc уникальный идентификационный номер для дублирования строк 4

После установки Kutools for Excel, пожалуйста, сделайте следующее:(Бесплатная загрузка Kutools for Excel Сейчас!)

1. Выберите идентификационные номера, в которые вы хотите вставить отсутствующие номера, нажмите Кутулс > Insert > Find Missing Sequence Number.
doc уникальный идентификационный номер для дублирования строк 5

2. Во всплывающем диалоговом окне вы можете выбрать один вариант, чтобы добавить или выделить отсутствующие числа по мере необходимости.
doc уникальный идентификационный номер для дублирования строк 6

3. Нажмите Ok. Появится диалоговое окно с напоминанием о количестве недостающих данных, закройте его. Затем все отсутствующие числа были добавлены или выделены в столбце или рядом с ним.


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

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: строка имен
    • Способ 2: контекстное меню
    • Способ 3: присвоение названия с помощью кнопки на ленте
    • Способ 4: Диспетчер имен
  • Вопросы и ответы

Наименование ячейки в Microsoft Excel

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

Присвоение наименования

Присвоить наименование массиву или отдельной ячейке можно несколькими способами, как с помощью инструментов на ленте, так и используя контекстное меню. Оно должно соответствовать целому ряду требований:

  • начинаться с буквы, с подчеркивания или со слеша, а не с цифры или другого символа;
  • не содержать пробелов (вместо них можно использовать нижнее подчеркивание);
  • не являться одновременно адресом ячейки или диапазона (то есть, названия типа «A1:B2» исключаются);
  • иметь длину до 255 символов включительно;
  • являться уникальным в данном документе (одни и те же буквы, написанные в верхнем и нижнем регистре, считаются идентичными).

Способ 1: строка имен

Проще и быстрее всего дать наименование ячейке или области, введя его в строку имен. Это поле расположено слева от строки формул.

  1. Выделяем ячейку или диапазон, над которым следует провести процедуру.
  2. Выделение диапазона в Microsoft Excel

  3. В строку имен вписываем желаемое наименование области, учитывая правила написания названий. Жмем на кнопку Enter.

Строка имени в Microsoft Excel

После этого название диапазону или ячейке будет присвоено. При их выделении оно отобразится в строке имен. Нужно отметить, что и при присвоении названий любым другим из тех способов, которые будут описаны ниже, наименование выделенного диапазона также будет отображаться в этой строке.

Способ 2: контекстное меню

Довольно распространенным способом присвоить наименование ячейкам является использование контекстного меню.

  1. Выделяем область, над которой желаем произвести операцию. Кликаем по ней правой кнопкой мыши. В появившемся контекстном меню выбираем пункт «Присвоить имя…».
  2. Переход к присвоению имени в Microsoft Excel

  3. Открывается небольшое окошко. В поле «Имя» нужно вбить с клавиатуры желаемое наименование.

    В поле «Область» указывается та область, в которой при ссылке на присвоенное название будет идентифицироваться именно выделенный диапазон ячеек. В её качестве может выступать, как книга в целом, так и её отдельные листы. В большинстве случаев рекомендуется оставить эту настройку по умолчанию. Таким образом, в качестве области ссылок будет выступать вся книга.

    В поле «Примечание» можно указать любую заметку, характеризующую выделенный диапазон, но это не обязательный параметр.

    В поле «Диапазон» указываются координаты области, которой мы даем имя. Автоматически сюда заносится адрес того диапазона, который был первоначально выделен.

    После того, как все настройки указаны, жмем на кнопку «OK».

Присвоение имени имени в Microsoft Excel

Название выбранному массиву присвоено.

Способ 3: присвоение названия с помощью кнопки на ленте

Также название диапазону можно присвоить с помощью специальной кнопки на ленте.

Lumpics.ru

  1. Выделяем ячейку или диапазон, которым нужно дать наименование. Переходим во вкладку «Формулы». Кликаем по кнопке «Присвоить имя». Она расположена на ленте в блоке инструментов «Определенные имена».
  2. Присвоение имени через ленту в Microsoft Excel

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

Способ 4: Диспетчер имен

Название для ячейки можно создать и через Диспетчер имен.

  1. Находясь во вкладке «Формулы», кликаем по кнопке «Диспетчер имен», которая расположена на ленте в группе инструментов «Определенные имена».
  2. Переход в Диспетчер имен в Microsoft Excel

  3. Открывается окно «Диспетчера имен…». Для добавления нового наименования области жмем на кнопку «Создать…».
  4. Переход к созданию имени из диспетчера имен в Microsoft Excel

  5. Открывается уже хорошо нам знакомое окно добавления имени. Наименование добавляем так же, как и в ранее описанных вариантах. Чтобы указать координаты объекта, ставим курсор в поле «Диапазон», а затем прямо на листе выделяем область, которую нужно назвать. После этого жмем на кнопку «OK».

Создание имени через Диспетчер имен в Microsoft Excel

На этом процедура закончена.

Но это не единственная возможность Диспетчера имен. Этот инструмент может не только создавать наименования, но и управлять или удалять их.

Для редактирования после открытия окна Диспетчера имен, выделяем нужную запись (если именованных областей в документе несколько) и жмем на кнопку «Изменить…».

Редактирование записи в Диспетчере имен в Microsoft Excel

После этого открывается все то же окно добавления названия, в котором можно изменить наименование области или адрес диапазона.

Для удаления записи выделяем элемент и жмем на кнопку «Удалить».

Удаление записи в Диспетчере имен в программе Microsoft Excel

После этого открывается небольшое окошко, которое просит подтвердить удаление. Жмем на кнопку «OK».

Подтверждение удаления в Microsoft Excel

Кроме того, в Диспетчере имен есть фильтр. Он предназначен для отбора записей и сортировки. Особенно этого удобно, когда именованных областей очень много.

Фильтр в Диспетчере имен в Microsoft Excel

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

Еще статьи по данной теме:

Помогла ли Вам статья?

Понравилась статья? Поделить с друзьями:
  • Идентификатор excel что это
  • Зудилова работа пользователя в microsoft word 2010
  • Идеи для таблицы excel
  • Зп культура скачать в excel
  • Идеи для таблиц excel