如下图,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))
下拉填充
如你图所示,以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个键结束,否则公式无效的
若是你的数据比较庞大,这样的数组公式很可能会导致计算机卡机哦,
则可采用一个辅助列来操作就比较好了…………