使用 Excel 365。
我在A列和B列中有一些文本数据,例如:
101r MC
101r TU
101r VV
101r VL
w257 HU
w257 QI
w257 JJ
w257 YW
315L GD
315L OO
315L NL
w257 BHU
我想以二维格式总结
在D1我输入公式:
=UNIQUE(FILTER(A:A,LEN(A:A)))
效果很好并且很好地溢出。在E1我输入:
=TRANSPOSE(FILTER(B:B,A:A=D1))
这也很有效并且很好地溢出。然后我手动向下复制E1以获得:
我希望E1公式的传播是动态的。
我试过的:
=TRANSPOSE(FILTER(B:B,A:A=INDEX(D:D,SEQUENCE(COUNTA(D:D)))))
=TRANSPOSE(FILTER(B:B,A:A=INDIRECT("D" & SEQUENCE(COUNTA(D:D)))))
这些公式都没有溢出(甚至根本不起作用)。但是,就其本身而言,以下部分确实有效:
=INDEX(D:D,SEQUENCE(COUNTA(D:D)))
是否可以动态向下拖动E1 ?
=INDEX(D:D,SEQUENCE(COUNTA(D:D)))
只是将结果复制到 中D1:D3
,这与直接引用没有什么不同D1#
。我不认为这是可能的。但也许这些尝试会让你或其他人更接近?
我使用隐式交集运算符 (@)尝试了一个混合公式(依赖于数组计算和隐式交集) 。我还使用溢出范围运算符 (#)
D:D
替换D1#
为仅动态引用溢出范围。这给出了
=TRANSPOSE(FILTER(B:B,A:A=@$D$1#))
可以手动复制粘贴到E1到E3中的所有单元格的公式,而无需D1相对引用您的公式。有人会认为,不是复制粘贴这个公式,而是可以通过选择E1到E3,输入公式,然后按+ + ,将它作为CSE 数组公式输入到所有单元格中。但是,Excel 似乎不支持从 CSE 数组公式中溢出。通过Evaluate Formula对话框执行 E3 中的计算步骤后,它变为,但不知何故最后一步将其变为。也许这是一个 Excel 错误?无论如何,它有助于说明电子表格程序在解释不同维度的输入时可能遇到的困难。CtrlShiftEnter
TRANSPOSE({"GD";"OO";"NL"})
MC
我还尝试了最明显的事情,
=TRANSPOSE(FILTER(B:B,A:A=D1#))
. 这只是返回一个#N/A
错误,因为FILTER(array, include, [if_empty])
未定义为接受二维include
参数。include
用维度 [Nx2]的参数过滤 [Nx30] 数组是什么意思?溢出以适应您的问题似乎是合理的,但微软一定没有想到这一点,或者认为它通常很有用且足够明确,可以实施。