回答編集履歴

5

微修正

2023/09/24 17:07

投稿

otn
otn

スコア84830

test CHANGED
@@ -4,7 +4,7 @@
4
4
  (最初の誤っていた回答)=TEXTJOIN("",,MAP(TEXTSPLIT(A1,"a"),LAMBDA(x,LEFT(x,1))))
5
5
  =TEXTJOIN("",,MAP(DROP(TEXTSPLIT(A1,"a"),0,1),LAMBDA(x,LEFT(x,1))))
6
6
  ```
7
- で。まず`abcaxyapq`を`a`を区切り文字で分割して、`[空,bc, xy, pq]`という配列にしてそれぞれのLEFTの1文字を取って、全部つなぐ。
7
+ で。~~まず`abcaxyapq`を`a`を区切り文字で分割して、`[空,bc, xy, pq]`という配列にしてそれぞれのLEFTの1文字を取って、全部つなぐ。~~
8
8
  再追記:
9
9
  最初の解答は誤ってましたので訂正しました。
10
10
  `abcaxyapq`を`a`を区切り文字で分割して、第一要素(先頭の`a`より前の前部分)を捨て、`[bc, xy, pq]`という配列にしてそれぞれのLEFTの1文字を取って、全部つなぐ。

4

誤りの訂正

2023/09/24 17:02

投稿

otn
otn

スコア84830

test CHANGED
@@ -1,9 +1,14 @@
1
1
  対象が、`abcaxyapq`と`a`だと、`bxp`を得たいということですかね。
2
2
  Office365などで、Excel新関数が使えるなら、
3
3
  ```Excel
4
+ (最初の誤っていた回答)=TEXTJOIN("",,MAP(TEXTSPLIT(A1,"a"),LAMBDA(x,LEFT(x,1))))
4
- =TEXTJOIN("",,MAP(TEXTSPLIT(A1,"a"),LAMBDA(x,LEFT(x,1))))
5
+ =TEXTJOIN("",,MAP(DROP(TEXTSPLIT(A1,"a"),0,1),LAMBDA(x,LEFT(x,1))))
5
6
  ```
6
7
  で。まず`abcaxyapq`を`a`を区切り文字で分割して、`[空,bc, xy, pq]`という配列にしてそれぞれのLEFTの1文字を取って、全部つなぐ。
8
+ 再追記:
9
+ 最初の解答は誤ってましたので訂正しました。
10
+ `abcaxyapq`を`a`を区切り文字で分割して、第一要素(先頭の`a`より前の前部分)を捨て、`[bc, xy, pq]`という配列にしてそれぞれのLEFTの1文字を取って、全部つなぐ。
11
+
7
12
 
8
13
  追記:
9
14
  新機能が使えないExcel(上記関数が#NAME?エラーになるバージョン)なら、繰り返し処理・配列処理できないので、補助セルを使うしかないと思います。

3

微修正

2023/09/24 15:29

投稿

otn
otn

スコア84830

test CHANGED
@@ -6,7 +6,7 @@
6
6
  で。まず`abcaxyapq`を`a`を区切り文字で分割して、`[空,bc, xy, pq]`という配列にしてそれぞれのLEFTの1文字を取って、全部つなぐ。
7
7
 
8
8
  追記:
9
- 新機能が使えないExcel(上記関数が#NAME?エラーになるバージョン)なら、ループ処理できないので、補助セルを使うしかないと思います。
9
+ 新機能が使えないExcel(上記関数が#NAME?エラーになるバージョン)なら、繰り返し処理・配列処理できないので、補助セルを使うしかないと思います。
10
10
  ||A|B|C|D|E|F|G|H|I|J|
11
11
  |:--:|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|
12
12
  |1|abcaxyapq|1(右にドラッグして連続数値を入れる)|2|3|4|5|6|7|8|9|

2

追記

2023/09/24 15:26

投稿

otn
otn

スコア84830

test CHANGED
@@ -4,3 +4,20 @@
4
4
  =TEXTJOIN("",,MAP(TEXTSPLIT(A1,"a"),LAMBDA(x,LEFT(x,1))))
5
5
  ```
6
6
  で。まず`abcaxyapq`を`a`を区切り文字で分割して、`[空,bc, xy, pq]`という配列にしてそれぞれのLEFTの1文字を取って、全部つなぐ。
7
+
8
+ 追記:
9
+ 新機能が使えないExcel(上記関数が#NAME?エラーになるバージョン)なら、ループ処理できないので、補助セルを使うしかないと思います。
10
+ ||A|B|C|D|E|F|G|H|I|J|
11
+ |:--:|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|
12
+ |1|abcaxyapq|1(右にドラッグして連続数値を入れる)|2|3|4|5|6|7|8|9|
13
+ |2|a|=IF(MID($A$1,B$1,1)=$A$2,MID($A$1,B$1+1,1),"")|左のセルのドラッグ|同左|同左|同左|同左|同左|同左|同左|
14
+ |3|=CONCAT(B2:J2)
15
+
16
+ で、
17
+ ||A|B|C|D|E|F|G|H|I|J|
18
+ |:--:|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|
19
+ |1|abcaxyapq|1|2|3|4|5|6|7|8|9|
20
+ |2|a|b| | |x| | |p| | |
21
+ |3|bxq|
22
+
23
+

1

誤字訂正

2023/09/24 15:04

投稿

otn
otn

スコア84830

test CHANGED
@@ -1,5 +1,5 @@
1
1
  対象が、`abcaxyapq`と`a`だと、`bxp`を得たいということですかね。
2
- Office365などで、Excel新数が使えるなら、
2
+ Office365などで、Excel新数が使えるなら、
3
3
  ```Excel
4
4
  =TEXTJOIN("",,MAP(TEXTSPLIT(A1,"a"),LAMBDA(x,LEFT(x,1))))
5
5
  ```