-
- Lambda 関数の使用例
- 4.1 一次元 → 一次元変換
- 4.1.1 テキストを反転する
・入力例
A | |
---|---|
1 | 123 |
2 | 456 |
3 | 7890 |
・出力例
A | |
---|---|
4 | 321 |
5 | 654 |
6 | 0987 |
・計算式
=LET(txt, A1:A3,
cmt, “reverse_txt(txt)、テキストを前後反転する”,
reverse_txt, LAMBDA(txt, LET(
max_len,MAX(LEN(txt)),
s,SEQUENCE(,max_len,max_len,-1),
a,BYROW(MID(txt,s,1), LAMBDA(x, TEXTJOIN(“”, TRUE,x))),a
)),
reverse_txt(txt)
)
- 4.1.2 文字の繰り返し
・入力例
A | B | C | |
---|---|---|---|
1 | AA | B | C |
2 | 2 | 1 | 3 |
・出力例
A | B | C | D | E | F | |
---|---|---|---|---|---|---|
3 | AA | AA | B | C | C | C |
=LET(txt,A1:C1, num,A2:C2, c,TEXTJOIN(“”,,REPT(SEQUENCE(,COLUMNS(num))&”★”,num)), INDEX(txt,,TEXTSPLIT(c,”★”,,TRUE)+0) )
- 4.1.3 先頭の指定文字列を削除
・入力例
A | |
---|---|
1 | 123 |
2 | 456 |
3 | 77890 |
left_txt,{“12″,”4″,”5″,”7″,”9”}
・出力例
A | |
---|---|
4 | 3 |
5 | 6 |
6 | 890 |
・計算式
=LET(txt,A1:A3, left_txt,{“12″,”4″,”5″,”7″,”9”},
cmt, “del_left_txt(txt, left_txt)、先頭の指定文字列を削除、left_txt にない文字まで先頭から文字列を削除する”,
cmt_a, “reptxt(txt, num)、文字の繰り返し”,
reptxt,LAMBDA(a,b,INDEX(a,,TEXTSPLIT(TEXTJOIN(“”,,REPT(SEQUENCE(,COLUMNS(b))&”★”,b)),”★”,,TRUE)+0)),
cmt_b, “del_left_txta(txt, left_txt)、先頭の文字列を削除、連続文字削除非対応”,
del_left_txta, LAMBDA(txt,left_txt, LET(
a,BYROW(txt, LAMBDA(txt, REDUCE(txt, left_txt, LAMBDA(a,b, IF( LEFT(a,LEN(b) )=b, MID(a,LEN(b)+1,LEN(a)),a ) ))) ),a
)),
numa,MAX(LEN(txt)),
left_txta,TEXTSPLIT(TEXTJOIN(“★”,,reptxt(TEXTJOIN(“★”,,left_txt), numa)),”★”),
del_left_txta(txt, left_txta)
)
つづく
コメント
注意事項 上記計算式の、””の文字がなぜかばけているようです。
Excelにコピペしたあと、””を、手入力で入力し直して使用してください。