提问人:sabre 提问时间:10/27/2023 最后编辑:Mayukh Bhattacharyasabre 更新时间:10/29/2023 访问量:69
在 Excel 中对数据进行分组和转置
Group and transpose data in Excel
问:
首先,我很抱歉在答案中发布这个问题。
至于这个问题,我有一个 Excel 数据,我需要将列转置为行。
我需要将 A 列中的相同数据与 B 列和 C 列中的相应数据分组。我需要包含这些数据的新表:
(row1) 0041001000053, 2006.10.17, 12, 2007.05.15, 12, 2018.07.15‚ 12
(row2) 0041001000061, 2006.10.17, 12
(row3) 0041001000126, 2006.12.18, 6, 2007.12.18, 6
是否可以在不使用 Power Query 的情况下以这种方式提取它?
我尝试使用 Pivot,但数据集太大(超过 50k 个条目)。简单的转置也不起作用,因为我需要在第 1 行中的唯一条目和其他行中的特定条目。
答:
0赞
Harun24hr
10/27/2023
#1
使用 Microsoft-365 excel,您可以利用功能。尝试-REDUCE()
=HSTACK(UNIQUE(A2:A6),DROP(REDUCE("",UNIQUE(A2:A6),LAMBDA(a,x,IFERROR(VSTACK(a,TOROW(FILTER(B2:C6,A2:A6=x))),""))),1))
评论
0赞
sabre
10/27/2023
非常感谢你,Harun。但是我在工作中使用 Excel 2013,并且收到消息说该函数无效。您有其他解决方案吗?
0赞
Solar Mike
10/27/2023
@Sabre所以做一个 ID 列表并排序,然后使用逻辑测试将重复项替换为空白,然后进行另一次排序,最终会得到一个唯一的列表......采取一些步骤...
0赞
sabre
10/27/2023
谢谢你,迈克。这似乎可以解决问题。问候。
0赞
Black cat
10/29/2023
#2
这两个公式适用于较旧的 Excel 版本。
在单元格 D2 和 E2 中
=IF($A2=$A1,"",IF($A2=OFFSET($A2,COLUMN(D2)-3-(COLUMN(D2)-COLUMN($D2))/2,0),OFFSET($A2,COLUMN(D2)-3-(COLUMN(D2)-COLUMN($D2))/2,1),""))
=IF($A2=$A1,"",IF($A2=OFFSET($A2,COLUMN(D2)-3-(COLUMN(D2)-COLUMN($D2))/2,0),OFFSET($A2,COLUMN(D2)-3-(COLUMN(E2)-COLUMN($E2))/2,2),""))
然后根据需要将两个单元格(一起)向右复制。
然后向下复制该行(填充的 D2 到 D 端)。
然后,在数据列 A 上设置唯一筛选器。
评论