我有一张这种格式的表格:
姓名 | 约翰 |
年龄 | 19 |
颜色 | 绿色的 |
姓名 | 简 |
年龄 | 22 |
颜色 | 蓝色的 |
姓名 | 麦克风 |
年龄 | 三十 |
颜色 | 红色的 |
我想将其转换为以下格式:
姓名 | 年龄 | 颜色 |
---|---|---|
约翰 | 19 | 绿色的 |
简 | 22 | 蓝色的 |
麦克风 | 三十 | 红色的 |
这就像“多重”转置,但我没有找到办法做到这一点。
答案1
答案2
使用 Office 365(动态数组公式),我们可以使用一个公式:
=LET(
fclm,A1:A9,
sclm,B1:B9,
lbl,UNIQUE(fclm),
MAKEARRAY(
MAX(BYROW(lbl,LAMBDA(z,COUNTA(FILTER(fclm,fclm=z)))))+1,
ROWS(lbl),
LAMBDA(y,x,IF(y=1,INDEX(lbl,x),INDEX(FILTER(sclm,fclm=INDEX(lbl,x)),y-1)))))
MAKERRAY 遍历指定的行和列。我们使用 INDEX 从各种 FILTER 和 UNIQUE 中获取正确的值。
现在假设每个组都有每个标签,组内的顺序无关紧要。但是,组必须在一起。