如何检索字符串中特定值的所有出现位置?

如何检索字符串中特定值的所有出现位置?

我正在查看一本 Excel 工作簿,其中有从相邻工作表引用的列(最多 135 个)的潜在定义。

例如,工作表 1:列 C(工作表 2 中定义的值 0-134)

例如 0,1,8 第 1 页 C 列中的每一行都可以有任意以逗号分隔的值组合。

想象一下一个工作簿,其中有两个工作表,分别名为“学生”和“团队名称”。工作表“团队名称”中的每一行都列出了一个团队的 ID。一名学生可以加入多个团队。

假设有 3 支球队,他们将出现在 Sheet '团队名称' 作为

A1=10

A2 = 20

A3=30。

现在假设有 4 名学生的学号出现在 Sheet '学生' 因为 A1 = 13, A2=27, A3=43, A4=53。

卷号 13胶束B10、20、30

卷号27胶束B30、10

卷号53胶束B20

卷号43胶束B30、20

这里的目的是设置一个公式,使得在工作表中“团队名称”

10胶束B2

20胶束B3

三十胶束B3

Sheet 2 必须维护每个值出现的统计数据。这是使用 COUNTIF 完成的。这里的问题是 COUNTIF 不能很好地处理嵌入值。这样做后,上例中对“1”的引用将不会出现。

如果不借助子程序怎样才能做到这一点?

答案1

如果你在 Sheet2 的 A2 中有值列表,请尝试使用此公式对 B2 进行计数

=SUMPRODUCT(ISNUMBER(FIND(","&A2&",",","&Sheet1!C$2:C$1000&","))+0)

将公式复制到下列

假设 Sheet1 中有最多 1000 行数据,请根据需要进行调整

更新

上面的假设数据仅由逗号分隔(没有空格),但根据您的示例,假设分隔符是 [逗号][空格] 一起,然后根据您的评论尝试此修订版本

=SUMPRODUCT(ISNUMBER(FIND(" "&A1&","," "&students!B$1:B$4&","))+0)

相关内容