Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Visual Basic Новый топик    Ответить
 В Excel как можно текст заменить на уникальный номер или на хэш значения  [new]
Ulukmyrza
Member

Откуда:
Сообщений: 10
Доброго времени суток! В Excel как можно изменить поле Ф.И.О и ИНН на хэш - значения, либо на другие уникальные значения с помощью макроса ?
5 дек 17, 15:22    [21007700]     Ответить | Цитировать Сообщить модератору
 Re: В Excel как можно текст заменить на уникальный номер или на хэш значения  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 19121
Хэш значения не являются уникальными значениями
5 дек 17, 16:04    [21007922]     Ответить | Цитировать Сообщить модератору
 Re: В Excel как можно текст заменить на уникальный номер или на хэш значения  [new]
big-duke
Member

Откуда:
Сообщений: 6644
Ulukmyrza
Доброго времени суток! В Excel как можно изменить поле Ф.И.О и ИНН на хэш - значения, либо на другие уникальные значения с помощью макроса ?


Зачем ?

CoCreateGuid вам в помощь.
5 дек 17, 16:18    [21007989]     Ответить | Цитировать Сообщить модератору
 Re: В Excel как можно текст заменить на уникальный номер или на хэш значения  [new]
Ulukmyrza
Member

Откуда:
Сообщений: 10
Shocker.Pro,
Заменить на Хэш - значения, либо на уникального номера.
14 дек 17, 07:11    [21032489]     Ответить | Цитировать Сообщить модератору
 Re: В Excel как можно текст заменить на уникальный номер или на хэш значения  [new]
Ulukmyrza
Member

Откуда:
Сообщений: 10
big-duke,
чтобы скрыть данные.
14 дек 17, 07:12    [21032491]     Ответить | Цитировать Сообщить модератору
 Re: В Excel как можно текст заменить на уникальный номер или на хэш значения  [new]
vborets
Member

Откуда:
Сообщений: 134
big-duke
Ulukmyrza
Доброго времени суток! В Excel как можно изменить поле Ф.И.О и ИНН на хэш - значения, либо на другие уникальные значения с помощью макроса ?


Зачем ?

CoCreateGuid вам в помощь.


а если значения повторяются и это надо отследить..?
15 дек 17, 15:48    [21037309]     Ответить | Цитировать Сообщить модератору
 Re: В Excel как можно текст заменить на уникальный номер или на хэш значения  [new]
i45
Member

Откуда:
Сообщений: 8001
Scripting.Dictionary...
15 дек 17, 22:00    [21038402]     Ответить | Цитировать Сообщить модератору
 Re: В Excel как можно текст заменить на уникальный номер или на хэш значения  [new]
Казанский
Member

Откуда:
Сообщений: 1241
i45,
и дальше что? HashVal? Значений HashVal всего-то тысяча с чем-то, так что он очень неуникальный.
Вот на скорую руку код для поиска 10 пар строк с одинаковым HashVal.
Sub Test_HashVal()
Dim s$, h$, clS As New Collection, clH As New Collection, i&, j&
Dim di As Object: Set di = CreateObject("scripting.Dictionary")
  On Error Resume Next
  Do
1   s = ""
    For i = 3 To 3 + Int(Rnd * 8)
      s = s & Chr$(65 + Int(Rnd * 26))
    Next
    clS.Add 0, s
    If Err Then Err.Clear: GoTo 1

    h = di.HashVal(s)
    clH.Add s, h
    If Err Then
      Err.Clear
      Debug.Print "Одинаковый хеш: "; h, "для строк "; s; " и "; clH(h)
      j = j + 1
    End If
  Loop Until j = 10
End Sub

Примерный результат
Одинаковый хеш: 892         для строк SMISZM и TBOLN
Одинаковый хеш: 531 для строк BJASMSL и ZKRO
Одинаковый хеш: 531 для строк BIRSVQ и ZKRO
Одинаковый хеш: 66 для строк BGAH и FM
Одинаковый хеш: 254 для строк NWXRYEH и QN
Одинаковый хеш: 139 для строк PMTCLJG и WCAMX
Одинаковый хеш: 73 для строк I и GC
Одинаковый хеш: 334 для строк UZ и MDJZQMC
Одинаковый хеш: 1091 для строк JKIYQH и FIBB
Одинаковый хеш: 262 для строк LGHOV и INIBQIA
15 дек 17, 22:42    [21038453]     Ответить | Цитировать Сообщить модератору
 Re: В Excel как можно текст заменить на уникальный номер или на хэш значения  [new]
Казанский
Member

Откуда:
Сообщений: 1241
Вот нашел
https://en.wikibooks.org/wiki/Visual_Basic_for_Applications/String_Hashing_in_VBA
The VBA code below generates the digests for the MD5, SHA1, SHA2-256, SHA2-384, and SHA2-512 hashes, for strings, in either of the hex or base-64 output formats
16 дек 17, 15:08    [21039212]     Ответить | Цитировать Сообщить модератору
 Re: В Excel как можно текст заменить на уникальный номер или на хэш значения  [new]
ATM-TURBO 2
Member

Откуда:
Сообщений: 147
https://msdn.microsoft.com/ru-ru/library/windows/desktop/bb759853(v=vs.85).aspx
16 дек 17, 20:48    [21039720]     Ответить | Цитировать Сообщить модератору
 Re: В Excel как можно текст заменить на уникальный номер или на хэш значения  [new]
Казанский
Member

Откуда:
Сообщений: 1241
Еще MD5 и CRC http://www.tek-tips.com/viewthread.cfm?qid=1686217
20 дек 17, 00:57    [21047341]     Ответить | Цитировать Сообщить модератору
 Re: В Excel как можно текст заменить на уникальный номер или на хэш значения  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 2888
Казанский,

в справочниках, хеш нужен не для нахождения пары, а для нахождения корзины, в которой хранятся пары ключ\значение. А потом уже осуществляется поиск по корзине
20 дек 17, 10:38    [21047813]     Ответить | Цитировать Сообщить модератору
Все форумы / Visual Basic Ответить