求一个EXCEL/WPS函数公式。要能实现如下功能

如下图,F列和G列是所有单据号和内容。求一个函数公式,在A列输入要查看的单据号,在C列和D列,能显示出对应单据号的全部内容。这里是举例,实际运用时A列可能一次性要查看上百个单号,C列和D列通过拖曳或其他形式,要能显示出对应单据号的全部内容。不要用VB编程,请简要说明公式的运算过程,我在遇到其他类似情况时,可以举一反三,谢谢了

EXCEL2021版

在B2中输入或复制粘贴下列公式

=TEXTJOIN(",",,IF(F:F=A2,G:G,""))

下拉填充

在B2中输入或复制粘贴下列公式

=TRANSPOSE(FILTER(H:H,G:G=A2))

下拉填充

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-07-11

C2输入   =INDEX($A$1:$A$100,SMALL(IF(COUNTIF(F:F,A$1:A$100)>=COLUMN(A:Z),ROW($1:$100)),ROW(A1)))

同时按下CTRL+SHIFT+Enter三键,使数组公式出现{ },公式下拉

D2输入

=INDEX(G:G,SMALL(IF(F$2:F$100=C2,ROW($2:$100),6^6),COUNTIF(C$2:C2,C2)))

同时按下CTRL+SHIFT+Enter三键,使数组公式出现{ },公式下拉

第2个回答  2022-07-11

=TEXTJOIN(CHAR(10),,IF(F1:F10=A2,G1:G10,""))

第3个回答  2022-07-11

    如你图所示,以A列仅在 A2:A4 有数据录入为例,则可以C2单元格输入数组公式:

=IFERROR(INDEX(F$1:F$16,SMALL(IF($F$1:$F$16=TRANSPOSE($A$2:$A$4),ROW($A$1:$C$16),9^9),ROW($A1))),"")

复制并下拉和右拉,即可。

数组公式,输入后必须同时按CTRL+SHIFT+ENTER这3个键结束,否则公式无效的

若是你的数据比较庞大,这样的数组公式很可能会导致计算机卡机哦,

则可采用一个辅助列来操作就比较好了…………

本回答被提问者采纳
相似回答
大家正在搜