|
第一题:
思路一:- =SUM(IFERROR(--MID(A3,ROW($1:$99),1),))
复制代码 公式解释:
数组公式,先用MID将A3的每一位提取出来,再用--将MID提取的文本型数值转化成数值后用IFERROR将#VALUE!变成0后相加。
思路二:- =SUM(--MID(A3,ROW(INDIRECT("1:"&LEN(A3))),1))
复制代码 公式解释:
数组公式,先用MID将A3的每一位提取出来,再用--将MID提取的文本型数值转化成数值后相加。第二参数不能用ROW($1:$99)而需要使用ROW(INDIRECT("1:"&LEN(A3))),否则--转换后会出错,ROW(INDIRECT("1:"&LEN(A3)))是从第1位到第LEN(A3)位分别提取一位。
思路三:- =SUM((--MID(TEXT(A3,REPT(0,99)),ROW($1:$99),1)))
复制代码 公式解释:
数组公式,先用MID将TEXT(A3,REPT(0,99))的每一位提取出来,再用--将MID提取的文本型数值转化成数值后相加。TEXT(A3,REPT(0,99))是将不跟99位的用”0“补足再用ROW($1:$99)提取。
第二题:- =TRIM(MID(REPLACE(SUBSTITUTE(A17," ",REPT(" ",99)),1,,REPT(" ",99)),FIND("-",REPLACE(SUBSTITUTE(A17," ",REPT(" ",99)),1,,REPT(" ",99)))-9,99))
复制代码- =TRIM(MID(REPLACE(SUBSTITUTE(A17," ",REPT(" ",99)),1,,REPT(" ",99)),FIND("-",REPLACE(SUBSTITUTE(A17," ",REPT(" ",99)),1,,REPT(" ",99)))-99,199))
复制代码 公式解释:
用SUBSTITUTE(A17," ",REPT(" ",99))将" "替换成99个" ",REPLACE(SUBSTITUTE(A17," ",REPT(" ",99)),1,,REPT(" ",99))再用99个" "从第1个字符开始替换0个字符;MID的第二参数FIND("-",REPLACE(SUBSTITUTE(A17," ",REPT(" ",99)),1,,REPT(" ",99)))-9或99,查找“-”所在的位置后减9(题目的列举的例子中的“-”前小于9个字符)或99个字符开始,取99或199个字符,最后用TRIM除去" "。
第三题:- =MID(A30,MATCH(2,LENB(MID(A30,ROW($1:$99),1)),),LENB(A30)-LEN(A30))
复制代码 公式解释:
先用MID提取每个字符,再用LENB计算每个字符的长度后,再MATCH查找第1个2出现的位置,双字节长度的计算为LENB(A30)-LEN(A30),最后再用MID提取第1个双字节所在的位置开始的LENB(A30)-LEN(A30)个字符。
第四题:
思路一- =MID("●●●●●○○○○○",IF(B44/10<6,6,11.9-B44/10),5)
复制代码- =MID("●●●●●○○○○○",(B44/10>5)*(5-INT(B44/10))+6,5)
复制代码 公式解释:
先用IF(B44/10<6,6,11.9-B44/10)计算MID的第二参数,当分数小于60时,从第6位开始取5位,当分数大于等于60时从11.9-B44/10开始取5位,11.9是分数没有小数时正确若有小数时将会出错,MID的第二参数是截取整数部分的。公式2中分数是可以为小数的。
思路二:- =REPT("●",IF(B44/10<6,,B44/10-5))&REPT("○",IF(B44/10<6,5,10.9-B44/10))
复制代码- =REPT("●",IF(B44/10<6,,B44/10-5))&REPT("○",IF(B44/10<6,5,10-INT(B44/10)))
复制代码 公式解释:
先用IF(B44/10<6,,B44/10-5)计算REPT的第二参数,当分数小于60时,填充0个"●"即不填充,当分数大于等于60时填充B44/10-5个"●";先用IF(B44/10<6,5,10.9-B44/10)计算REPT的第二参数,当分数小于60时,填充5个"○",当分数大于等于60时填充10.9-B44/10个"○";10.9是分数没有小数时正确若有小数时将会出错,REPT的第二参数是截取整数部分的。公式2中分数是可以为小数的。
第五题:- =REPLACE(A54,LENB(A54)-LEN(A54)+1,,CHAR(10))
复制代码 公式解释:
用REPLACE从第LENB(A54)-LEN(A54)+1字符开始用CHAR(10)替换0个字符。
|
评分
-
查看全部评分
|