=SUM(LOOKUP(9.99E+307,--RIGHT(LEFT(C2,FIND("k",C2)-1),ROW(A$1:A$100))))*E2*10%% 求解释这个函数

如题所述

以下解释假设你完全不懂函数,不要嫌啰嗦。

这个函数应该可以直接简化为(sum属于浪费)
=LOOKUP(9.99E+307,--RIGHT(LEFT(C2,FIND("k",C2)-1),ROW(A$1:A$100)))*E2*10%%

*E2*10%%就是乘以E2再乘以0.001

ROW(单元格)返回该单元格的行数;ROW(A1:A100)返回一个数组(1,2,3,4,...,100)

FIND('"k",C2)查找C2字符串中k的位置

LEFT(字符串,n)返回字符串前n个字符

RIGHT(字符串,n)返回字符串后n个字符

--的作用可以把一个文本型数字转换为数字型数字(举例,在单元格A1中输入 '1,就是一个文本型数字)

9.99E+307是一个非常大的数字(9.99乘以10的307次方)

LOOKUP(查找值,单元格区域或者数组)返回单元格区域或者数组中最接近“查找值”但比其小的数字,要求单元格区域或者数组必须是升序排列,有错误值(如#VALUE!)忽略。

假设C2是字符串
abc1243k45u
那么--RIGHT(LEFT(C2,FIND("k",C2)-1),ROW(A$1:A$100))返回以下数组
3
45
243
1243
#VALUE!
...

LOOKUP函数就返回1243。所以,就是取一个数值,其结尾的后一位是"k",开头的前一位是任意非数字字符。
温馨提示:答案为网友推荐,仅供参考