我在这里通过在Excel中使用SEARCH或FIND找到了类似的想法,但这些似乎更多的是关于找到关键字的位置,而不是计算它出现的次数。
我有一张快照列表的CSV。每个镜头都与一个序列相关联,每个镜头都有一组“标签”(这是文本字符串)。请参阅下面的示例:
我想跟踪两个主要关键词:“dog”和“fox”。每个序列有多个镜头,我的目标是弄清楚每个序列有多少个镜头有“dog”标签,有多少镜头有“fox”标签。我需要的公式是突出显示为黄色的列,并且我已手动输入前几个要素以了解应该在哪个数字。填好之后,我可以计算每个序列的比例,其中“狗”或“狐狸”的标记更多。
我不能在Excel中使用文本到列来轻松分解文本字符串列,因为每个列都包含不同的标记系列(我的示例文本有点说明)。
如果文本列中只有“dog”或“fox”,我已经找到了一个简单的公式来计算我想要的数量,但是我无法弄清楚如何让Excel在文本中找到一个单词字符串并计算它。
=SUMIFS(D:D,B:B,1,F:F,"dog")
1是序列号,其余列引用我的较大数据表。
任何帮助都将非常感谢!!
编辑: 这里以文本形式表格(抱歉格式化,无法从工作ATM上传文件):
COUNTER SAMPLE DATA
Sequence Total Fox Total Dog Total Entries Ratio Fox Ratio Dog Sequence Shot Text
1 2 2 4 0.5 0.5 1 mov_101 The quick brown fox
2 3 2 5 0.6 0.4 2 mov_102 jumps over the lazy dog
3 4 3 mov_103 The fox and the hound
4 2 4 mov_104 fox news
5 3 5 mov_105 I am a dog
1 mov_106 The fox and the hound
2 mov_107 jumps over the lazy dog
3 mov_108 The fox and the hound
4 mov_109 jumps over the lazy dog
5 mov_110 I am a dog
1 mov_111 jumps over the lazy dog
3 mov_112 The fox and the hound
5 mov_113 The fox and the hound
2 mov_114 jumps over the lazy dog
2 mov_115 fox news
1 mov_116 I am a dog
3 mov_117 I am a dog
2 mov_118 The fox and the hound
答案 0 :(得分:1)
有人可能会有比这更好的解决方案,但我在寻找类似的功能之前就已经使用过了,但找不到它。
=(LEN([textcell]) - LEN(SUBSTITUTE([textcell], [wordcell], ""))) / LEN([wordcell])
这样做是比较原始字符串的长度,以及删除了搜索字的字符串的长度。将它除以单词的长度,给出删除的次数。
所以给出以下内容:
fox dog search
1 0 The quick brown fox
0 1 jumps over the lazy dog
A2上的公式是
=(LEN($C2) - LEN(SUBSTITUTE($C2,A$1, ""))) / LEN(A$1)
不需要美元符号,但是我可以将公式复制到所有4个单元格。
答案 1 :(得分:1)
您已接近,您需要使用 COUNTIFS
而不是 SUMIFS
来获取序列计数。并使用 "*"
围绕 fox
和 dog
来考虑周围的单词。
以下是我用来获取狐狸数量的公式:
=COUNTIFS($H:$H,$A2,$J:$J,"*fox*")
将此公式放在单元格 B2
中并向下拖动。
同样,下面的公式将为您提供每个序列的狗数:
=COUNTIFS($H:$H,$A2,$J:$J,"*dog*")
将此公式放在单元格 C2
中并向下拖动。
所以我尝试复制你的数据,这就是我用过的东西:
如果您有任何疑问,请告诉我。
答案 2 :(得分:0)