计算单元格中的单词,不计算HTML标记

时间:2017-02-28 11:06:38

标签: excel excel-formula

我在Excel单元格中有HTML代码。

如何计算不在{​​{1}}和<

之间的所有字词

或者,如何计算>>

之间的所有字词

我想得到一些单词,这些单词不是HTML标签,类,属性等。我有A1代码,如:

<

在B1中计算后,我希望得到7,作为一些干净的单词<div class="x" style="padding:0px;">Lorem <strong>ipsum</strong> <i>bla</i> <a href="#" title="xmix" target="_blank">opana</a> test <span>word</span> bla</div>

1 个答案:

答案 0 :(得分:0)

我喜欢挑战,所以这是问题的公式解决方案。此版本仅接受&lt;,&gt;和空间作为分隔符:如果能够处理逗号,句号等等,那就太难了。

算法是

If current character is <, extract all characters up to next >
If current character is " ", extract all characters up to next non-space
If current character is any other character, extract all characters up to next space or <.

Then count number of strings starting with an alpha character.

公式是

=IF(LEFT(MID($A$1,SUMPRODUCT(LEN($C$1:C1))+1,LEN($A$1)),1)="<",
MID(MID($A$1,SUMPRODUCT(LEN($C$1:C1))+1,LEN($A$1)),1,FIND(">",MID($A$1,SUMPRODUCT(LEN($C$1:C1))+1,LEN($A$1))&">")),
IF(LEFT(MID($A$1,SUMPRODUCT(LEN($C$1:C1))+1,LEN($A$1)),1)=" ",
MID(MID($A$1,SUMPRODUCT(LEN($C$1:C1))+1,LEN($A$1)),1,FIND(LEFT(TRIM(MID($A$1,SUMPRODUCT(LEN($C$1:C1))+1,LEN($A$1)))),MID($A$1,SUMPRODUCT(LEN($C$1:C1))+2

,LEN($ A $ 1)))),     MID(MID($ A $ 1,SUMPRODUCT(LEN($ C $ 1:C1))+ 1,LEN($ A $ 1)),1,AGGREGATE(15,6,SEARCH({“”,“&lt;”}, MID($ A $ 1,SUMPRODUCT(LEN($ C $ 1:C1))+ 2,LEN($ A $ 1))&amp;“”),1))))

并获得计数

=COUNTIF(C2:C100,">=a")

第二个辅助列(D列)不是必需的,但作为检查包括在内。

enter image description here