发布网友 发布时间:2022-04-25 15:59
共2个回答
热心网友 时间:2023-10-15 09:28
看来题主的Excel函数还是掌握得很不错的,可惜没把以前用过的函数记起来,很希望能记起来,并给出是什么是公式,也好供大家学习下。本人想到了offset,但只能是很有规律才行,对于截图所示的数据来说,是满足的。但实际中的数据是很难这么有规律的吧,班级人数有多有少,公式就不那么好整了。
而对于比较普遍的数据,对于这种不规范的原数据,用Power Query进行清洗倒是一个不错的方法:
先选择一个区域(A1:F3),数据菜单——获取或转换数据——自表格或区域,弹出的对话框中,去掉“表格包含标题”的对勾(因为没有标题)后确定。启动Power Query,Power Query中选择所有列,转置,将数据的行转置成列,列转置成行。然后文件菜单——关闭并上载至,选择“仅创建连接”,关闭Power Query。重复操作,把所有区域(截图中是4个)均进行行列转置。
然后在打开创建的查询:连接1(默认名:表1,截图中因原来另有表1、表2的查询,所以本问题对应的查询是表3到表6),在Power Query的开始菜单中选择追加查询,并选择追问为新查询,高级,把另外3个查询(表4~表6)都添加进来,就把4个区域转置后的数据合并了。修改标题名称后,文件菜单中选择“关闭并上载至”,选择“表”并选择在“现有工作表”(也可以在新工作表中)的某个单元格为合并后数据单元格。Power Query中合并后的数据将导入到Excel的工作表中。
热心网友 时间:2023-10-15 09:29
见样表截图,H1输入
=OFFSET($A$1,3*INT((ROW(A1)-1)/6)+COLUMN(A1)-1,MOD(ROW(A1)-1,6))
公式右拉下拉