代码之家  ›  专栏  ›  技术社区  ›  Argyll

为什么按自定义公式筛选视图不适用于检测列中第一个唯一条目的公式?

  •  1
  • Argyll  · 技术社区  · 7 年前

    尝试回答时 Cowboy question ,我遇到了以下奇怪/令人沮丧的情况。

    在A列中,我们有 {"";"a";"b";"a";"c";"b"}

    如果在B列中,我们用公式填充单元格

    =iserror(match(A2,A$1:A1,0))
    

    从第二行开始,输出将为 {"";TRUE;TRUE;FALSE;TRUE;FALSE} 因为公式检查条目是否未出现在其上方。

    但是,如果我们在自定义公式的筛选条件中使用此公式——使用正确的索引偏移量,它将不起作用。为什么?


    通过正确的索引偏移量,我的意思是

    使用自定义公式按条件筛选迭代以单元格为中心位置的公式 在下面 具有过滤器视图设置的单元格。

    为什么没有记录?这可能是谷歌支持部门的一个好问题(如果存在的话)。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Max Makhrov TheMaster    7 年前

    您需要应用以下公式:

    =ArrayFormula(COUNTIFS(ROW(A:A),"<="&ROW(A2),A:A,A2))=1

    范围:

    2 a
    3 b
    4 a
    5 c
    6 b
    

    将过滤到每个值的第一个实例中:

    2 a
    3 b
    5 c
    

    您的公式 =iserror(match(A2,A$1:A1,0)) 不起作用,因为您试图模仿公式的行为:

    • 向下拖动时,范围将向下滑动: A$1:A1 → A$1:A2 → A$1:A3...
    • 将公式应用于过滤器时,范围将保持不变: A$1:A1 → A$1:A1 → A$1:A1...