如果符合某些标准,则识别列表中首次出现的条目(EXCEL)

我花了太多的时间来试图把这个问题的题目强加给我们,并且正在寻求一些帮助。

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

例如,我想在下表中的列是标题为ARSFR的列

 |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”的公式embedded到标准结果中,如果标准满足的话,不是有组织的,所以AR排在第一位,反之亦然。 这是我的公式的一个例子:

 =IF(E2="AR", IF(COUNTIF($C$2:C2,C2)=1,1,""), "") 

有时我会有公司名称出现,但数量不是1的情况。以orange grove为例。 Orange Grove的数量将连续1,2,3次,每次+1次。 如果我的计数是1和SFR ,我的公式会输出一个1,但是如果我的标准是AR并且计数不是1(实际上是2或3),那么根据我的AR标准不会得到第一个出现的输出。

我看到可能有一种方法来利用sumproduct但我不熟悉它。

任何人都可以请帮忙。 任何东西将不胜感激!

如果你可以把房产名称和公司连接起来,然后把下面提到的公式input到ARSFR单元格中,那么它会给你一个结果。

  1. 插入一列并使用=CONCATENATE(A2," ",C2)合并产品名称和公司。 它应该给你空格分隔格式的结果。 例如。 橙树林SFR,烟囱扫AR等。
  2. 在属于AR列的单元格E2中input该公式: =IF(TRIM(RIGHT($D2,3))=E$1,IF(OR(COUNTIF($D:$D,$D2)=1,MATCH($D2,$D:$D,0)>=ROW($D2)),1,0),0)
  3. 将左边的公式拖到单元格F2上,应用于SFR列,然后拖到每列的底部以申请所有logging/行。

最后你会得到如预期的结果:

表:

 R/CABCDEF 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 

说明:

  1. 我们合并了产品名称和公司以识别唯一的logging。
  2. 然后我们创build了一个条件来检查最后3个字符以匹配我们的列名: =IF(TRIM(RIGHT($D2,3))=E$1
  3. 如果上述条件为真,这意味着我们在正确的公司列,我们现在可以继续检查产品名称实例是否是第一个。 如果没有,那么我们在错误的列,所以只打印0。
  4. 正如您所提到的,可以是产品名称和公司的独特组合或多种组合。 因此有两个条件:a。 当组合是唯一的,即计数等于1时: COUNTIF($D:$D,$D2)=1 b。 当组合重复但第一个实例的行号小于当前行号时: MATCH($D4,$D:$D,0)>=ROW($D4)
  5. 如果上述两个条件中的任何一个为TRUE,那么logging是第一个实例,因此打印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的列标题)

 =IF(C2=D1,1,0) 

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) 

谢谢!

瑞安