Sub test()
Dim lrow As Long, dictemp As Object, vartemp, List
Set dictemp = CreateObject("Scripting.Dictionary")
lrow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lrow
List = Split(Cells(i, 1), ",")
For j = 0 To UBound(List)
If Not dictemp.exists(Trim(List(j))) Then vartemp = dictemp.Item(Trim(List(j)))
Next j
Next i
Cells(2, "E").Resize(dictemp.Count, 1) = Application.Transpose(dictemp.keys())
End Sub
alsecr, Скопируйте формулу из моего сообщения, вставьте в свою таблицу, выделите ячейку с формулой, нажмите ctrl + H, В поле найти пишите A1 в поле Заменить на Введите нужный вам адрес ячейки, нажмите на кнопку Заменить
Rutven, Добавить в ДВССЫЛ имя книги перед именем листа, в чем проблема то?
Код
=СУММЕСЛИ(ДВССЫЛ("'[Отчеты с 16.11.2023 по 31.12.2023.xlsx]"&ТЕКСТ(M1;"ДД.ММ.ГГГ")&"'!"&"$G:$G");$A2;ДВССЫЛ("'[Отчеты с 16.11.2023 по 31.12.2023.xlsx]"&ТЕКСТ(M1;"ДД.ММ.ГГГ")&"'!"&"$M:$M"))
Лев Погудин, Поменять местами правила УФ в том порядке, в котором вам нужен приоритет, если я правильно понял вопрос. Правило расположенное выше - имеет приоритет перед тем, что ниже.
Mick_20, Здравствуйте, по картинкам тут не лечат, особенно по таким, которые даже не отображаются P.S. Картинка не отображалась из за настройки сети работы
Tosyan12, Читаем тут Приемы, делаем выпадающий список как описано по ссылке
В F1:F3 находится смарт таблица с названием Таблица1, с заголовком - Список и тогда формула приобретет примерно такой вид =ПОИСКПОЗ(D2;Таблица1[Список];0)
Arinka2024, Формула считает по той логике, которую вы в неё вложили, считает абсолютно правильно. А вот что и как нужно вам, нам неизвестно. P.S. модераторы за название темы помощь заблокируют в любом случае, подумайте и предложите название темы в соответствии со своей задачей, а так же опишите что вам нужно считать и как
Sub test()
Dim lrow As Long, arrMail, key, strMail As String, dicTemp As Object
Application.ScreenUpdating = False
lrow = Cells(2, "E").End(xlDown).Row
Set dicTemp = CreateObject("Scripting.Dictionary")
For i = 2 To lrow
arrMail = Split(Trim(Replace(Cells(i, "E"), ", ", " ")), " ")
For j = 0 To UBound(arrMail)
If Not dicTemp.Exists(arrMail(j)) Then
key = dicTemp.Item(arrMail(j))
strMail = strMail & arrMail(j) & ", "
End If
Next j
If Len(strMail) > 0 Then Cells(i, "E") = Left(strMail, Len(strMail) - 2) Else Cells(i, "E") = ""
strMail = ""
Next i
arrMail = Split(Trim(Replace(Cells(2, "E"), ", ", " ")), " ")
Application.ScreenUpdating = True
End Sub