如何在谷歌表格中翻转字符串

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

我的左侧有这个谷歌表格输入列,我想翻转字符串,如输出列中所示。

Input   Output
--------------
bats    stab
live    evil
meet    teem
part    trap
stop    pots
google-sheets lambda google-sheets-formula sequence textjoin
5个回答
2
投票

使用此公式,只需将

A2:A
范围替换为您的范围即可。

=ArrayFormula(IF(A2:A="","",
              BYROW(A2:A, LAMBDA(range, 
              TEXTJOIN("",FALSE,MID(range,SEQUENCE(LEN(range),1,LEN(range),-1),1))))))

enter image description here

使用的公式有帮助

ARRAYFORMULA
-
IF
-
BYROW
-
LAMBDA
-
TEXTJOIN
-
MID
-
SEQUENCE
-
LEN


1
投票

使用 分隔符将字符串拆分为其字符,然后使用

REDUCE
current&accumulator
字符串(此处发生反转):

=REDUCE(,SPLIT(REGEXREPLACE(A2,,"🐾"),"🐾"),LAMBDA(a,c,c&a))

对于数组,请使用

BYROW
:

=BYROW(A2:INDEX(A2:A,COUNTA(A2:A)),LAMBDA(str,REDUCE(,SPLIT(REGEXREPLACE(str,,"🐾"),"🐾"),LAMBDA(a,c,c&a))))

1
投票

尝试:

=IFERROR(BYROW(A1:A, LAMBDA(x, JOIN(, 
 INDEX(MID(x, LEN(x)-SEQUENCE(1, LEN(x))+1, 1))))))

enter image description here


1
投票

尝试:

=IFERROR(BYROW(A1:A, LAMBDA(x, JOIN(, 
 INDEX(MID(x, LEN(x)-SEQUENCE(1, LEN(x))+1, 1))))))

enter image description here

或:

=IFERROR(BYROW(A1:A, LAMBDA(x, JOIN(, INDEX(REGEXREPLACE(""&x, 
 REPT("(.)", LEN(x)), "$"&LEN(x)-SEQUENCE(1, LEN(x), )))))))

enter image description here


0
投票

以下是如何在不使用带有特殊字符/拆分/或连接的rept/正则表达式的情况下执行此操作:

=REDUCE("", SEQUENCE(1, LEN(A1)), LAMBDA(k, i, MID(A1, i, 1) & k))

注意:将其放入命名函数(如 REVERSE(text))中,并将上面的 A1 替换为“text”参数。

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