Google 表格:使用条件函数将一个单元格中的句子分成后续单元格中的多个部分

问题描述 投票:0回答:1

我想将一个单元格句子分成 4 个单词的单元格,每个单元格位于同一行。 如果句子超过12个单词,第12个单词应附加“...”,并且不再添加单词。 特殊条件:我的单元格中不能只有一个单词。如果一个句子有五个单词,则单元格 1 应使用三个单词,单元格 2 应使用两个单词。

示例数据可以在这里找到: https://docs.google.com/spreadsheets/d/1q4qRgXSq6xXhddArPCoBIuOOupRvokUd0andADCNN0Q/edit#gid=0

这是基于此处找到的问题: Google 表格:将文本拆分为四个单词的组:将每组四个单词放入跨行的单元格中,最多 12 个单词/3 列

google-sheets lambda split row regex-replace
1个回答
0
投票

根据上一篇文章中提供的现有公式进行改进:

=map(A2:A,lambda(Λ,if(Λ="",,let(Σ,split(reduce(Λ,{4,7,10},lambda(a,c,substitute(a," ","|",c))),"|"),a,index(Σ,,1),b,index(Σ,,2),d,index(Σ,,3),c,if(len(iferror(index(Σ,,4))),d&"...",d),
      Δ,map({a,b,c},lambda(Ξ,counta(iferror(split(Ξ," "))))),x,index(Δ,,1),y,index(Δ,,2),z,index(Δ,,3),
      iferror(if(y=1,split(substitute(join(" ",{a,b})," ","|",3),"|"),if(z=1,hstack(a,split(substitute(join(" ",{b,c})," ","|",3),"|")),hstack(a,b,c))))))))

© www.soinside.com 2019 - 2024. All rights reserved.