如何按包含 GoogleSpreadsheet 中特定文本的唯一 id 值进行计数

问题描述

对于这个问题,我知道可以通过 =query("some code") 使用 sql,这种方式完全有效,但如果存在更简单的方法,那就更好了。

我想在 GoogleSpreadsheet 中计算所有被禁用的帐户,但每个 account_id 只计算一次

account_status  account_id
disabled: 22/02/2021    3
disabled: 15/02/2021    3
disabled: 17/02/2021    4
disabled: 22/02/2021    4
active: 22/02/2021      5
active: 22/02/2021      5
active: 04/02/2021      6
active: 22/02/2021      6
active: 22/02/2021      7
active: 22/02/2021      7
active: 05/02/2021      7
active: 22/02/2021      8 
active: 22/02/2021      8
active: 22/02/2021      9
active: 22/02/2021      9

在这种特定情况下,我有 2 个帐户,id 分别为 4 和 3,总共 4 行,但我希望计数的结果是禁用的帐户数,在这种情况下为 2

我尝试不成功:

=COUNTIFS('mysheet'!S2:S,"active")
=COUNTUNIQUEIFS('mysheet'!S2:S,'mysheet'!C2:C,"disabled")

解决方法

试试这个:

=COUNTUNIQUEIFS(C2:C; A2:A; "disabled*")

enter image description here

即使 A 列包含日期也有效

,

从您提供的数据来看,disabled: <date> 在单列中,因此我们需要在使用 count 之前修剪或使用正则表达式删除日期:

=COUNTUNIQUE(REGEXEXTRACT(A7:A,"(.*):.*"),"disabled")

=COUNTUNIQUE(TRIM(LEFT(A7:A,FIND("disabled",A7:A))),"disabled")

enter image description here