【问题标题】:Counting common visited countries统计常见访问国家
【发布时间】:2020-07-11 21:08:17
【问题描述】:

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

考虑一下:

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

这里有一个谷歌表可以玩:https://docs.google.com/spreadsheets/d/1jWAXVGt2_E3fYo8WZSBP1Fp-vg3gYPKlG2ZxC-4SE34/edit?usp=sharing

【问题讨论】:

    标签: arrays google-sheets unique array-formulas counting


    【解决方案1】:

    试试这个:

    =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)))
    

    【讨论】:

    • 希望没关系。上面的 T1 和 T2 总共计算了三倍,因为 T1 有两次 A 类和 B 一次,而 T2 有 A 一次和 B 一次。
    猜你喜欢
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-15
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多