Excel formula 计算通过匹配创建的范围内的文本字符串

Excel formula 计算通过匹配创建的范围内的文本字符串,excel-formula,Excel Formula,我将研究数据的不同部分、不同的电子表格合并到单个excel的一个选项卡中 用于将数据匹配在一起的标准是研究参与者的ID a 4个字符的字符串,例如RXGJ。不幸的是,数据的每个部分都有不同的结构。主要数据以长格式组织,因此每个参与者有3行,对应3次访问。我成功地将这些数据与仅在一次访问中收集的数据进行了匹配,即从其他电子表格中收集的生物性别数据 这是我的问题:其中一个选项卡每个参与者有18行,记录使用标准文本字符串编码的其他生活事件。我想根据研究参与者的ID计算每种类型事件发生的次数。我想我需要

我将研究数据的不同部分、不同的电子表格合并到单个excel的一个选项卡中

用于将数据匹配在一起的标准是研究参与者的ID a 4个字符的字符串,例如RXGJ。不幸的是,数据的每个部分都有不同的结构。主要数据以长格式组织,因此每个参与者有3行,对应3次访问。我成功地将这些数据与仅在一次访问中收集的数据进行了匹配,即从其他电子表格中收集的生物性别数据

这是我的问题:其中一个选项卡每个参与者有18行,记录使用标准文本字符串编码的其他生活事件。我想根据研究参与者的ID计算每种类型事件发生的次数。我想我需要根据主数据和另一个选项卡上18行生活事件中的每一行的共同研究ID创建一系列单元格/数组,然后使用COUNTIFS计算每个文本字符串的发生次数。我遇到的问题是匹配在第一个匹配的参与者ID处停止,而我需要覆盖ID匹配的所有单元格,然后计数。。。有什么想法吗

非常感谢,, 蒂姆为什么不工作?您希望根据两组条件计算事件的数量,对吗?这应该行得通

或者,您可以使用SumProduct获得一些特定的结果

在下面的屏幕截图中,我使用:=SUMPRODUCTA1:A10=E1*LEFTB1:B10,1=T来获取ID为200的所有值,b列有一个以T开头的值。您应该能够根据需要修改它


使用Excel的获取和转换数据功能(也称为Power Query)可以非常轻松地完成这项工作

如果数据尚未采用表格格式,请将其格式化为表格。要执行此操作,请高亮显示单元格范围,然后按Ctrl+T。然后功能区上会打开一个新选项卡,您将看到一个框,可以在其中命名表格。在本例中,我有三个名为1 t_UniqueParticipants 2 t_visitsby participant 3 t_lifeevents by participant的表

听起来您的一个表中每个参与者只有一行。你应该以此为基础

然后在第一个表格中选择一个单元格,然后从功能区转到“数据>获取并转换数据>来自表格”。然后,查询编辑器将在新窗口中打开

到目前为止,您需要做的唯一一件事是转到“关闭并加载”>“关闭并加载到”。然后,查询编辑器窗口将关闭,并打开一个对话框

在“导入数据”对话框中,仅创建连接,加载到数据模型,确定

对需要匹配的每个表重复此操作

然后从转到数据>数据工具>创建关系>新建。然后选择唯一的参与者表和底部的参与者ID,以及其他一个表和参与者ID字段,然后单击OK

对其他表重复此操作。请记住,唯一的参与者表位于底部

一旦你完成了,它看起来像这样。单击关闭

现在,您可以插入一个透视表来聚合所有表中的数据。从此工作簿的数据模型中插入>透视表>。选择希望透视表移动的位置>确定

现在,您可以用任何喜欢的方式设计透视表。只需确保从连接到数据模型的表中提取字段,这些表旁边有一个小的数据模型图标。此示例显示了唯一参与者表中的参与者ID以及生命事件表中的生命事件字段


请上传一张数据截图好吗?嘿@jenn,看起来像是被保释了。我给你一个“好”是因为你似乎付出了一些努力,因为我正试图赢得“我是一个优秀的F!$”体育精神很差。干杯嗨@Jenn,非常感谢您的全面回复。。。最后我选择了COUNTIFS,因为它提供了一个更直接的解决方案。下次我将发布一个截图/数据示例,因为这可能有助于其他人回复。但我真的很感谢你的帮助:谢谢@PGCodeRider@Jenn另外,你通常会做很多截图,这很好。然而,这些粉红色的鼠标绘制的颜色可以改进。也许下载Jing可以获得一个免费的工具,让你看起来更专业?我用它来回答我的几个问题。谢谢@PGCodeRiderHi@PGCodeRider的建议,谢谢你的建议。。。这是最简单的一个,它的工作!我感谢大家的意见,不过,你们真是太棒了:蒂姆