我有一个 Excel 工作表 (TAB1),其中列出了这样的项目。
班级 | 类型 |
---|---|
AA | A |
AB | B |
交流 | A |
广告 | C |
因此,存在唯一的类值,但类型值可能与多个类相关联。
我正在尝试在同一工作簿中构建第二个工作表 (TAB2),其中列出了类型值以及与其关联的所有类。
类型 | 课程 | |
---|---|---|
A | AA | 交流 |
B | AB | |
C | 广告 |
我可以使用像这样的 UNIQUE 函数在 TAB2 工作表中构建类型列。
=SORT(UNIQUE(FILTER('TAB1'!B:B,(TRIM('TAB1'!B:B)<>"Type")*(TRIM('TAB1'!B:B)<>""),"")))
但我还没有找到填充“类”列的方法。是否有一个函数或函数组合可以列出行中每个“类型”的所有“类”值?
也可以在第 1 行跨列列出类型值,并将类列在与其关联的类型值下方。
如果有人能提供任何帮助,我将不胜感激。
尝试使用以下其中一项,这两个公式都适用于
MS365
版本的 Excel
。
使用 MAKEARRAY()
• 单元格中使用的公式 A1
=LET(
_type, 'TAB1'!B2:B5,
_class, 'TAB1'!A2:A5,
_uniqueType, UNIQUE(_type),
_rows, ROWS(_uniqueType),
_columns, MAX(COUNTIFS(_type,_type)),
_listClasses, MAKEARRAY(_rows, _columns, LAMBDA(x,y,IFERROR(INDEX(FILTER(_class, INDEX(_uniqueType,x)=_type),y),""))),
HSTACK(_uniqueType, _listClasses))
或者,使用 REDUCE()
• 单元格中使用的公式 A1
=LET(
_type, 'TAB1'!B2:B5,
_class, 'TAB1'!A2:A5,
_uniqueType, UNIQUE(_type),
_listClasses, IFNA(DROP(REDUCE("", _uniqueType, LAMBDA(x,y, VSTACK(x, TOROW(FILTER(_class, _type=y))))),1),""),
HSTACK(_uniqueType, _listClasses))