Краткость явно не сестра Ваших талантов Различаются относительно чего? Других символов в этой же ячейке? Или в другой? Или в эталонном списке? Или нужно просто кол-во уникальных символов? Это все разные задачи, которые по сути подходят под описанную Вами. Поэтому нужна конкретика и желательно с примером в файле Excel.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Ну и опять же: уникальные, это те, которые НЕ ПОВТОРЯЮТСЯ. Т.е. Вам надо из всех символов в ячейке убрать все повторяющиеся и оставить так, чтобы каждый символ был записан по одному разу? Или именно те символы, которые не повторяются? Например, в слове "шалаш" два символа повторяются. Если выбирать только НЕ ПОВТОРЯЮЩИЕСЯ, то это будет одна буква - "л". Т.к. только она не повторяется. Если же надо отсечь все повторы и оставить только по одному уникальному символу - это будет "шал". Вам как надо?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Скажем так, есть ключ (пароль) необходимо понять количество уникальных символов в этом ключе. Файла не прилагаю потому как пока такового нет. Например, ячейка содержит: dfkljwepowj230-@#F#$GJHSD$@346998642?><WE@#FWDFTahwmmqBG!@;;dcdne097%4rimsneuFT$@
Заметил, что строчные и заглавные считать разными ! (пароль все же )
Следующий шаг это подсчет не по одной ячейке, а по совокупности ячеек в колонке (хотя это можно свести к первому случаю объединив все ячейки с данными в одну)
Function ЯЧЕЙКАСЧЕТУНИК(iTxt)
Dim I&
Dim iTmp
With CreateObject("Scripting.Dictionary")
For I = 1 To Len(iTxt)
iTmp = .Item(Mid(iTxt, I, 1))
Next
ЯЧЕЙКАСЧЕТУНИК = .Count
End With
End Function
Для Вашего примера - 47 уникальных
Согласие есть продукт при полном непротивлении сторон
Без кода не выйдет ? Фантазируя: транспанировать, каждый символ в отдельной ячейке, сводная таблица и количество символов по ней это количество строк в сводной таблице.
let f=each List.Count(List.Distinct(Text.ToList([pass]))), from = Excel.CurrentWorkbook(){[Name="rez"]}[Content], to = Table.AddColumn(from[[pass]],"sym",f) in to
ALARMus написал: Фантазируя: транспанировать, каждый символ в отдельной ячейке, сводная таблица и количество символов по ней это количество строк в сводной таблице.
ALARMus написал: может тогда разобрав каждый символ по строкам, найти в следующей колонке ASCII кодировку символа и уже можно применять сводную.
Можно так или PQ, примерно так (кнопочный вариант)
Код
let
Источник = Excel.CurrentWorkbook(){[Name="Таблица5"]}[Content],
#"Разделить столбец по положению" = Table.ExpandListColumn(Table.TransformColumns(Источник, {{"Столбец1", Splitter.SplitTextByRepeatedLengths(1), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Столбец1"),
#"Сгруппированные строки" = Table.Group(#"Разделить столбец по положению", {"Столбец1"}, {{"Количество", each Table.RowCount(_), Int64.Type}})
in
#"Сгруппированные строки"