回答編集履歴

6

修正

2023/08/31 14:58

投稿

退会済みユーザー
test CHANGED
@@ -22,5 +22,6 @@
22
22
 
23
23
  ・データが多いと重くなります。
24
24
  この手の「単なる表示の組み換え」は、GoogleスプレッドシートにおけるQuery関数の本来の使い方ではないと思います。
25
- データが大量にあって重すぎて使えない場合は、素直にGASを使うべきだと思います。
26
25
 
26
+ データが大量にあって重すぎて使いものにならないと感じられる場合は、素直にGASを使ってください。
27
+

5

条件2も満たす数式にする

2023/08/31 14:48

投稿

退会済みユーザー
test CHANGED
@@ -1,4 +1,4 @@
1
- 要件1だけです。
1
+ 要件1/2を満たすものです。(条件3は満たしていません)
2
2
 
3
3
  ---
4
4
  たとえば、組み替えたいデータの範囲が「A列の1行目」から「U列まで」であると仮定します。
@@ -6,14 +6,14 @@
6
6
  注意:この数式の結果が展開される範囲のセルに、この数式以外のデータが入っていてはいけません(展開先のセルにデータがあると、#REFエラーになります)
7
7
 
8
8
  ```
9
- =ArrayFormula(QUERY({ A1:C; A1:A, C1:D; A1:A, F1:G; A1:A, H1:I; A1:A, J1:K; A1:A, L1:M; A1:A, N1:O; A1:A, P1:Q; A1:A, R1:S; A1:A, T1:U }, "WHERE Col1 IS NOT NULL ORDER BY Col1" ))
9
+ =ArrayFormula(QUERY({ A1:C; A1:A, C1:D; A1:A, F1:G; A1:A, H1:I; A1:A, J1:K; A1:A, L1:M; A1:A, N1:O; A1:A, P1:Q; A1:A, R1:S; A1:A, T1:U }, "WHERE (Col1 IS NOT NULL AND Col2 IS NOT NULL) OR (Col1 IS NOT NULL AND Col3 IS NOT NULL) ORDER BY Col1" ))
10
10
  ```
11
11
   
12
12
   
13
13
  データが違う場所にあるときの例:
14
14
  たとえばA列の「8行目」からデータがある場合は、
15
15
  ```
16
- =ArrayFormula(QUERY({ A8:C; A8:A, C8:D; A8:A, F8:G; A8:A, H8:I; A8:A, J8:K; A8:A, L8:M; A8:A, N8:O; A8:A, P8:Q; A8:A, R8:S; A8:A, T8:U }, "WHERE Col1 IS NOT NULL ORDER BY Col1" ))
16
+ =ArrayFormula(QUERY({ A8:C; A8:A, C8:D; A8:A, F8:G; A8:A, H8:I; A8:A, J8:K; A8:A, L8:M; A8:A, N8:O; A8:A, P8:Q; A8:A, R8:S; A8:A, T8:U }, "WHERE (Col1 IS NOT NULL AND Col2 IS NOT NULL) OR (Col1 IS NOT NULL AND Col3 IS NOT NULL) ORDER BY Col1" ))
17
17
  ```
18
18
  のようになります。
19
19
 

4

列数を誤っていたのを修正

2023/08/31 13:52

投稿

退会済みユーザー
test CHANGED
@@ -1,19 +1,19 @@
1
1
  要件1だけです。
2
2
 
3
3
  ---
4
- たとえば、組み替えたいデータの範囲が「A列の1行目」から「AE列まで」であると仮定します。
4
+ たとえば、組み替えたいデータの範囲が「A列の1行目」から「U列まで」であると仮定します。
5
- この場合は、そのデータ列と重ならない列(AF列以降)に下記の数式を入れてください。
5
+ この場合は、そのデータ列と重ならない列(V列以降)に下記の数式を入れてください。
6
6
  注意:この数式の結果が展開される範囲のセルに、この数式以外のデータが入っていてはいけません(展開先のセルにデータがあると、#REFエラーになります)
7
7
 
8
8
  ```
9
- =ArrayFormula(QUERY({ A1:D; A1:A, E1:G; A1:A, H1:J; A1:A, K1:M; A1:A, N1:P; A1:A, Q1:S; A1:A, T1:V; A1:A, W1:Y; A1:A, Z1:AB; A1:A, AC1:AE }, "WHERE Col1 IS NOT NULL ORDER BY Col1" ))
9
+ =ArrayFormula(QUERY({ A1:C; A1:A, C1:D; A1:A, F1:G; A1:A, H1:I; A1:A, J1:K; A1:A, L1:M; A1:A, N1:O; A1:A, P1:Q; A1:A, R1:S; A1:A, T1:U }, "WHERE Col1 IS NOT NULL ORDER BY Col1" ))
10
10
  ```
11
11
   
12
12
   
13
13
  データが違う場所にあるときの例:
14
14
  たとえばA列の「8行目」からデータがある場合は、
15
15
  ```
16
- =ArrayFormula(QUERY({ A8:D; A8:A, E8:G; A8:A, H8:J; A8:A, K8:M; A8:A, N8:P; A8:A, Q8:S; A8:A, T8:V; A8:A, W8:Y; A8:A, Z8:AB; A8:A, AC8:AE }, "WHERE Col1 IS NOT NULL ORDER BY Col1" ))
16
+ =ArrayFormula(QUERY({ A8:C; A8:A, C8:D; A8:A, F8:G; A8:A, H8:I; A8:A, J8:K; A8:A, L8:M; A8:A, N8:O; A8:A, P8:Q; A8:A, R8:S; A8:A, T8:U }, "WHERE Col1 IS NOT NULL ORDER BY Col1" ))
17
17
  ```
18
18
  のようになります。
19
19
 

3

修正

2023/08/31 13:44

投稿

退会済みユーザー
test CHANGED
@@ -1,8 +1,9 @@
1
1
  要件1だけです。
2
2
 
3
3
  ---
4
+ たとえば、組み替えたいデータの範囲が「A列の1行目」から「AE列まで」であると仮定します。
4
- たとえば、「A列1行目」から「AE列まで」データある場合は、そのデータ列と重ならない列(AF列以降)に下記の数式を入れてください。
5
+ の場合は、そのデータ列と重ならない列(AF列以降)に下記の数式を入れてください。
5
- また、この数式の結果が展開される範囲のセルに、この数式以外のデータが入っていてはいけません(展開先のセルにデータがあると、#REFエラーになります)
6
+ 注意:この数式の結果が展開される範囲のセルに、この数式以外のデータが入っていてはいけません(展開先のセルにデータがあると、#REFエラーになります)
6
7
 
7
8
  ```
8
9
  =ArrayFormula(QUERY({ A1:D; A1:A, E1:G; A1:A, H1:J; A1:A, K1:M; A1:A, N1:P; A1:A, Q1:S; A1:A, T1:V; A1:A, W1:Y; A1:A, Z1:AB; A1:A, AC1:AE }, "WHERE Col1 IS NOT NULL ORDER BY Col1" ))

2

修正

2023/08/31 13:42

投稿

退会済みユーザー
test CHANGED
@@ -7,8 +7,9 @@
7
7
  ```
8
8
  =ArrayFormula(QUERY({ A1:D; A1:A, E1:G; A1:A, H1:J; A1:A, K1:M; A1:A, N1:P; A1:A, Q1:S; A1:A, T1:V; A1:A, W1:Y; A1:A, Z1:AB; A1:A, AC1:AE }, "WHERE Col1 IS NOT NULL ORDER BY Col1" ))
9
9
  ```
10
+  
11
+  
10
-
12
+ データが違う場所にあるときの例:
11
-
12
13
  たとえばA列の「8行目」からデータがある場合は、
13
14
  ```
14
15
  =ArrayFormula(QUERY({ A8:D; A8:A, E8:G; A8:A, H8:J; A8:A, K8:M; A8:A, N8:P; A8:A, Q8:S; A8:A, T8:V; A8:A, W8:Y; A8:A, Z8:AB; A8:A, AC8:AE }, "WHERE Col1 IS NOT NULL ORDER BY Col1" ))

1

修正

2023/08/31 13:42

投稿

退会済みユーザー
test CHANGED
@@ -1,7 +1,7 @@
1
1
  要件1だけです。
2
2
 
3
3
  ---
4
- たとえば、A列の1行目」から「AE列まで」データある場合は、そのデータ列と重ならない列(AF列以降)に下記の数式を入れてください。
4
+ たとえば、A列の1行目」から「AE列まで」データある場合は、そのデータ列と重ならない列(AF列以降)に下記の数式を入れてください。
5
5
  また、この数式の結果が展開される範囲のセルに、この数式以外のデータが入っていてはいけません(展開先のセルにデータがあると、#REFエラーになります)
6
6
 
7
7
  ```