公式一 =--LEFT(A2,MATCH(1,(CODE(MID(A2&"q",ROW($1:$20),1))<45)+(CODE(MID(A2&"q",ROW($1:$20),1))>57),0)-1)
公式二 =--LEFT(A2,MATCH(1,MMULT(N(CODE(MID(A2&REPT("a",20-LEN(A2)),ROW($1:$20),1))*{1,-1}<{45,-57}),{1;1}),0)-1)
公式三 =--LEFT(A2,MATCH(0,TEXT(MID(A2,ROW($1:$20),1),"0;0;!1;!0")+MMULT(N(MID(A2&REPT("a",20-LEN(A2)),ROW($1:$20),1)={"-","."}),{1;1}),0)-1)
公式四 =--LEFT(A2,MATCH(0,IF(ISNUMBER(FIND(MID(A2&"q",ROW($1:$20),1),"1234567890.-")),1,0),0)-1)
公式五 =--LEFT(A2,MIN(MAX(ISNUMBER(--LEFT(A2,ROW($1:$6)))*ROW($1:$6)),FIND("%",A2&"%")-1,FIND("e",A2&"e")-1))
公式六 =--MID(A2,1,MAX(ISNUMBER(--LEFT(REPLACE(REPLACE(A2,FIND("%",A2&"%"),1,"a"),FIND("e",A2&"e"),1,"a"),ROW($1:$6)))*ROW($1:$6)))
公式七 =--MID(A2,1,MATCH("0",TEXT(MID(REPLACE(REPLACE(A2&"q",FIND("-",A2&"q-"),1,"1"),FIND(".",A2&"q."),1,"1"),ROW($1:$18),1),"0;0;!1;!0"),0)-1)
公式八 =CHOOSE(ROW()-1,12,-1.2,532901,3,2,2009,3)
第一次参加竞赛,由于昨天刚刚看到,时间仓促,所以准备的不是很充分,因为看着结束的时间快到了嘛!云南大哥说不让使用SUBSTITUTE函数,可没说不许使用REPLACE,只不过这里用REPLACE要比用SUBSTITUTE复杂一些,这里想出了7个公式,希望能有5个公式符合要求,第8个纯属娱乐凑数,写着玩的,呵呵~~
================================================================
你还有时间编辑修改.
===wshcw===
================================================================
云南大哥能告诉我有几个已经符合要求了吗?
================================================================
希望6,7合并简化为一个,就帅了.
===wshcw===
================================================================
解法果然多多且巧妙啊,而且大家这么多答案几乎没有一模一样的,真是高手多多啊,看来我现在正处于并将长期处于初学者了。
[ 本帖最后由 trustwxq 于 2009-9-23 17:54 编辑 ] |