Excel中具有条件的唯一计数

pvcm50d1  于 2023-04-07  发布在  其他
关注(0)|答案(3)|浏览(174)

Excel问题:
我有两个标签:
表1,主要数据:

Taba 2,编辑此taab

在选项卡2中,我想显示1个组(column3)的地址的唯一计数。当我输入第1行的唯一ID时,我的结果应自动更新第2列和第3列。我正在使用xlookup更新选项卡1中的第2列。如何获得第3列的唯一计数?
这可能吗?
我试过https://www.statology.org/excel-count-unique-by-group/,当添加一些东西时公式不断中断。想要一个在添加新行时更新的公式。

kq0g1dla

kq0g1dla1#

有条件的唯一计数

=LET(di,A2:A10,si,'Tab1'!A2:A10,sg,'Tab1'!B2:B10,sa,'Tab1'!C2:C10,
    dg,XLOOKUP(di,si,sg),dgu,UNIQUE(dg),
    uc,BYROW(dgu,LAMBDA(r,ROWS(UNIQUE(FILTER(sa,sg=r))))),
    gm,INDEX(uc,XMATCH(dg,dgu)),
HSTACK(dg,gm))

  • 您可以添加一些错误处理,方法是将XLOOKUP的第4个参数用于Group列,并将IFERROR用于Count列(在屏幕截图中未使用)。
=LET(di,A2:A11,si,'Tab1'!A2:A10,sg,'Tab1'!B2:B10,sa,'Tab1'!C2:C10,
    dg,XLOOKUP(di,si,sg,""),dgu,UNIQUE(dg),
    uc,BYROW(dgu,LAMBDA(r,ROWS(UNIQUE(FILTER(sa,sg=r))))),
    gm,IFERROR(INDEX(uc,XMATCH(dg,dgu)),""),
HSTACK(dg,gm))
  • 请注意,您可以去掉gm变量,它的目的只是为了使它更具可读性。
gijlo24d

gijlo24d2#

  • 假设根据问题中列出的标记,没有Excel版本限制 *:
=LET(in, A2:C7, B, INDEX(in,,2), C, TAKE(in,,-1),
 HSTACK(TAKE(in,,2), MAP(B, LAMBDA(x, ROWS(UNIQUE(FILTER(C,B=x,0)))))))

另一种选择:

=LET(in, A2:C7, B,INDEX(in,,2), C,TAKE(in,,-1), uxC,UNIQUE(C),
 cnts, MMULT(N(COUNTIFS(B, B, C,TOROW(uxC))>=1), SEQUENCE(ROWS(uxC))^0),
 HSTACK(TAKE(in,,2), cnts))

下面是输出:

oug3syen

oug3syen3#

如果您能够将两组数据都格式化为表,那么在第二个表中,您可以执行以下操作
第1列公式:

=Table1[@UniqueID]

第2列公式:

=Table1[@Group Name]

第3列公式

=COUNTIFS(Table1[Address],Table1[@Address],Table1[Group Name],[@[Group Name]])

相关问题