Добрый день. Поиск использовал. Google тоже. Ткнете носом где пропустил (так еще с примером запроса - буду только благодарен). Собственно задача - которые в стандартном варианте решается =СЧЁТЕСЛИ($F:$F;2). Но это работает если мы имеем ряд ячеек в которых по одному значению. Ежели в ячейке перечисляются более 1го значения (например 2;3;2;44) - данная функция уже не работает. Господа,выручайте!
Для универсальности я бы ещё добавил критерий для разделителя. А для крутости - словарь
Код
Function Count_If(Diapazon As Range, Kriteriy As String, sep As String) As Long
Dim rCell As Range, el
With CreateObject("Scripting.Dictionary")
For Each rCell In Diapazon
For Each el In Split(rCell, sep)
.Item(el) = .Item(el) + 1
Next
Next
Count_If = .Item(Kriteriy)
End With
End Function
The_Prist, извините, что вклиниваюсь в тему, но у меня вопрос по примеру из вашей ссылки Прочитала, попробовала, все понятно, за исключением того, как вывести в отдельную таблицу все уникальные значения с подсчетом количества для каждого (как у вас в примере во второй табличке!). Я всегда так достаю через сводную, но может есть какой то способ через формулы! заранее спасибо!
я достаточно внимательно читала и ссылку видела и переходила даже , там 1 способ это понятно, про 2-й способ (я так поняла что в нем именно тот пример что мне нужен) там написано что он для более продвинутых... может поэтому я не могу его воспроизвести, у меня ошибка выскакивает, и по Вашим данным пробовала и по своим. У меня вообще такое впечатление что там формула обрезана - второй скобки нет в конце если там нет ошибки, подтвердите плиз, сама дальше поразбираюсь
По файлу Карта заказов.xlsx, формула массива: =СУММ(ДЛСТР(";"&ПОДСТАВИТЬ(E6:E8;";";";;")&";")-ДЛСТР(ПОДСТАВИТЬ(";"&ПОДСТАВИТЬ(E6:E8;";";";;")&";";";4;";"")))/3