【Excel-公式】将符合条件的数值由列显示改为行显示

时间:2024-03-30 10:15:54

目的:
将某条件下的数值,由列显示改为排列在一行之内。
案例:
【Excel-公式】将符合条件的数值由列显示改为行显示
方法一:
将左侧的数据一项一项逐一复制,选择性粘贴-转置即可。
如果数据量比较大,这种手工方法还是比较麻烦的。
方法二:
步骤一:
1.1在【C3】单元格中输入公式:
=B3&IFERROR(","&VLOOKUP(A3,A4:C100,3,0),"")
其中,查找范围A4:C100不能使用绝对引用。
原理:将当前单元格中的数字与符合条件的下一个单元格内容相连接。若有错误值,则返回空文本。
因为是数组公式,结束使用组合键Ctrl+Alt+enter。
【Excel-公式】将符合条件的数值由列显示改为行显示
1.2将【C3】单元格的公式向下填充至所有单元格,得到以上结果。
步骤二:
做个辅助表,如下:
【Excel-公式】将符合条件的数值由列显示改为行显示
2.1利用删除重复项等方法,将【分支结构】一列填写完整。
2.2在【F2】单元格中输入公式:
="{"&VLOOKUP(E2,$A2:2:C$26,3,0)&"}"
原理:①利用vlookup函数,在查找区域内,找到符合当前查询条件的第一个数值。
②用数组中才有的大括号{},将查询结果强制连接,做成一个数组形式的文本组合。
③因为是数组公式,最后使用Ctrl+Alt+enter结束。
tip:当查找范围中有多条数据符合查找条件时,vlookup函数只返回第一个值。
2.3将【F2】中的数组公式向下填充至辅助表最后一行。
步骤三:
3.1将数组形式的文本,使用选择性粘贴批量转换为数值型:
【Excel-公式】将符合条件的数值由列显示改为行显示
3.2在目标表中,选中一行多列的单元格(如J3:R3),在编辑栏中输入={1,2,3,4,5,6,7,8,9}
其中“{1,2,3,4,5,6,7,8,9}”是从G3单元个中复制过来的。
【Excel-公式】将符合条件的数值由列显示改为行显示
输入完公式以后,按下组合键Ctrl+Alt+enter,则【F2】单元格中的数组,快速填充到了J3:R3区域:
【Excel-公式】将符合条件的数值由列显示改为行显示
当然,也可以多选择一些单元格,那么按下组合键之后的结果为:
【Excel-公式】将符合条件的数值由列显示改为行显示
不影响我们的最终结果。
将下面的数组也复制过来,这样我们的目标就完成了。
【方法三】
方法二还是需要一行一行的复制,我们可以根据数组的特点,即
①不同列的数值用逗号“,”分开,
②不同行的数值用分号“;”分开,
将F列的数据做成一个大数组:
{1,2,3,4,5,6,7,8,9;10,11,12;13,14,15,16,17}
为了看清楚逗号和分号,我写为下面的形式:
{1,2,3,4,5,6,7,8,9;
10,11,12;
13,14,15,16,17}
这样,我们就可以在目标表中选中一大块区域,输入等号“=”和这个大数组,按下组合键就直接生成了。
如何用分号分隔不同的数组步骤暂略。

完成。