多个条件唯一值

时间:2018-12-13 21:50:49

标签: arrays excel-formula duplicates countif

enter image description here我有两个需要帮助的问题。

首先,为在工作表2的J列中的“马”,在工作表2的I列中的“球”匹配的项中创建一个唯一ID号的动态列表,该项不包含单词dog。表格2中的A列!在下面的示例中,这将返回ID号48和56

第二个是,虽然我使用以下方法计算了满足此条件(3)的资产数量,

= COUNTIFS(Sheet2!$ A:$ A,“ <> Dog ”,Sheet2!$ J:$ J,“ Horse”,Sheet2!$ I:$ I,“ Ball” )

我还要计算唯一条目的数量,在提供的示例中为2。

1 个答案:

答案 0 :(得分:0)

所以我了解您已经解决了第二个问题。 至于动态列表,我相信最快的方法是使用宏。 如果要将唯一的ID列表放置在Sheet3中,它将看起来像这样:

Sub list()

Dim pet, toy, animal As String
Dim ID, row As Integer

'pointing where list of unique ids will begin
Sheets("Sheet3").Activate
Range("A2").Select

'pointing beginig of the table with data
Sheets("Sheet2").Activate
Range("A2").Select

'loop to look for the ids
Do While IsEmpty(ActiveCell) = False
    pet = ActiveCell.Value
    ID = ActiveCell.Offset(0, 2).Value
    toy = ActiveCell.Offset(0, 8).Value
    animal = ActiveCell.Offset(0, 9).Value

    If ((pet <> "dog") And (toy = "ball") And (animal = "horse")) Then
        Sheets("Sheet3").Activate
        ActiveCell.Value = ID
        ActiveCell.Offset(1, 0).Select
        Sheets("Sheet2").Activate
    End If

    ActiveCell.Offset(1, 0).Select
Loop

'removing duplicates from our list
Sheets("Sheet3").Activate
row = ActiveCell.row
ActiveSheet.Range("$A$2:$A$" & row).RemoveDuplicates Columns:=1, Header:=xlNo

End Sub