【问题标题】:Get unique values in a range where each value depends on the other cell在每个值取决于另一个单元格的范围内获取唯一值
【发布时间】:2015-03-13 16:04:38
【问题描述】:

这是一个示例表列 A、B、C 其中 A - 发布时间,B - 团队名称,D - 选择日期

10.08.2014 10:21:22, Name1, 25Mar
10.08.2014 10:21:23, Name1, 25Mar
10.08.2014 10:21:24, Name2, 28Mar
10.08.2014 10:21:25, Name2, 28Mar
10.08.2014 10:21:26, Name1, 28Mar

我想从上面的数据中得到如下:

10.08.2014 10:21:22, Name1, 25Mar
10.08.2014 10:21:24, Name2, 28Mar
10.08.2014 10:21:26, Name1, 28Mar

因此,我想通过 2 列选择唯一记录:名称(B)和日期(C),但是从基于 B 和 C 列的非唯一值中,选择时间最早的记录(A 列)。

我怎样才能在 google spreadshit 中实现这一点?

【问题讨论】:

    标签: google-sheets google-query-language


    【解决方案1】:

    假设您的数据从第 2 行开始,请尝试:

    =ArrayFormula(vlookup(unique(B2:B&C2:C), {B2:B&C2:C,A2:C}, {2,3,4}, 0))
    

    看看这是否有效。 注意:根据您的语言环境,公式可能需要更改为:

    =ArrayFormula(vlookup(unique(B2:B&C2:C); {B2:B&C2:C\A2:C}; {2\3\4}; 0))
    

    并且.. 如果 col A 中的数据尚未排序...

    =ArrayFormula(vlookup(unique(B2:B&C2:C), sort({B2:B&C2:C,A2:C},2,1), {2,3,4}, 0))
    

    【讨论】:

    • 谢谢,比我看到的还要多。第二个变体抛出一个错误,A 列中的 date_time 应该已经排序,因为它是来自谷歌表单的时间响应
    • 第一个和第二个不可能起作用,因为它取决于您的语言环境。一些地区使用逗号作为参数分隔符(例如美国),其他地区使用分号(例如很多欧洲国家)。但很高兴听到它起作用了.. :-)
    • 我没注意到那个逗号的区别 =)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-27
    • 2018-08-05
    • 1970-01-01
    • 2023-02-01
    相关资源
    最近更新 更多