回答編集履歴

2

式を一部修正

2021/12/02 01:06

投稿

sawa
sawa

スコア3002

test CHANGED
@@ -42,6 +42,6 @@
42
42
 
43
43
  ```GoogleSheets
44
44
 
45
- =ARRAYFORMULA(IFERROR(REGEXEXTRACT(TRANSPOSE(SPLIT(TEXTJOIN(",",TRUE,{B2:I,IF(B2:B="","_","_")}),"_",FALSE)),".*,(.*?),$"),))
45
+ =ARRAYFORMULA(IFERROR(REGEXEXTRACT(TRANSPOSE(SPLIT(TEXTJOIN(",",TRUE,{B2:I,IF(B2:B="","_","_")}),"_")),".*,(.*?),$"),))
46
46
 
47
47
  ```

1

質問への回答を追加

2021/12/02 01:06

投稿

sawa
sawa

スコア3002

test CHANGED
@@ -17,3 +17,31 @@
17
17
 
18
18
 
19
19
  こんな感じで出来ると思います。
20
+
21
+
22
+
23
+ ---
24
+
25
+ コメントの分
26
+
27
+
28
+
29
+ 上記の条件に当てはまらないケース、各行の範囲内の一番右の情報を取得する場合は、
30
+
31
+ TEXTJOIN使う方法があります。
32
+
33
+
34
+
35
+ ※データ内に , と _ が使われてない想定
36
+
37
+ ※数値も文字列として取得されるので、必要に応じて *1 などで数値に戻す式を組み合わせてください
38
+
39
+ ※データが多いとTEXTJOINはエラーになった気がするので注意
40
+
41
+
42
+
43
+ ```GoogleSheets
44
+
45
+ =ARRAYFORMULA(IFERROR(REGEXEXTRACT(TRANSPOSE(SPLIT(TEXTJOIN(",",TRUE,{B2:I,IF(B2:B="","_","_")}),"_",FALSE)),".*,(.*?),$"),))
46
+
47
+ ```