回答編集履歴
1
数値の文字列長を3から可変長に修正
answer
CHANGED
|
@@ -2,23 +2,22 @@
|
|
|
2
2
|
いらない部分は、B列を値として貼り付けした後にDELすれば元通りになりますね。
|
|
3
3
|
|
|
4
4
|
---
|
|
5
|
+
**(saziさんのコメントを受け2017-09-10に修正)**
|
|
5
6
|
|
|
6
|
-

|
|
7
8
|
|
|
9
|
+
|アドレス|式|説明|
|
|
10
|
+
|:--|:--:|:--:|
|
|
11
|
+
|A2|文字列|生データ|
|
|
12
|
+
|B2|数式|右から抜き取った最寄りの数値|
|
|
8
|
-
|
|
13
|
+
|C2|`=E2-D2+1`|抜き取る文字長|
|
|
14
|
+
|D2|`=MAX(F$1:T$1)-MATCH("!",V2:AJ2,0)+2`|抜き取り開始位置|
|
|
15
|
+
|E2|`=MAX(F$1:T$1)-MATCH("!",F2:T2,0)`|抜き取り終了位置|
|
|
16
|
+
|F2|`=IF(LEN($A2)>=F$1,IF(ISERROR(VALUE(MID($A2,F$1,1))),IF(ISNUMBER(G2)=TRUE,"!","-"),VALUE(MID($A2,F$1,1))),"-")`|数値のエッジ検出1|
|
|
17
|
+
|~T2|F2のオートフィル|数値のエッジ検出1|
|
|
18
|
+
|U2|ブランク|計算式同士が衝突しないため|
|
|
19
|
+
|V2|`=IF(LEN($A2)>=V$1,IF(ISERROR(VALUE(MID($A2,V$1,1))),IF(ISNUMBER(U2)=TRUE,"!","-"),VALUE(MID($A2,V$1,1))),"-")`|数値のエッジ検出2|
|
|
20
|
+
|~AJ2|V2のオートフィル|数値のエッジ検出2|
|
|
9
21
|
|
|
10
|
-
C2 `=LEN(A2)-MAX($E$1:$S$1)`
|
|
11
22
|
|
|
12
|
-
D2 `=MATCH("OK",F2:S2,0)`
|
|
13
|
-
|
|
14
|
-
E2 `=IF(COUNT(T2:V2)=3,"OK","NG")`
|
|
15
|
-
|
|
16
|
-
(中略オートフィルしてください)
|
|
17
|
-
|
|
18
|
-
T2 `=IF(LEN($A2)>=T$1,IF(ISERROR(VALUE(MID($A2,T$1,1))),"",VALUE(MID($A2,T$1,1))),"")`
|
|
19
|
-
|
|
20
|
-
(中略オートフィルしてください)
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
※実証コードのため、「数値がないとき」にエラーが出るかもしれませんがその辺は割愛させてください。
|