【发布时间】:2020-10-27 00:13:00
【问题描述】:
我正在使用谷歌电子表格。
假设有一些昆虫科在 A 列中具有以下名称,而在 B 列和 C 列中它们的属是物种的假想名称(它们对于每个属都是唯一的)。
我需要为每个家庭(A 列)拥有唯一的属数。我将在此表 1 之后给出所需的结果。
注意:Culicidae 有 31 行
表 1- 原始表
A B C
---------------------------------
1 Culicidae Aedes X
2 Culicidae Aedes Y
Culicidae Aedes Z
Culicidae Aedes W
Culicidae Aedes E
Culicidae Anopheles X
Culicidae Anopheles Y
Culicidae Anopheles Z
Culicidae Anopheles C
Culicidae Anopheles V
Culicidae Anopheles I
Culicidae Anopheles P
Culicidae Anopheles L
Culicidae Anopheles U
Culicidae Coquillettidia A
Culicidae Culex X
Culicidae Culex Y
Culicidae Culex Z
Culicidae Culex V
Culicidae Culex B
Culicidae Culex N
Culicidae Culex M
Culicidae Culex O
Culicidae Culex P
Culicidae Culiseta A
Culicidae Culiseta B
Culicidae Culiseta C
Culicidae Culiseta T
Culicidae Culiseta Y
Culicidae Orthopodomyia W
Culicidae Uranotaenia A
32 Tephritidae Tephritis X
表 2. 期望的结果
Family Total Number of Unique Genera
--------------------------------------------------
Culicidae 7
Tephritidae 1
Culicidae 的 B 列有 7 个唯一值,因此对于这种情况,另一个新表(另一个不同工作表中的表 2)中的最终期望结果应该是 7。
所以我们首先需要找到 Culicidae 的范围(它是动态的 - 今天 Culicidae 的值可以从 A1 到 A31,明天从 A100 到 A130 或其他任何值,并且可以随时间增加或减少,即今天有 31 行,明天可以有 90 行或 29 行......)。理想情况下,它应该在表 2 的 A 列中自动对每个族进行分组。
然后对于 Culicidae 它应该找出 B 列中有多少个独特的属,它们是 7 个独特的值。就是这样。我希望这能解决。
我知道找到唯一值应该是这样的(但这个范围是静态的..而不是动态的......):
=SUMPRODUCT(1/countif($B$1:$B$31,$B$1:$B$31))
主要困难是仅在一个公式中实现正确的范围($B$1:$B$31 或其中是 Culicidae 的数据)(可以是动态的,并将每个家庭分组,如表 2 所示) .
【问题讨论】:
标签: google-sheets google-sheets-formula counting google-sheets-query google-query-language