将包含不同数据但具有公共引用的多行“展平”为单行

2023-12-29

我尝试在 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

有谁知道如何做到这一点或它叫什么?

Thanks!

根据评论更新: 我的数据源是 .csv 文件,我正在尝试使用 Excel 对其进行操作。 Excel 宏或 VBA 解决方案是最好的。不幸的是,我的 SQL 非常初级,因此学习应用 SQL 解决方案会非常耗时。


使用变体数组和字典对象,这样的事情非常快

该代码转储输出A1:Dx to 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将包含不同数据但具有公共引用的多行“展平”为单行 的相关文章

  • MS Office SaveAs 类型 FileDialog 在 vb 中带有过滤器

    我想创建一个带有过滤器的 另存为 文件对话框 但这似乎无法使用 FileDialog 类 Microsoft Office 12 0 对象库 实现 文档实际上提到了这一点here http msdn microsoft com en us
  • 使用VBA删除Excel中的非重复数据

    我尝试删除非重复数据并保留重复数据 我已经完成了一些编码 但什么也没发生 哦 这是错误 哈哈 这是我的代码 Sub mukjizat2 Dim desc As String Dim sapnbr As Variant Dim shortDe
  • 如何用线条在一个Excel散点图中绘制多个分组数据

    我在 Excel 中的一张图表 带线的散点图 中绘制分组数据 按索引 时遇到一些困难 我将非常感谢您的帮助 我的数据分为三列 第一列是数据或组的索引 即每组数据的唯一编号 第二列是时间 第三列是数据 Group Time Data 1 1
  • 使用 SpreadsheetLight 进行行计数

    我正在寻找一个类似于 DataTable Rows Count 的函数 它可以与 SLDocument 一起使用来找出有多少行中有数据 SpreadsheetLight 中有可用的东西吗 还有其他方法可以实现这一目标吗 Brendan SL
  • 如果单元格包含 1 个或多个关键字,则更改不同单元格的值

    我有一个列 其中包含一些字符串描述 例如 Bob davids mowing the lawn tipping cows 此外 我将在不同的工作表或列上列出关键字列表 例如工作关键字列表1 davids work 播放关键字列表 mowin
  • 在 Excel 工作簿中找不到链接

    我编写了一个宏来打开多个受密码保护的工作簿 这些工作簿彼此之间都有链接 因此为了方便起见 我设置了UpdateLinks 0这样在其他书籍打开之前 我就不会收到所有链接更新的密码提示 所有工作簿打开后 我尝试使用以下命令更新链接 Workb
  • Excel动态数组运行重复项计数

    我一直在重新设计一些旧的电子表格工具 以便使用 Excel 的较新工具来过滤和格式化动态数据输出动态数组公式 https support microsoft com en us office dynamic array formulas a
  • 是否有任何公式可用于将特定单元格复制指定次数?

    目前我正在处理一份数据 其中我有一个公司名称列表 例如 1 A 2 B 3 C 还有很多 需要的结果是 1 A 2 A 3 A 4 A 5 A 6 B 7 B 8 B 9 B 10 B 11 C 12 C 13 C 14 C 15 C 等等
  • 从嵌入的谷歌地图中提取标记坐标

    对此还很陌生 所以请耐心等待 我需要从嵌入的谷歌地图中提取标记坐标 示例链接是http www picknpay co za store search http www picknpay co za store search我想提取搜索时地
  • CURL 相当于使用 VBA 的 POST JSON 数据

    我知道这与之前提出的一些问题类似 但有些东西仍然对我不起作用 如何执行以下命令 curl X POST data statements json H Content Type application json user username p
  • Outlook 中用于删除重复电子邮件的宏 -

    Public Sub RemDups Dim t As Items i As Integer arr As Collection f As Folder parent As Folder target As Folder miLast As
  • xlwt 可以在单元格中创建一个包含标题和链接变量的超链接吗?

    例如 如何更改以下行 使 test 为变量 T 且 http google com http google com 是变量L ws write 0 0 xlwt Formula test HYPERLINK http google com
  • java.exe 以非零退出值 1 结束

    只是为了开始 我并不是真正尝试从 Android 中的 xlsx 文件中读取单元格 我已经尝试了几乎所有我在 Google 上搜索到的内容 但是每次 在两台不同的 PC 上 都是 Java 1 7 0 79 当我尝试构建 运行 这个应用程序
  • 无法使用 Excel JavaScript API 设置 NumberFormat

    我正在使用 Excel Javascript API 在搜索文档后 仍然找不到我想要实现的解决方案 因此 我想将所有内容设置为数字格式 文本 这样 Excel 的自动格式设置就不会与任何单元格的内容混淆 不会删除前导零或更改日期格式 文档建
  • 获取给定日期的周数

    例子 DD MM YYYY 1 1 2009 should give 1 31 1 2009 should give 5 1 2 2009 should also give 5 Format 1 2 2009 ww 回报6 那么 怎样才能得
  • 如何从另一个 Excel 实例引用工作簿

    我相信我的问题相当简单 我有一个工作簿 我正在使用它从另一个软件 SAP 获取一些数据 当我从软件导出数据时 它会自动打开一个 xlsx 文件 然后我需要做的是从该文件复制一些数据 粘贴到我的原始工作簿上 然后关闭该文件 我的代码中给我带来
  • 如何暂停特定时间? (Excel/VBA)

    我有一个 Excel 工作表 其中包含以下宏 我想每秒循环一次 但如果我能找到执行此操作的函数 那就很危险了 难道不可能吗 Sub Macro1 Macro1 Macro Do Calculate Here I want to wait f
  • 参考上一个问题:为什么 VBA 没有加载所有发票详细信息

    除了上一个问题之外 我们在销售发票上仍然存在相同的加载失败问题 下面的 VBA Json 仍然仅加载一行或第一个产品详细信息行 而不是与表中该销售发票合作的所有产品行详细信息 我们希望下面的 VBA 能够根据参数加载发票详细信息 例如 如果
  • 索引匹配不起作用

    对于下表 如果 A 列和 B 列都匹配 如何检索 C 列A 列 B 列 C 列城市 1 城市 10 本地城市 2 城市 21 远程城市 3 城市 1 远程城市 4 城市 2 本地 我尝试使用索引和匹配 但得到 N A Enter as an
  • 如果一个数字写在方括号中,例如[5],这意味着什么

    我正在开发一个旧版 VBA Excel 应用程序 并偶然发现了一些代码行 其中长字符串 从文件中读取 被切成碎片 这些行看起来像这样 Range E16 Value Mid line 49 6 显然 写 6 意味着需要 6 个字符 但我从未

