Генерация идентификатора на основе строки в Excel

HTML5:

избавляется от дополнительных ограничений атрибута id , см. здесь . Единственные требования, оставленные (кроме единственного в документе):

  1. значение должно содержать хотя бы один символ (не может быть пустым)
  2. t содержит любые пробельные символы.

PRE-HTML5:

Идентификатор должен соответствовать:

[A-Za-z][-A-Za-z0-9_:.]*
  1. Необходимо начать с символами AZ или az
  2. Может содержать - (дефис), _ (подчеркивание), : (двоеточие) и . (период)

, но следует избегать : и . beacause:

Например, идентификатор может быть помечен как «ab: c» и указан в таблице стилей как #ab: c, но также как и это id для элемента, это может означать id «a», класс «b», псевдоселектор «c». Лучше избегать путаницы и избегать использования. и: вообще.

0
задан Tim Williams 24 March 2019 в 06:57
поделиться

2 ответа

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

enter image description here

Формула, которую я использовал в [ 111] переводится как:

=IF(COUNTIF($B$2:B2,B2)>1,INDEX($A$2:A2,MATCH(B2,$B$2:B2,0)),MAX($A$1:A1)+1)  
0
ответ дан JvdV 24 March 2019 в 06:57
поделиться

Этот UDF немного шаткий, но будет работать в зависимости от того, сколько у вас имен и разброс имен ...

Public Function GenerateId(ByVal strText As String) As Long
    Dim i As Long

    For i = 1 To Len(strText)
        strChar = UCase(Mid(strText, i, 1))
        GenerateId = GenerateId + Asc(strChar)
    Next
End Function

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

Кроме того, я знаю, что это не подход с последовательным идентификатором, начиная с 1, но вы не указали это, поэтому я использовал креативную лицензию. : -)

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

Стоит потенциальный выстрел в любом случае.

0
ответ дан Skin 24 March 2019 в 06:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: