首页 > 解决方案 > 统计常见访问国家

问题描述

这是另一个问题的简化帖子。

考虑一下:

名称和访问过的国家

约翰和玛丽有多少共同去过的国家?约翰和阿尔弗雷德也有同样的问题?对 Alfred 和 Mary 有同样的问题吗?

这是一个谷歌表播放:https ://docs.google.com/spreadsheets/d/1jWAXVGt2_E3fYo8WZSBP1Fp-vg3gYPKlG2ZxC-4SE34/edit?usp=sharing

标签: arraysgoogle-sheetsuniquearray-formulascounting

解决方案


尝试这个:

=ArrayFormula(sum(countifs($A$2:$A$9,E$1,$B$2:$B$9,unique($B$2:$B$9))*countifs($A$2:$A$9,$D2,$B$2:$B$9,unique($B$2:$B$9))))

在此处输入图像描述

在此处输入图像描述

据我所知,这个问题有四个正确答案,具体取决于您提出问题的方式,就像在 SQL 中一样:

(1) 对于一个国家的每个人 1 的实例,有多少人 2 与同一个国家的实例,包括重复项(如交叉连接)

(2) 对于人 1 与国家/地区的每个唯一组合,有多少人 2 与同一国家/地区的实例(如左连接)

(3) 对于人 2 与国家的每个唯一组合,有多少人 1 与同一国家/地区的实例(如右连接)

(4) 对于个人 1 与国家/地区的每个唯一组合,是否至少存在个人 2 与同一国家/地区的一个实例(如内部连接)

我选择了选项(1)。

其他三个公式应该是

=ArrayFormula(sum((countifs($A$2:$A$9,E$1,$B$2:$B$9,unique($B$2:$B$9))>0)*countifs($A$2:$A$9,$D2,$B$2:$B$9,unique($B$2:$B$9))))

=ArrayFormula(sum(countifs($A$2:$A$9,E$1,$B$2:$B$9,unique($B$2:$B$9))*(countifs($A$2:$A$9,$D2,$B$2:$B$9,unique($B$2:$B$9))>0)))

=ArrayFormula(sum((countifs($A$2:$A$9,E$1,$B$2:$B$9,unique($B$2:$B$9))>0)*(countifs($A$2:$A$9,$D2,$B$2:$B$9,unique($B$2:$B$9))>0)))

推荐阅读