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

时间:2019-06-23 13:44:00

标签: excel-formula

我将研究数据的不同部分(不同的电子表格)合并到单个excel的一个标签中。

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

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

非常感谢, 蒂姆

2 个答案:

答案 0 :(得分:1)

这可以通过Excel的“获取和转换数据”功能(也称为Power Query)轻松完成。

如果数据尚未采用表格格式,则将其格式化为表格。为此,突出显示单元格的范围,然后按Ctrl + T。然后将打开功能区上的新标签,您会看到一个可以在其中命名表格的框。在此示例中,我有三个表,分别为1)t_UniqueParticipant 2)t_VisitsByParticipant 3)t_LifeEventsByParticipant

enter image description here

听起来您的一张桌子的每个参与者只有一行。您应该以此为依据。

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

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

enter image description here

在“导入数据”对话框中,仅创建一个连接,“加载到数据模型,好的。”

enter image description here

为您需要匹配的每个表重复此操作。

然后从转到“数据”>“数据工具”>“创建关系”>“新建”。然后选择唯一参与者表和参与者ID(位于底部),选择其他表之一和参与者ID字段,然后单击确定。

enter image description here

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

enter image description here

完成后,它看起来像这样。单击关闭。

enter image description here

现在,您可以插入数据透视表以汇总所有表中的数据。插入>数据透视表>来自此工作簿的数据模型。选择您希望数据透视表转到的位置>好。

enter image description here

现在,您可以按照自己喜欢的任何方式设计数据透视表。只需确保从连接到数据模型的表中拉出字段,这些表旁边就有一个小数据模型图标。此示例显示“唯一参与者”表中的参与者ID和“生活事件”表中的“生活事件”字段。

enter image description here

答案 1 :(得分:0)

CountiF's为什么不起作用?您要根据两组条件来计算事件的数量,对吗?这应该起作用。

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

在下面的屏幕截图中,我使用了:=SUMPRODUCT((A1:A10=E1)*(LEFT(B1:B10,1)="T"))以获取ID_200的所有值,并且列b的值以“ T”开头。您应该能够根据需要进行修改。

enter image description here

相关问题