在Excel中查找单元格中循环词的频率和位置

我怎样才能find()一个单词中一个单词的第N次出现的位置?

例:

Humpty Dumpty sat on a wall. Humpty had a great fall. 

在上面我想find“Humpty”这个词的总发生位置。

预期结果:

 Occurances location 1 1 2 30 

有什么方法可以了解上述情况?

如果目标单词出现的次数超过2次,我想使用第二次出现的位置并进一步计算。

谢谢!

不使用vba,你可以使用这个公式:

 =IFERROR(FIND($B$2,$B$1,1+IFERROR(VALUE(B4),0)),"not found") 

基本上说:

在示例文本( Humpty dumpty etc.. )中find目标( Humpty ),并开始从下一个位置search到最后find的位置。 如果没有find更多的目标文本,则返回not foundIFERROR(VALUE(B4),0))可以防止第一次search的错误,它应该始终从位置1开始,但是需要忽略检查location标签的事实。

以下是实现的截图:

在这里输入图像说明

另一个scheme

 =IFERROR(FIND("@@@",SUBSTITUTE($A$1,$B$4,"@@@",$A6)),"") 

见图像以供参考:

在这里输入图像说明