目标是在包含段落的单元格旁边的单元格中显示单词计数,如下所示:
| text | word_count |
|------------------------------------------------------------------------|------------ |
| Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut ut. | 120 |
| Suspendisse a lacus elementum, auctor lorem et, convallis quam. | |
| Mauris facilisis sollicitudin orci, sed auctor dui blandit sit amet. | |
| Interdum et malesuada fames ac ante ipsum primis in faucibus. | |
| Nunc ut lacinia mauris. Pellentesque lobortis pretium convallis. | |
| Cras in condimentum elit. Integer pellentesque nibh diam. | |
| Praesent a erat molestie purus luctus malesuada volutpat. | |
| Lorem ipsum dolor sit amet, consectetur adipiscing elit. | |
| Suspendisse et lorem non neque sodales viverra et risus.. | |
| Pellentesque tincidunt rhoncus enim sit amet tempor. | |
| Pellentesque non leo non purus eleifend dapibus sit. | |
| Sed fermentum lectus vel dapibus euismod. Aenean ante | |
| nisl, sagittis ut mauris sed, congue imperdiet lectus. Nam | |
| rutrum condimentum sapien a feugiat amet a orci. | |
有效词是:
我要在word_count单元格中输入什么公式?
到目前为止已完成的工作:
就是这样:=COUNTA(SPLIT(A2, ” “))
答案 0 :(得分:1)
我想出了一个(丑陋的)解决方案,但我认为至少可以奏效
=COUNTA(SPLIT(REGEXREPLACE(A1, "([^\s].{2}[^\s]*)|([^\s].*$)", "randomToken")," "))
说明:包含数据a asdad sadad dasdad asdad
REGEXREPLACE()
将检查所有匹配的模式([^\s].{2}[^\s]*)|([^\s].*$)
,并将其替换为randomToken
(您可以在此处输入任何内容)
([^\s].{2}[^\s]*)|([^\s].*$)
匹配任意3个字符,之后如果遇到空格将停止(请注意,最小字符允许以正则表达式n-1放置在正则表达式中)
REGEXREPLACE
之后的结果是randomToken randomToken randomToken randomToken
然后仅split
和counta
,我们将得到结果。
希望它能提供帮助
答案 1 :(得分:1)
也许您也可以尝试:
=sum(ArrayFormula(--(len(split(regexreplace(A1, "[^A-Za-z\-\s]"," "), " "))>2)))
其中2是单词的最小长度。