回答編集履歴
5
修正
test
CHANGED
@@ -78,26 +78,22 @@
|
|
78
78
|
|
79
79
|
```
|
80
80
|
|
81
|
-
LEFT(ADDRESS(1,MATCH("M",$
|
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
|
-
|
87
|
+
また、列番号をそのまま抽出する必要があるため、HEADERはヘッダとなる行全体(例:「シート名!$1:$1」)を参照している必要があります。
|
90
88
|
|
91
|
-
|
89
|
+
(そうしないと、指定範囲外に列を挿入した場合、うまくデータが取れません)
|
92
90
|
|
93
91
|
|
94
92
|
|
95
|
-
例(HEADERが
|
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
修正
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",
|
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
修正
test
CHANGED
@@ -34,13 +34,19 @@
|
|
34
34
|
|
35
35
|
|
36
36
|
|
37
|
-
2.データ参照元(MT5シート)の実質的データ
|
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
修正
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
修正
test
CHANGED
@@ -48,13 +48,13 @@
|
|
48
48
|
|
49
49
|
DATAの範囲内で列を挿入した場合、DATAの範囲は自動的に拡張されます。
|
50
50
|
|
51
|
-
ヘッダ文字列を消したり変え
|
51
|
+
ヘッダ文字列を消したり変えたりしない限り、MATCH関数による位置取得は列の挿入に合わせて正常に行われるため、取得対象のデータは列挿入前から変わりません。
|
52
52
|
|
53
53
|
|
54
54
|
|
55
55
|
DATAの範囲外に列を挿入した場合、DATAの範囲は自動的に移動されます。
|
56
56
|
|
57
|
-
ヘッダ文字列を消したり変えない限り、MATCH関数による位置取得は変わらないため、取得対象のデータは列挿入前から変わりません。
|
57
|
+
ヘッダ文字列を消したり変えたりしない限り、MATCH関数による位置取得は変わらないため、取得対象のデータは列挿入前から変わりません。
|
58
58
|
|
59
59
|
|
60
60
|
|