随机推荐

  • 数值回归测试

    我正在编写科学计算代码 用 C 编写 除了对较小的组件执行单元测试之外 我还想通过与 已知良好 的比较来对某些数值输出进行回归测试之前修订版的答案 我想要一些功能 允许将数字与指定的容差进行比较 对于舍入误差和宽松的期望 能够区分整数 双精
  • 带有 css 多列的有序列表号

    我正在使用默认编号创建一个有序列表 该列表将超过 300 个 我使用 css column count 将列表分为几列 但默认列表编号仅适用于第一列 有没有办法获得多列中整个列表的编号 请检查FIDDLE https jsfiddle ne
  • 为什么我收到“未定义不是对象(评估 PropTypes.shape)”?

    每当我尝试运行我的iOS模拟器 我收到这个错误 所有模块均已安装 图片的文件路径正确 除了模拟器中出现的错误外 IDE 中没有抛出任何错误 下图为错误 Here s Login js import React Component from
  • 如何返回 R 中序列的行索引? [复制]

    这个问题在这里已经有答案了 我正在尝试找到序列的行位置 我的意思是 x lt c 1 1 y lt c 1 1 1 0 1 0 0 match x y 1 2 1 为什么不返回 2 3 这就是我想要它做的 如果我这样做 y lt c 0 1
  • 为 Android HTTP 请求创建 Google HTTP 传输对象

    我正在创建一个 Android 应用程序并尝试通过 Google API 客户端使用 Google Places API 我一直在关注这个例子 http ddewaele blogspot com 2011 05 introducing g
  • Ajax 功能在移动浏览器上无法使用

    您好 感谢您查看此内容 对 jQuery ajax 等非常陌生 该网站可以通过 FTP 访问相应的服务器 因此我 据我所知 没有违反跨域策略 该网站在任何桌面浏览器上都可以正常工作 但不适用于任何移动浏览器 我觉得问题很明显 但我不知道该怎
  • 我可以从该字典的枚举循环中删除 ConcurrentDictionary 中的项目吗?

    例如 ConcurrentDictionary
  • Kubernetes 设置 Flannel Pod 网络

    我正在跟进本指南 https linuxconfig org how to install kubernetes on ubuntu 18 04 bionic beaver linux关于如何设置 kubernetes 群 我的群将如下 1
  • 实时时间序列数据中的峰值信号检测

    Update 性能最佳的算法so far 是这个吗 https stackoverflow com questions 22583391 peak recognition in realtime timeseries data 226403
  • 列出当前在 Google 云存储中的监视存储桶上设置的频道通知

    有谁知道如何列出当前在谷歌云存储中监视的存储桶上设置的通知 创建通道后必须有某种方法来获取通道和资源标识符 目前无法列出存储桶上的通知通道 如果您在创建时没有存储通道和资源标识符 您可以在请求标头中找到它们附加到传递到应用程序的通知消息中
  • 使用 UICollectionViewCell 上的按钮显示数组中的数据

    我有一个数组NSStrings one UILabel AUICollectionView 我的问题 我想要数组的计数来确定有多少UICollectionViewCell 有吗 Each UICollectionViewCell包含一个按钮
  • Xcode 9.2 中出现“警告:无法为签名者构建到自签名根的链”警告

    我正在尝试将 Xcode 项目迁移到另一台计算机 它向我发出警告 警告 无法为签名者构建到自签名根的链 并且当它运行时 它会立即崩溃 类似于此堆栈溢出中显示的内容 应用程序在模拟器上运行 但在 iPhone 上不起作用 dyld abort
  • 在 ASP.Net 中获取会话 ID

    如何获取当前所有会话的 ID 要获取会话 ID 请执行以下操作 In a user control or page string sessionId this Session SessionID In a normal class runn
  • CUDA:停止所有其他线程

    我有一个问题 似乎可以通过枚举所有可能的解决方案然后找到最佳解决方案来解决 为此 我设计了一种回溯算法 可以枚举并存储找到的最佳解决方案 到目前为止效果很好 现在 我想将此算法移植到 CUDA 中 因此 我创建了一个生成一些不同的基本案例的
  • 为什么 NotImplemented 不引发 TypeError?

    假设我定义一个类A我不希望任何人写出该类别的不等式而无法逃脱 class A def ne self other return NotImplemented print A A 但这打印出来True并且不会引发TypeError虽然我故意
  • 在 MySQL 中查找列上具有相同值的行

    在 member 表中 某些行具有相同的值email column login id email john email protected cdn cgi l email protection peter email protected c
  • 导入错误:没有名为六的模块;已安装六个

    我在 Mac OS X El Capitan 上运行 python 3 6 我正在尝试运行使用六个模块的代码 但收到以下错误 ImportError No module named six 当我搜索六个时 似乎没有问题 并且我已确保该位置包
  • .net core实体框架(EF Core)表命名约定

    net core实体框架 EF Core 表命名约定复数到单 简单 下划线 成为以下人士的粉丝single simple underscore表名的命名约定 我觉得这种方式不舒服EF core正在命名表Plural PascalCase M
  • 如何将 mongo 命令结果保存到平面文件中

    如何将 MongoDB 命令的结果导出到平面文件 例如 如果我要得到db collectionname find 到平面文件中 I tried db collectionname find gt gt test txt 似乎不起作用 您可以
  • 将包含不同数据但具有公共引用的多行“展平”为单行

    我尝试在 Stackoverflow 和 Google 上搜索此问题的答案 但尚未找到 我认为我的部分问题是我不确定我想要做的事情的关键字是什么 我的数据看起来像这样 ID Var1 Var2 Name 01 0001 0002 Bill