将列数据转换为行数据
使用公式将工作表内一列中的重复项依次移到一行中。具体如下图所示,要将工作表:
  
转换成工作表:
  
可以看出,在“数据”工作表中,列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函数用来在没有找到数据时给单元格填充空值,而不是显示错误值。
小结
个人觉得这个例子对于理解数组公式特别有用,值得反复练习与琢磨。
举一反三,本示例也可以用作查找重复值的参考方法。
最新推荐
- 
                                
                                    excel怎么把一列数据拆分成几列 excel一列内容拆分成很多列  excel怎么把一列数据拆分成几列?在使用excel表格软件的过程中,用户可以通过使用excel强大的功能 […] 
- 
                                
                                    win7已达到计算机的连接数最大值怎么办 win7连接数达到最大值  win7已达到计算机的连接数最大值怎么办?很多还在使用win7系统的用户都遇到过在打开计算机进行连接的时候 […] 
- 
                                
                                    window10插网线为什么识别不了 win10网线插着却显示无法识别网络  window10插网线为什么识别不了?很多用户在使用win10的过程中,都遇到过明明自己网线插着,但是网络 […] 
- 
                                
                                    win11每次打开软件都弹出是否允许怎么办 win11每次打开软件都要确认  win11每次打开软件都弹出是否允许怎么办?在win11系统中,微软提高了安全性,在默认的功能中,每次用户 […] 
- 
                                
                                    win11打开文件安全警告怎么去掉 下载文件跳出文件安全警告  win11打开文件安全警告怎么去掉?很多刚开始使用win11系统的用户发现,在安装后下载文件,都会弹出警告 […] 
- 
                                
                                    nvidia控制面板拒绝访问怎么办 nvidia控制面板拒绝访问无法应用选定的设置win10  nvidia控制面板拒绝访问怎么办?在使用独显的过程中,用户可以通过显卡的的程序来进行图形的调整,比如英伟 […] 
热门文章
excel怎么把一列数据拆分成几列 excel一列内容拆分成很多列
2win7已达到计算机的连接数最大值怎么办 win7连接数达到最大值
3window10插网线为什么识别不了 win10网线插着却显示无法识别网络
4win11每次打开软件都弹出是否允许怎么办 win11每次打开软件都要确认
5win11打开文件安全警告怎么去掉 下载文件跳出文件安全警告
6nvidia控制面板拒绝访问怎么办 nvidia控制面板拒绝访问无法应用选定的设置win10
7win11c盘拒绝访问怎么恢复权限 win11双击C盘提示拒绝访问
8罗技驱动设置开机启动教程分享
9win7设置电脑还原点怎么设置 win7设置系统还原点
10win10硬盘拒绝访问怎么解决 win10磁盘拒绝访问
随机推荐
专题工具排名 更多+

 
  
									
                                 
  
									
                                 
  
									
                                 
  
									
                                 闽公网安备 35052402000376号
闽公网安备 35052402000376号