- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试在 Stackoverflow 和 Google 上搜索此问题的答案,但尚未找到。我认为我的部分问题是我不确定我想要做的事情的关键字是什么。
我的数据看起来像这样:
ID Var1 Var2 Name
01 0001 0002 Bill
01 0001 0002 Jim
01 0001 0002 Sally
02 0003 0004 Sam
02 0003 0004 Kyle
您将看到我有多行具有相同的 ID 和相同的 Var1 和 Var2,但每行都有唯一的名称。我想“展平”这些行,这样每个 ID 只有一行,并且每行都有适合所有数据所需的尽可能多的“名称”列。
像这样:
ID Var1 Var2 Name1 Name2 Name3
01 0001 0002 Bill Jim Sally
02 0003 0004 Sam Kyle
有谁知道如何做到这一点或它叫什么?
谢谢!
根据评论更新:我的数据源是 .csv 文件,我正在尝试使用 Excel 对其进行操作。 Excel 宏或 VBA 解决方案是最好的。不幸的是,我的 SQL 非常初级,因此学习应用 SQL 解决方案会非常耗时。
最佳答案
使用变体数组和字典对象,这样的事情非常快
代码将输出从 A1:Dx
转储到 F1
更新:固定名称数字
Sub ReCut()
Dim X
Dim Y
Dim C
Dim lngRow As Long
Dim lngCol As Collection
Dim lngCnt1 As Long
Dim lngCnt As Long
Dim objDic As Object
Set objDic = CreateObject("scripting.dictionary")
X = Range([a1], Cells(Rows.Count, "C").End(xlUp)).Value2
Y = X
ReDim Y(1 To UBound(Y), 1 To 100)
For lngCnt1 = 1 To (UBound(Y, 2) - 3)
Y(1, lngCnt1) = "Name" & lngCnt1
Next
For lngRow = 1 To UBound(X, 1)
If objDic.exists(X(lngRow, 1) & X(lngRow, 2) & X(lngRow, 3)) Then
'find first blank entry in relevant array row
C = Split(Join(Application.Index(Y, lngCnt), "| "), "|")
Y(lngCnt, Application.Match(" ", C, 0)) = X(lngRow, 4)
Else
lngCnt = lngCnt + 1
Y(lngCnt, 1) = X(lngRow, 1)
Y(lngCnt, 2) = X(lngRow, 2)
Y(lngCnt, 3) = X(lngRow, 3)
Y(lngCnt, 4) = X(lngRow, 4)
objDic.Add X(lngRow, 1) & X(lngRow, 2) & X(lngRow, 3), lngCnt
End If
Next
[f1].Resize(UBound(Y, 1), UBound(Y, 2)) = Y
End Sub
关于excel - "Flatten"多行包含不同的数据,但对单行有共同的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17748781/
所以,我有一个类似于 this one 的用例,但我觉得有一些额外的细节值得提出一个新问题。 ( related questions ,供引用) 我正在编写一个实现 a cycle 的数据结构.基本设
我正在使用 Django 编写一个社交网络应用程序,需要实现类似于 Facebook“Mutual Friends”概念的功能。我有一个像这样的简单模型: class Friend(models.Mo
我有一个 iOS 应用程序,用户可以在其中使用 Facebook 登录并授予 user_friends 权限。从 Graph API 2.0 开始,Facebook 声称你无法获取两个人之间所有的共同
我想知道将来对我来说最简单的方法是什么,可以使查询既有效又不那么复杂。 我应该像这样保存双向关系吗 from_id=1, to_id=2from_id=2, to_id=1 或者只创建一个唯一的行 f
我是一名优秀的程序员,十分优秀!