如果满足某些条件,则标识列表中某个条目的首次出现(EXCEL)

如果满足某些条件,则标识列表中某个条目的首次出现(EXCEL),excel,formula,Excel,Formula,我花了太多时间试图在这个问题的标题中找出我们对这个问题的看法,我正在寻求帮助 当条件等于AR时,我希望第一次出现时输出一个条目1,当条件等于单独列上的SFR时,在列上第一次出现时输出一个条目1 例如,下表中我想要的列是标题为AR和SFR |Property Name | product | company | AR | SFR | |---------------|---------|---------|----|-----| |orange grove | 2 | SFR

我花了太多时间试图在这个问题的标题中找出我们对这个问题的看法,我正在寻求帮助

当条件等于AR时,我希望第一次出现时输出一个条目1,当条件等于单独列上的SFR时,在列上第一次出现时输出一个条目1

例如,下表中我想要的列是标题为
AR
SFR

|Property Name  | product | company | AR | SFR |
|---------------|---------|---------|----|-----|
|orange grove   |    2    |   SFR   | 0  |  1  |
|orange grove   |    1    |   AR    | 1  |  0  |
|orange grove   |    6    |   AR    | 0  |  0  |
|garden court   |    2    |   SFR   | 0  |  1  |
|garden court   |    1    |   AR    | 1  |  0  |
|chimney sweeps |    6    |   AR    | 1  |  0  |
|chimney sweeps |    2    |   SFR   | 0  |  1  |
|chimney sweeps |    1    |   AR    | 0  |  0  |
|chimney sweeps |    4    |   SFR   | 0  |  0  |
|downing apts   |    2    |   SFR   | 0  |  1  |
|downing apts   |    1    |   SFR   | 0  |  0  |
|downing apts   |    6    |   AR    | 1  |  0  |
我尝试在我的公式中实现
countif
,并且只考虑我的输出结果为1时,然后将条件“AR”或“SFR”的公式与我的countif的结果嵌套,如果满足条件,但表格没有组织,因此AR在表格行中排在第一位,反之亦然。以下是我的公式示例:

=IF(E2="AR", IF(COUNTIF($C$2:C2,C2)=1,1,""), "")
有时我会遇到公司名称出现但计数不是1的情况。以橘园为例。对于每个+1实例,Orange grove的计数将连续为1、2、3。如果我的计数为1且
SFR
,则我的公式将输出1,但如果我的条件为
AR
,且计数不是1(实际上是2或3),则我不会根据
AR
的条件获得第一次出现的输出

我看到可能有一种方法可以利用
sumproduct
,但我对它不熟悉


谁能帮忙吗。任何事情都将不胜感激

