В 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

Это, вероятно, очень медленный способ сделать это, и мне было интересно, есть ли более простой способ выполнить эту задачу или существует какой-то существующий способ сделать это, которого я не смог найти. Если нет, есть ли способы удаления дубликатов в массиве строк и способы добавления массива строк в конец другого массива строк, чтобы я мог заставить эту функцию работать?

0