Изображение, показывающее мою проблему

Column B:  Column C:
1             A   
1             A          
1             B        
2             B        
2             C            
3             D     
3             D    

Есть ли способ для меня получить значение из столбца C, учитывая значение в столбце B? Например, каковы уникальные значения в столбце C, учитывая, что значение в столбце B = 1?

1 ответ1

0

Использование VBA /Macro:

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    Dim wks As Worksheet
    Set wks = ActiveSheet
    filterrow = 2 'row of the filter cell
    filtercolumn = 4 'column of the filter cell
    criteriacolumn = 2 'number of column of the criteria list
    firstrow = 2 'first row on the criteria list
    resultcolumn = 5 'number of columns where to show the results
    thecriteria = Target.Value
    Dim critarray() As Variant
    therow = Target.Row
    thecolumn = Target.Column
    lastitem = 0
    wks.Columns(resultcolumn).ClearContents
    If (therow = filterrow) And (thecolumn = filtercolumn) Then
        lastrow = wks.Cells(Rows.Count, criteriacolumn).End(xlUp).Row
        ReDim critarray(lastrow)
        For i = firstrow To lastrow
            tempcriteria = wks.Cells(i, criteriacolumn)
            templist = wks.Cells(i, criteriacolumn + 1)
            If tempcriteria = Target.Value Then
                repeated = False
                For j = 1 To lastitem
                    a = critarray(j)
                    If a = templist Then
                        repeated = True
                        j = lastrow
                    End If
                Next j
                If repeated = False Then
                    lastitem = lastitem + 1
                    critarray(lastitem) = templist
                    wks.Cells(lastitem, resultcolumn) = templist
                End If
            End If
        Next i
    End If
    Application.EnableEvents = True
End Sub

Откройте VBA / макросы, используя ALT+F11, дважды щелкните лист и вставьте код с правой стороны. Существуют переменные, которые вы можете изменить для соответствия макросу вашего листа.

Он использует ячейку D2 в качестве значения фильтра и выводит результат в столбец E.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .