Есть ли способ сделать =CONCATENATEIFS() в Excel

Есть ли способ сделать =CONCATENATEIFS() в Excel
Есть ли способ сделать =CONCATENATEIFS() в Excel - amyg1rl @ Unsplash

У меня есть таблица, как показано ниже:

Person Bank Credit Julius HSBC 1000 Julius BoA 200 Marcus HSBC 500 Marcus BoC COPY05

Я хочу преобразовать его в таблицу следующим образом:

Person Banks Credit Julius HSBC, BoA 1200 Marcus HSBC, BoC 900 Kylie BoA 800

Для колонки Кредит я использую формулу типа =SUMIFS(C:C;A:A;A2).

Но можно ли сделать это для столбца Банки? Что-то вроде =CONCATENATEIFS(B:B;A:A;A2).

Бонусный вопрос: есть ли способ добавить разделитель, как , в моем примере?

Могу ли я предложить вам использовать TEXTJOIN.

Предполагая, что ваша таблица находится в столбцах A - C, а значения поиска - в столбцах E - G, используйте формулу:

=TEXTJOIN(",",TRUE,IF($A$2:$A$6=$E10,$B$2:$B$6,""))

DRag формула вниз к другим ячейкам.

Public Function contxt(ParamArray args() As Variant) As Variant
    Dim tmptext As Variant, i As Variant, Cellv As Variant
    Dim Cell As Range
    tmptext = ""
    
    For i = 0 To UBound(args)
        If Not IsMissing(args(i)) Then
            Select Case TypeName(args(i))
                Case "Range"
                    For Each Cell In args(i)
                        tmptext = tmptext & Cell
                    Next Cell
                Case "Variant()"
                    For Each Cellv In args(i)
                        tmptext = tmptext & Cellv
                    Next Cellv
                Case Else
                    tmptext = tmptext & args(i)
            End Select
        End If
    Next i
  tmptext = Mid(tmptext, 1, Len(tmptext) - 1)
    contxt = tmptext
    
End Function

Создайте пользовательскую функцию и введите формулы:

=CONTXT((IF($A$2:$A$6=F2,$B$2:$B$6&",","")))

=SUMIF($A$2:$A$6,F2,$C$2:$C$6)


NevaDev, 30 января 2023 г., 13:10