|
一応、↓642文字でも大丈夫でした。
(半角英文字が連続するとUPできないのでいい加減な位置で改行しました)
=IF(OR(AND(CODE(B5)>=9516,CODE(B5)<=9538),AND(CODE(B5)>=9551,CODE(B5)<=9552),
AND(CODE(B5)>=9557,CODE(B5)<=9558),AND(CODE(B5)>=9563,CODE(B5)<=9564)),
IF(MOD(CODE(B5),2)=0,IF(ISERROR(MATCH(CHAR(CODE(B5)-1),$A$3:$A4,0)),
CHAR(CODE(B5)-1),""),IF(ISERROR(MATCH(LEFT(B5,1),$A$3:$A4,0)),LEFT(B5,1),"")),
IF(OR(CODE(B5)=9541,CODE(B5)=9543,CODE(B5)=9545,CODE(B5)=9555,CODE(B5)=9561),
IF(ISERROR(MATCH(CHAR(CODE(B5)-1),$A$3:$A4,0)),CHAR(CODE(B5)-1),""),
IF(OR(CODE(B5)=9553,CODE(B5)=9556,CODE(B5)=9559,CODE(B5)=9562,CODE(B5)=9565),
IF(ISERROR(MATCH(CHAR(CODE(B5)-2),$A$3:$A4,0)),CHAR(CODE(B5)-2),""),
IF(ISERROR(MATCH(LEFT(B5,1),$A$3:$A4,0)),LEFT(B5,1),""))))
上の数式を文字列にすると「数式が長すぎます。」とエラーになります。
="=IF(OR(AND(CODE(B5)>=9516,CODE(B5)<=9538),AND(CODE(B5)>=9551,CODE(B5)<=9552),
AND(CODE(B5)>=9557,CODE(B5)<=9558),AND(CODE(B5)>=9563,CODE(B5)<=9564)),
IF(MOD(CODE(B5),2)=0,IF(ISERROR(MATCH(CHAR(CODE(B5)-1),$A$3:$A4,0)),
CHAR(CODE(B5)-1),""),IF(ISERROR(MATCH(LEFT(B5,1),$A$3:$A4,0)),LEFT(B5,1),"")),
IF(OR(CODE(B5)=9541,CODE(B5)=9543,CODE(B5)=9545,CODE(B5)=9555,CODE(B5)=9561),
IF(ISERROR(MATCH(CHAR(CODE(B5)-1),$A$3:$A4,0)),CHAR(CODE(B5)-1),""),
IF(OR(CODE(B5)=9553,CODE(B5)=9556,CODE(B5)=9559,CODE(B5)=9562,CODE(B5)=9565),
IF(ISERROR(MATCH(CHAR(CODE(B5)-2),$A$3:$A4,0)),CHAR(CODE(B5)-2),""),
IF(ISERROR(MATCH(LEFT(B5,1),$A$3:$A4,0)),LEFT(B5,1),""))))"
なんか、文字として扱う場合の最高が、255文字まで見たいですね。
↓英文字256文字なのでエラーになります。
="aaaaazzzzzzz4zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzaaaaaazzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
xxxxxxxxxxxxaaaa"
by2002
上の642文字の関数は、97で作ったもの。
|
|