我正在尝试使用
LET
、FILTER
、COUNTIF
和动态范围编写公式来计算表列中唯一值的出现次数。
我有一个 Excel 表格
tbl
,其中有一列 df_col
,如下所示:
df_col |
---|
a |
a |
b |
c |
c |
c |
我编写了以下 Excel 函数,该函数输出唯一值以及表中的计数。
=LET(
col_all; tbl[df_col];
col_uniq; UNIQUE(col_all);
col_count; COUNTIF(col_all; col_uniq);
HSTACK(col_uniq; col_count)
)
我得到的结果正是我所期望的
a | 2 |
b | 1 |
c | 3 |
接下来我想在列上添加一些
FILTER
来对数据子集执行此操作。
=LET(
col_filtered; FILTER(tbl[df_col]; tbl[df_col]<="b");
col_uniq; UNIQUE(col_filtered);
col_count; COUNTIF(col_filtered; col_uniq);
HSTACK(col_uniq; col_count);
)
结果抛出错误。似乎
COUNTIF
功能不适用于检索到的列表。
a | #价值 |
b | #价值 |
#不适用 | #价值 |
运行公式计算显示
COUNTIF
部分有错误。不过,在不使用 LET
函数的情况下在 Excel 中逐步执行这些操作效果很好。
出了什么问题?