如果您只想使用 Excel 公式来完成,您可以尝试以下操作。放入单元格
C1
,如下公式:
=LET(A, A2:A8,values,DROP(REDUCE("",A,LAMBDA(ac,x,
VSTACK(ac,TEXTSPLIT(x,,"; ",1)))),1), ux, UNIQUE(values), cnts,
BYROW(ux, LAMBDA(x, SUM(N(values=x)))),
VSTACK({"Category","Result"},HSTACK(ux, cnts)))
有关更多信息,请查看我对以下与
REDUCE/VSTACK
模式相关的问题的回答:how to transform a table in Excel from vertical to horizontal but with different length.
如果你没有一个大数据集,在加入整个列后不会达到最大单元格大小(
32,767
字符数),那么你可以尝试以下方法:
=LET(A, A2:A8, values,TOCOL(TEXTSPLIT(TEXTJOIN(",",,A),"; ",",",1),2),
ux, UNIQUE(values), cnts,BYROW(ux, LAMBDA(x, SUM(N(values=x)))),
VSTACK({"Category","Result"}, HSTACK(ux, cnts)))