В Excel 2016 у меня есть столбец с ячейками, которые содержат строки, разделенные запятыми. Я пытаюсь подсчитать количество уникальных строк во всем столбце.
Я знаю, как подсчитать количество уникальных строк, разделенных запятыми, в одной ячейке, и я знаю, что могу свернуть данные в моем столбце в одну ячейку и сделать это таким образом. Проблема в том, что это превысит ограничение на число символов в одной ячейке, так как у меня слишком много данных
Вот пример изображения, которое показывает, что я пытаюсь сделать:
Число 8 в B3 - это конечный результат, который я хочу получить.
Я не знаю, возможно ли это сделать с помощью формулы массива, но я попытался записать логику функции vba, чтобы выполнить это. То, что я пока имею, это псевдокод:
Function UniqueK (cells As Range) As Integer
Dim count As Integer
Dim temp_array() As String
Dim final_array() As String
Dim cell As Variant
For cell In cells
temp_array = split(cell,",")
append temp_array to final_array
Next cell
remove duplicates in final_array
count = number of entries in final_array
UniqueK = count
End function
Это, вероятно, очень медленный способ сделать это, и мне было интересно, есть ли более простой способ выполнить эту задачу или существует какой-то существующий способ сделать это, которого я не смог найти. Если нет, есть ли способы удаления дубликатов в массиве строк и способы добавления массива строк в конец другого массива строк, чтобы я мог заставить эту функцию работать?