GOOGLE SHEETS:在单词末尾添加字母,用其他字母替换特定字母(Concatenate、Regexreplace、Textjoin?)

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

请参阅下表: https://docs.google.com/spreadsheets/d/1gz5VHxyn3L2-Y_TQwSrp6LryIvTFxl3N17Da7LSzDaA/edit?usp=sharing

我在 C 列中使用 CONCATENATE 将 B 列中的字母添加到单词的末尾。
此外,我希望 C 列将字母 a、o、u 中的任何一个更改为其元音变音形式 (ä、ö、ü)。
如果元音在一起,则仅对第一个元音进行元音变音(参见 C18 中的示例:“Häuser”)。

您可能会注意到,M2a 单词不会添加变音符号。
所以,我认为公式应该引用 D 列来确定词尾和元音变音。

以下是单词应如何更改的示例:
乌伦更改为乌伦
总督更改为 Döge
Fluge 更改为 Fluge
豪瑟更改为豪瑟
布拉特更改为布拉特

google-sheets concatenation textjoin regex-replace
1个回答
0
投票

这是您可以测试的一种方法:

=let(x,{"a";"o";"u"},y,{"ä";"ö";"ü"}, index(map(A2:A,B2:B,D2:D,lambda(ax,bx,dx,if(dx="",,let(a,join(,{ax,bx}), b,mid(a,sequence(1,len(a)),1), 
 join(,map(b,hstack(,choosecols(b,sequence(columns(b)-1,1,1))),hstack(,choosecols(b,sequence(columns(b)-2,1,3)),),
 lambda(c,d,e,ifs(dx="M2a",c,or(sum(countif(x,{d,e}))=2,countif(x,d)),c,1,xlookup(c,x,y,c)))))))))))

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