将列数据转换为行数据
使用公式将工作表内一列中的重复项依次移到一行中。具体如下图所示,要将工作表:
转换成工作表:
可以看出,在“数据”工作表中,列A中有些姓名出现1次,有些出现2次,有些出现3次,但在列B中有不同的数据。
现在,需要将“数据”工作表中的数据转换成基于姓名的一行数据,即将与每个姓名相关的列B中的数据放置到单独的一行中。
使用数组公式来解决。在单元格B2中输入公式:
=IFERROR(INDEX(数据!$B$2:$B$7,SMALL(IF(数据!$A$2:$A$7=$A2,ROW(数据!$A$2:$A$7)-ROW(数据!$A$2)+1),COLUMNS($B2:B2))),””)
按Ctrl+Shift+Enter组合键完成输入。结果如下图所示:
将单元格B2向右向下拖动,将公式复制到B2:E4区域后获得所需结果,如下图所示:
公式思路
将列A中的值与“数据”工作表列A中的值相比较,如果相等则获取“数据”工作表中该值所在行的行号,然后根据获取的行号在“数据”工作表列B中找到相应的值并放置在本单元格中,如果没找到则为空。
公式解析
数据!$A$2:$A$7=$A2将单元格A2的值与“数据”工作表列A的值比较,因为前3行都相等,因此结果为:{TRUE;TRUE;TRUE;FALSE;FALSE;FALSE}。
ROW(数据!$A$2:$A$7)-ROW(数据!$A$2)+1获取一个值为1至6的数组:{1;2;3;4;5;6}。
IF(数据!$A$2:$A$7=$A2,ROW(数据!$A$2:$A$7)-ROW(数据!$A$2)+1)的结果为数组{1;2;3;FALSE;FALSE;FALSE}。
COLUMNS($B2:B2)返回当前单元格与B2单元格相间隔的列数,因为当前单元格就在B2,因此返回1。该数值用来作为SMALL函数的参数,获取第k个最小值,即需要第几人数据,从而获取列A值在“数据”工作表中对应的行号。本例中为SMALL({1;2;3;FALSE;FALSE;FALSE},1)。返回第1个最小值,即1。
然后,该值用作INDEX函数的参数:INDEX(数据!$B$2:$B$7,1),获取“数据”工作表列B中相应行的数据,即“数据”工作表单元格B2中的数据。
IFERROR函数用来在没有找到数据时给单元格填充空值,而不是显示错误值。
小结
个人觉得这个例子对于理解数组公式特别有用,值得反复练习与琢磨。
举一反三,本示例也可以用作查找重复值的参考方法。
最新推荐
-
手机剪映怎么删除多余视频片段 剪映怎么删掉部分视频
手机剪映怎么删除多余视频片段?手机剪映是一款强大的视频剪辑工具,它可以对用户们所拍摄的视频进行编辑,比如常 […]
-
win10如何把电脑改为无密码 win10取消开机账户登录的步骤
win10如何把电脑改为无密码?在win10系统中,开机密码可以帮助用户保护自己电脑的安全性。但是时间长了 […]
-
win10访问共享文件要求输入网络凭据 访问共享电脑需要输入网络凭据怎么办
win10访问共享文件要求输入网络凭据怎么办?网络凭据是系统为共享文件设置的一个功能,通过输入凭据,让访问 […]
-
手机剪映如何只导出音频mp3 剪映导出音频mp3
手机剪映如何只导出音频mp3?剪映是一款功能强大的视频编辑软件,通过软件附带的功能,用户可以只需要导出视频 […]
-
edge怎么导入其他浏览器数据 edge浏览器导入chrome浏览器数据
edge怎么导入其他浏览器数据?Edge浏览器是一款电脑自带的浏览器工具,丰富的搜索功能,帮助用户们更好的 […]
-
华硕笔记本的移动热点怎么开启 win10笔记本开热点
华硕笔记本的移动热点怎么开启?通过将电脑设置为移动热点,其他设备可以通过连接到您的电脑热点来共享网络连接。 […]
热门文章
手机剪映怎么删除多余视频片段 剪映怎么删掉部分视频
2win10如何把电脑改为无密码 win10取消开机账户登录的步骤
3win10访问共享文件要求输入网络凭据 访问共享电脑需要输入网络凭据怎么办
4手机剪映如何只导出音频mp3 剪映导出音频mp3
5edge怎么导入其他浏览器数据 edge浏览器导入chrome浏览器数据
6华硕笔记本的移动热点怎么开启 win10笔记本开热点
7wps全部删除页眉页脚怎么删除
8win11默认浏览器怎么更换 win11更换默认浏览器
9剪映自动续费怎么关 剪映app怎么取消自动续费支付宝
10google浏览器怎么添加信任站点 谷歌浏览器给网址添加信任
随机推荐
专题工具排名 更多+