Добрый день ,помогите пожалуйста сделать формулу для выборки значений из списка по признаку похожести. Во вложении пример и ниже таблица для решения. Желтым - те ячейки которые нужно заполнить с помощью формулы. Спасибо!
Добрый день ,помогите пожалуйста сделать формулу для выборки значений из списка по признаку похожести. Во вложении пример и ниже таблица для решения. Желтым - те ячейки которые нужно заполнить с помощью формулы. Спасибо!Silver777
Function Похожие$() Dim r As Range, r1 As Range, s$ Set r = Application.Caller Select Case True Case IsEmpty(r(1, 0)) And Not IsEmpty(r(2, 0)) Set r1 = r.Parent.Range(r(1, -1), IIf(IsEmpty(r(3, 0)), r(2, 0), r(2, 0).End(xlDown)(1, 0))) Похожие = Join(Filter(Application.Transpose(r1), r(1, -1), 0), ";") Case Not IsEmpty(r(1, 0)) s = IIf(IsEmpty(r(2, 0)), ";", "") Похожие = r(0, -1) & ";" & Replace(r(0, 1) & s, s & r(1, -1) & ";", "") End Select End Function
[/vba]
Здравствуйте UDF [vba]
Код
Function Похожие$() Dim r As Range, r1 As Range, s$ Set r = Application.Caller Select Case True Case IsEmpty(r(1, 0)) And Not IsEmpty(r(2, 0)) Set r1 = r.Parent.Range(r(1, -1), IIf(IsEmpty(r(3, 0)), r(2, 0), r(2, 0).End(xlDown)(1, 0))) Похожие = Join(Filter(Application.Transpose(r1), r(1, -1), 0), ";") Case Not IsEmpty(r(1, 0)) s = IIf(IsEmpty(r(2, 0)), ";", "") Похожие = r(0, -1) & ";" & Replace(r(0, 1) & s, s & r(1, -1) & ";", "") End Select End Function