Excel/GSheets 将唯一标志添加到动态列表中重复出现的值
Excel/GSheets add unique flag to reoccuring values in a dynamic list
作为我之前在此处发布的问题的后续行动 - 我希望计算 30k+ 网络研讨会参与者列表中的唯一值,但这次跨越多个标准。
这里的逻辑与简单的 COUNTIFS 公式有点不同,因为我需要保留所有行以便在 Google Data Studio 中进行可视化和交互 - 换句话说,我需要一个公式来插入基于唯一性参数的唯一标志(“New”或“Returning”)。
总之,我需要在这个公式中加入逻辑来考虑不同的唯一性:
=IF(COUNTIF($B$2:$B2,B2)>1,"返回","新")
让我们用这个简化的数据集示例来解释一下,注意除 P1 之外的所有与会者都是唯一的,并注意 F 列和 G 列中的值应如何根据条件更改。请注意,我添加了边框和颜色以便于理解。
Link 采样数据 - https://drive.google.com/file/d/1LxirDbk-9w5zu5qqFNoBI9QiK4Za6lFA/view?usp=sharing
这是数据进入的图表:
如有任何帮助,我们将不胜感激!谢谢!
看起来有几种方法可以解决这个问题,但是为了利用您在 E 列中已有的内容...您可以扩展它以处理 F 和 G 中的多个条件,方法是结合您的与会者列分别包含星期和日期列。
这将是 F2 的公式(只需像在 E 中那样将其向下拖动)
=IF(COUNTIF(arrayformula($B:$B2&$C:$C2),B2&C2)>1,"Returning","New")
这就是 G2 的公式
=IF(COUNTIF(arrayformula($B:$B2&$D:$D2),B2&D2)>1,"Returning","New")
同样,可能还有许多其他方法可以处理此问题,但其概念是使用组合的出席者和周或日指示符作为组合的唯一键来查找列表本身。
这里有一个sheet的解决方案供您复制
https://docs.google.com/spreadsheets/d/1DGfVRKnzJM6-tmNPy5GGdD_ca8YAZy0LRB6ci4nDHK0/edit?usp=sharing
作为较早答案的替代方法(我工作很慢!)请考虑这种方法,它基本上非常相似,但可以填充该列。
这是 E1、F1 和 G1 中的三个公式。
在 E1 中:
={"Attendee unique";
ARRAYFORMULA(if(COUNTIFS(B2:B,B2:B,ROW(B2:B),"<="&ROW(B2:B))>1,"Returning","New"))}
在 F1 中:
={"Week Unique";
ARRAYFORMULA(if(COUNTIFS(B2:B&C2:C,B2:B&C2:C,ROW(B2:B),"<="&ROW(B2:B))>1,"Returning","New"))}
在 G1 中:
={"Day Unique";
ARRAYFORMULA(IF(COUNTIFS(B2:B&C2:C&D2:D,B2:B&C2:C&D2:D,ROW(B2:B),"<="&ROW(B2:B))>1,"Returning","New"))}
作为我之前在此处发布的问题的后续行动 -
这里的逻辑与简单的 COUNTIFS 公式有点不同,因为我需要保留所有行以便在 Google Data Studio 中进行可视化和交互 - 换句话说,我需要一个公式来插入基于唯一性参数的唯一标志(“New”或“Returning”)。
总之,我需要在这个公式中加入逻辑来考虑不同的唯一性:
=IF(COUNTIF($B$2:$B2,B2)>1,"返回","新")
让我们用这个简化的数据集示例来解释一下,注意除 P1 之外的所有与会者都是唯一的,并注意 F 列和 G 列中的值应如何根据条件更改。请注意,我添加了边框和颜色以便于理解。
Link 采样数据 - https://drive.google.com/file/d/1LxirDbk-9w5zu5qqFNoBI9QiK4Za6lFA/view?usp=sharing
这是数据进入的图表:
如有任何帮助,我们将不胜感激!谢谢!
看起来有几种方法可以解决这个问题,但是为了利用您在 E 列中已有的内容...您可以扩展它以处理 F 和 G 中的多个条件,方法是结合您的与会者列分别包含星期和日期列。
这将是 F2 的公式(只需像在 E 中那样将其向下拖动)
=IF(COUNTIF(arrayformula($B:$B2&$C:$C2),B2&C2)>1,"Returning","New")
这就是 G2 的公式
=IF(COUNTIF(arrayformula($B:$B2&$D:$D2),B2&D2)>1,"Returning","New")
同样,可能还有许多其他方法可以处理此问题,但其概念是使用组合的出席者和周或日指示符作为组合的唯一键来查找列表本身。
这里有一个sheet的解决方案供您复制 https://docs.google.com/spreadsheets/d/1DGfVRKnzJM6-tmNPy5GGdD_ca8YAZy0LRB6ci4nDHK0/edit?usp=sharing
作为较早答案的替代方法(我工作很慢!)请考虑这种方法,它基本上非常相似,但可以填充该列。
这是 E1、F1 和 G1 中的三个公式。 在 E1 中:
={"Attendee unique";
ARRAYFORMULA(if(COUNTIFS(B2:B,B2:B,ROW(B2:B),"<="&ROW(B2:B))>1,"Returning","New"))}
在 F1 中:
={"Week Unique";
ARRAYFORMULA(if(COUNTIFS(B2:B&C2:C,B2:B&C2:C,ROW(B2:B),"<="&ROW(B2:B))>1,"Returning","New"))}
在 G1 中:
={"Day Unique";
ARRAYFORMULA(IF(COUNTIFS(B2:B&C2:C&D2:D,B2:B&C2:C&D2:D,ROW(B2:B),"<="&ROW(B2:B))>1,"Returning","New"))}