回答編集履歴

5

修正

2021/06/21 10:14

投稿

退会済みユーザー
test CHANGED
@@ -78,26 +78,22 @@
78
78
 
79
79
  ```
80
80
 
81
- LEFT(ADDRESS(1,MATCH("M",$A$1:$EI$1,0),4),LEN(ADDRESS(1,MATCH("M",$A$1:$EI$1,0),4))-1)
81
+ LEFT(ADDRESS(1, MATCH("M",MT5!$1:$1,0),4),LEN(ADDRESS(1,MATCH("M",MT5!$1:$1,0),4))-1)
82
82
 
83
83
  ```
84
84
 
85
- ※~~この場合、列番号をそのまま抽出する必要があるため、MATCHの範囲に名前付き範囲(HEADER)は使用できず、1行目のヘッダ範囲を絶対番地で指定する必要があります。~~
86
85
 
87
- この場合、
88
86
 
89
- ・データの範囲より**前**に列を挿入してDATA及びHEADERの開始列を変えてしまう、正しくデ取得できせん
87
+ また、番号そのまま抽出する必要があるため、HEADERはヘッダなる行全体(例:「シト名!$1:$1」)参照している必要があり
90
88
 
91
- ・DATA/HEADERの始点がAよりも右である場合下記の式を調整する必要ありす。
89
+ (そうしないと、指定範囲外にを挿入した場合、うまくデータ取れせん)
92
90
 
93
91
 
94
92
 
95
- 例(HEADERがA1:Z1、DATAがA2からZ1000の範囲で、ヘッダ列に「A」と「M」が入っている列を指定して抽出する場合):
93
+ 例(HEADERが範囲「MT5!$1:$1、DATAが「MT5!$A$2:$Z$1000の範囲で、ヘッダ列に「A」と「M」が入っている列を指定して抽出する場合):
96
94
 
97
95
  ```
98
96
 
99
97
  =QUERY(DATA,"Select "&LEFT(ADDRESS(1,MATCH("A",HEADER,0),4),LEN(ADDRESS(1,MATCH("A",HEADER,0),4))-1)&","&LEFT(ADDRESS(1,MATCH("M",HEADER,0),4),LEN(ADDRESS(1,MATCH("M",HEADER,0),4))-1))
100
98
 
101
99
  ```
102
-
103
- ※この場合A列の左に空白セルを挿入するとデータがとれなくなる。

4

修正

2021/06/21 10:14

投稿

退会済みユーザー
test CHANGED
@@ -82,14 +82,22 @@
82
82
 
83
83
  ```
84
84
 
85
- ※この場合、列番号をそのまま抽出する必要があるため、MATCHの範囲に名前付き範囲(HEADER)は使用できず、1行目のヘッダ範囲を絶対番地で指定する必要があります。
85
+ ~~この場合、列番号をそのまま抽出する必要があるため、MATCHの範囲に名前付き範囲(HEADER)は使用できず、1行目のヘッダ範囲を絶対番地で指定する必要があります。~~
86
+
87
+ この場合、
88
+
89
+ ・データの範囲より**前**に列を挿入してDATA及びHEADERの開始列を変えてしまうと、正しくデータを取得できません。
90
+
91
+ ・DATA/HEADERの始点がA列よりも右である場合は、下記の式を調整する必要があります。
86
92
 
87
93
 
88
94
 
89
- 例(「A」と「M」をヘッダ列のキーに指定して抽出する場合):
95
+ 例(HEADERがA1:Z1、DATAがA2からZ1000の範囲で、ヘッダ列に「A」と「M」が入っている列を指定して抽出する場合):
90
96
 
91
97
  ```
92
98
 
93
- =QUERY(DATA,"Select "&LEFT(ADDRESS(1,MATCH("A",'MT5'!$A$1:$Z$1,0),4),LEN(ADDRESS(1,MATCH("A",'MT5'!$A$1:$Z$1,0),4))-1)&","&LEFT(ADDRESS(1,MATCH("M",'MT5'!$A$1:$Z$1,0),4),LEN(ADDRESS(1,MATCH("M",'MT5'!$A$1:$Z$1,0),4))-1))
99
+ =QUERY(DATA,"Select "&LEFT(ADDRESS(1,MATCH("A",HEADER,0),4),LEN(ADDRESS(1,MATCH("A",HEADER,0),4))-1)&","&LEFT(ADDRESS(1,MATCH("M",HEADER,0),4),LEN(ADDRESS(1,MATCH("M",HEADER,0),4))-1))
94
100
 
95
101
  ```
102
+
103
+ ※この場合A列の左に空白セルを挿入するとデータがとれなくなる。

3

修正

2021/06/21 08:52

投稿

退会済みユーザー
test CHANGED
@@ -34,13 +34,19 @@
34
34
 
35
35
 
36
36
 
37
- 2.データ参照元(MT5シート)の実質的データ(A2:EI~)を選択し、選択した範囲に「DATA」という名前を付けます。
37
+ 2.データ参照元(MT5シート)の2行目以降の実質的データ範囲(A2:EI~)を選択し、選択した範囲に「DATA」という名前を付けます。
38
38
 
39
39
 
40
40
 
41
- 3.抽出を表示したいセルの数式に下記を定します。
41
+ 3.抽出を表示したいセルの数式に下記を定します。
42
+
43
+
44
+
45
+ ```
42
46
 
43
47
  =Query(IMPORTRANGE("シートID","DATA"),"Select Col" & MATCH("A",HEADER) & ",Col" & MATCH("N",HEADER) & ",Col" & MATCH("EI",HEADER))
48
+
49
+ ```
44
50
 
45
51
 
46
52
 

2

修正

2021/06/21 08:33

投稿

退会済みユーザー
test CHANGED
@@ -68,7 +68,7 @@
68
68
 
69
69
 
70
70
 
71
- 下記は1行目に「M」というキーがある列を指定する例になります。
71
+ 下記は1行目に「M」というキーがある列の列番号(アルファベット)取得する例になります。
72
72
 
73
73
  ```
74
74
 
@@ -80,7 +80,7 @@
80
80
 
81
81
 
82
82
 
83
- 例:
83
+ (「A」と「M」をヘッダ列のキーに指定して抽出する場合)
84
84
 
85
85
  ```
86
86
 

1

修正

2021/06/21 08:31

投稿

退会済みユーザー
test CHANGED
@@ -48,13 +48,13 @@
48
48
 
49
49
  DATAの範囲内で列を挿入した場合、DATAの範囲は自動的に拡張されます。
50
50
 
51
- ヘッダ文字列を消したり変えりしない限り、MATCH関数による位置取得は正常に行われるため、取得対象のデータは列挿入前から変わりません。
51
+ ヘッダ文字列を消したり変えりしない限り、MATCH関数による位置取得は列の挿入に合わせて正常に行われるため、取得対象のデータは列挿入前から変わりません。
52
52
 
53
53
 
54
54
 
55
55
  DATAの範囲外に列を挿入した場合、DATAの範囲は自動的に移動されます。
56
56
 
57
- ヘッダ文字列を消したり変えない限り、MATCH関数による位置取得は変わらないため、取得対象のデータは列挿入前から変わりません。
57
+ ヘッダ文字列を消したり変えたりしない限り、MATCH関数による位置取得は変わらないため、取得対象のデータは列挿入前から変わりません。
58
58
 
59
59
 
60
60