如果您可以
连接
属性名称和公司,然后将下面提到的公式输入到
AR
SFR
单元格中,它将为您提供一个结果

  • 插入一列并使用
    =串联(A2,“,C2)
    合并产品 姓名和公司。它应该以空格分隔的形式给出结果 格式。例如橙林SFR、烟囱清扫器AR等
  • 在单元格E2中输入此公式,它属于
    AR
    列:
    =IF(TRIM(RIGHT($D2,3))=E$1,IF(OR(COUNTIF($D:$D,$D2)=1,MATCH($D2,$D:$D,0)>=ROW($D2)),1,0)
  • 将公式向左拖动到单元格F2以应用于
    SFR
    列,然后拖动到每列的底部以应用于所有记录/行
  • 最终,您将获得以下预期结果:

    表格:

    R/C   A               B         C        D                    E     F
    
    01    Property Name   product   company  Merged PN + C        AR    SFR
    -------------------------------------------------------------------------
    02    orange grove    2         SFR      orange grove SFR     0     1
    03    orange grove    1         AR       orange grove AR      1     0
    04    orange grove    6         AR       orange grove AR      0     0
    05    garden court    2         SFR      garden court SFR     0     1
    06    garden court    1         AR       garden court AR      1     0
    07    chimney sweeps  6         AR       chimney sweeps AR    1     0
    08    chimney sweeps  2         SFR      chimney sweeps SFR   0     1
    09    chimney sweeps  1         AR       chimney sweeps AR    0     0
    10    chimney sweeps  4         SFR      chimney sweeps SFR   0     0
    11    downing apts    2         SFR      downing apts SFR     0     1
    12    downing apts    1         SFR      downing apts SFR     0     0
    13    downing apts    6         AR       downing apts AR      1     0
    
    说明:

    R/C   A               B         C        D                    E     F
    
    01    Property Name   product   company  Merged PN + C        AR    SFR
    -------------------------------------------------------------------------
    02    orange grove    2         SFR      orange grove SFR     0     1
    03    orange grove    1         AR       orange grove AR      1     0
    04    orange grove    6         AR       orange grove AR      0     0
    05    garden court    2         SFR      garden court SFR     0     1
    06    garden court    1         AR       garden court AR      1     0
    07    chimney sweeps  6         AR       chimney sweeps AR    1     0
    08    chimney sweeps  2         SFR      chimney sweeps SFR   0     1
    09    chimney sweeps  1         AR       chimney sweeps AR    0     0
    10    chimney sweeps  4         SFR      chimney sweeps SFR   0     0
    11    downing apts    2         SFR      downing apts SFR     0     1
    12    downing apts    1         SFR      downing apts SFR     0     0
    13    downing apts    6         AR       downing apts AR      1     0
    
  • 我们合并了产品名称和公司,以确定独特的记录
  • 然后我们创建了一个条件来检查最后3个字符是否与我们的列名匹配:
    =IF(TRIM(RIGHT($D2,3))=E$1
  • 如果上述条件为真,这意味着我们在正确的公司列中,我们现在可以继续检查Product Name实例是否在第一列。如果不是,那么我们在错误的列中,所以只需打印0
  • 正如您所提到的,产品名称和公司可以是唯一的组合,也可以是多个组合。因此,有两个条件: a、 当组合是唯一的,即计数等于1时:
    COUNTIF($D:$D,$D2)=1
    b、 当组合重复但第一个实例的行号小于等于当前行号时:
    MATCH($D4,$D:$D,0)>=行($D4)
  • 如果上述两个条件中的任何一个为真,则记录为第一个实例,因此打印1,否则为非实例,因此打印0

  • 希望有帮助。

    如果您可以
    连接属性名称和公司,然后将下面提到的公式输入到
    AR
    SFR
    单元格中,它将为您提供一个结果

  • 插入一列并使用
    =串联(A2,“,C2)
    合并产品 名称和公司。它应以空格分隔结果 格式。例如orange grove SFR、烟囱清扫器AR等
  • 在单元格E2中输入此公式,它属于
    AR
    列:
    =IF(TRIM(RIGHT($D2,3))=E$1,IF(OR(COUNTIF($D:$D,$D2)=1,MATCH($D2,$D:$D,0)>=ROW($D2)),1,0)
  • 将公式向左拖动到单元格F2以应用于
    SFR
    列,然后拖动到每列的底部以应用于所有记录/行
  • 最终,您将获得以下预期结果:

    表格:

    R/C   A               B         C        D                    E     F
    
    01    Property Name   product   company  Merged PN + C        AR    SFR
    -------------------------------------------------------------------------
    02    orange grove    2         SFR      orange grove SFR     0     1
    03    orange grove    1         AR       orange grove AR      1     0
    04    orange grove    6         AR       orange grove AR      0     0
    05    garden court    2         SFR      garden court SFR     0     1
    06    garden court    1         AR       garden court AR      1     0
    07    chimney sweeps  6         AR       chimney sweeps AR    1     0
    08    chimney sweeps  2         SFR      chimney sweeps SFR   0     1
    09    chimney sweeps  1         AR       chimney sweeps AR    0     0
    10    chimney sweeps  4         SFR      chimney sweeps SFR   0     0
    11    downing apts    2         SFR      downing apts SFR     0     1
    12    downing apts    1         SFR      downing apts SFR     0     0
    13    downing apts    6         AR       downing apts AR      1     0
    
    说明:

    R/C   A               B         C        D                    E     F
    
    01    Property Name   product   company  Merged PN + C        AR    SFR
    -------------------------------------------------------------------------
    02    orange grove    2         SFR      orange grove SFR     0     1
    03    orange grove    1         AR       orange grove AR      1     0
    04    orange grove    6         AR       orange grove AR      0     0
    05    garden court    2         SFR      garden court SFR     0     1
    06    garden court    1         AR       garden court AR      1     0
    07    chimney sweeps  6         AR       chimney sweeps AR    1     0
    08    chimney sweeps  2         SFR      chimney sweeps SFR   0     1
    09    chimney sweeps  1         AR       chimney sweeps AR    0     0
    10    chimney sweeps  4         SFR      chimney sweeps SFR   0     0
    11    downing apts    2         SFR      downing apts SFR     0     1
    12    downing apts    1         SFR      downing apts SFR     0     0
    13    downing apts    6         AR       downing apts AR      1     0
    
  • 我们合并了产品名称和公司,以确定独特的记录
  • 然后我们创建了一个条件来检查最后3个字符是否与我们的列名匹配:
    =IF(TRIM(RIGHT($D2,3))=E$1
  • 如果上述条件为真,这意味着我们在正确的公司列中,我们现在可以继续检查Product Name实例是否在第一列。如果不是,那么我们在错误的列中,所以只需打印0
  • 正如您所提到的,产品名称和公司可以是唯一的组合,也可以是多个组合。因此,有两个条件: a、 当组合是唯一的,即计数等于1时:
    COUNTIF($D:$D,$D2)=1
    b、 当组合重复但第一个实例的行号小于等于当前行号时:
    MATCH($D4,$D:$D,0)>=行($D4)
  • 如果上述两个条件中的任何一个为真,则记录为第一个实例,因此打印1,否则为非实例,因此打印0

  • 希望有帮助。

    假设D列和E列分别位于AR列和SFR列的位置,请尝试:

    表结构:

        AR  SFR
    AR  1   0
    AR  0   0
    AR  0   0
    AR  0   0
    AR  0   0
    SFR 0   1
    
    单元格D2将是(假设AR是D列的列标题)

    E2将是:

    =IF(C2=E1,1,0)
    
    对于D3,然后向下拖动D列中的每个单元格

    =IF(SUM(D$2:D2)=0,IF($C3=D$1,1,0),0)
    
    对于E3,然后向下拖动E列中的每个单元格

    IF(SUM(E$2:E2)=0,IF($C3=E$1,1,0),0)
    
    谢谢


    Ryan

    假设D列和E列分别位于AR列和SFR列的位置,请尝试:

    表结构:

        AR  SFR
    AR  1   0
    AR  0   0
    AR  0   0
    AR  0   0
    AR  0   0
    SFR 0   1
    
    单元格D2将是(假设AR是D列的列标题)

    E2将是:

    =IF(C2=E1,1,0)
    
    对于D3,然后向下拖动D列中的每个单元格

    =IF(SUM(D$2:D2)=0,IF($C3=D$1,1,0),0)
    
    对于E3,然后向下拖动E列中的每个单元格

    IF(SUM(E$2:E2)=0,IF($C3=E$1,1,0),0)
    
    谢谢


    Ryan

    这是错误的。你需要阅读问题