0 | 一个 | 乙 | 碳 | 德 | 埃 | F | 格 | 赫 | 我 |
---|---|---|---|---|---|---|---|---|---|
1 | 数据列表 | Filter_01 | Filter_02 | Filter_03 | |||||
2 | 日期 | 品牌 | 类型 | 产品 | 值。 | 2023-12-31 | 布帛 | t1 | |
3 | 2022-05-10 | 胸罩 | t1 | P1 | 15 | 溴碳 | t2 | ||
4 | 2023-01-15 | 胸罩 | t1 | P1 | 18 | t3 | |||
5 | 2022-08-12 | 布帛 | t2 | P2 | 三十 | ||||
6 | 2022-09-15 | 布帛 | t3 | P3 | 50 | 结果 | |||
7 | 2023-06-15 | 布帛 | t1 | P3 | 20 | 产品 | |||
8 | 2023-06-18 | 布帛 | t4 | P1 | 80 | P2 | |||
9 | 2024-05-17 | 布帛 | t4 | P4 | 二十五 | P3 | |||
10 | 2023-08-19 | 溴碳 | t3 | P5 | 85 | P5 | |||
11 | 2022-09-30 | 溴碳 | t5 | P3 | 70 | ||||
12 | 2024-04-25 | 溴碳 | t5 | P3 | 三十二 | ||||
十三 | 2025-08-29 | 布魯 | t3 | P1 | 四十五 | ||||
14 | 2022-03-25 | 布瑞 | t1 | P2 | 60 | ||||
15 | 2022-03-26 | 布瑞 | t3 | P2 | 85 | ||||
16 | 2024-05-20 | 布瑞 | t5 | P3 | 90 | ||||
17 | 2024-06-03 | 布瑞 | t2 | P4 | 15 | ||||
18 | 2024-07-30 | 布瑞 | t1 | P4 | 二十六 |
在 中我实现了以下公式。它根据、 和 中的条件Cell G8
过滤 中的列表:Column A:E
Cell G2
Range H2:H4
Range I2:I4
=LET(
a,COUNTIF(H2:H4,B1:B20)+AND(H2:H4=""),
b,COUNTIF(I2:I4,C1:C20)+AND(I2:I4=""),
c,FILTER(A1:E20,a*b,""),
d,A2:E2,
e,VSTACK(d,c),
f,MATCH(A2,CHOOSEROWS(e,1),0),
g,FILTER(e,CHOOSECOLS(e,1)<=G2),
h,DROP(UNIQUE(g),1),
i,VSTACK(d,h),
j,XLOOKUP(D2,CHOOSEROWS(i,1),i,NA(),0),
k,DROP(UNIQUE(j),1),
k)
一切运行良好。
现在,我想知道是否有可能以某种方式摆脱COUNTIF
公式部分的行限制,使其看起来像这样:
=LET(
a,COUNTIF(H2:H4,B:B)+AND(H2:H4=""),
b,COUNTIF(I2:I4,C:C)+AND(I2:I4=""),
c,FILTER(A:E,a*b,""),
d,A2:E2,
e,VSTACK(d,c),
f,MATCH(A2,CHOOSEROWS(e,1),0),
g,FILTER(e,CHOOSECOLS(e,1)<=G2),
h,DROP(UNIQUE(g),1),
i,VSTACK(d,h),
j,XLOOKUP(D2,CHOOSEROWS(i,1),i,NA(),0),
k,DROP(UNIQUE(j),1),
k)
但是,此公式返回#VALUE!
。
我需要如何修改公式才能使其发挥作用?
注意:我喜欢在公式中通过添加变量来轻松添加其他过滤器COUNTIF
。因此,解决方案也应保持这种灵活性。
我喜欢使用
ISNUMBER(MATCH(,,0))
,因为与 COUNTIF 不同,它采用数组。使用完整的列我们可以使用
A.:.D
引用。如果还没有
A.:.D
参考文献,我们可以做另一个过滤:此公式使用 ETA。我声明
c
为 CHOOSECOLS,作为a
A:E 的过滤器,其中 A 列包含日期(数字), y zx
是数字输入,用于获取第列,是过滤器值范围。那么意味着(1-ISNA(XMATCH(CHOOSECOLS(a,
),
))+AND(z=""))
y
y
a
z
x(2,H2:H3)
(1-ISNA(XMATCH(CHOOSECOLS(FILTER(A:E,IS NUMBER(A:A)),2),H2:H3))+AND(H2:JE=""))