查找公式什么意思FIND({0;1;2;3;4;5;6;7;8;9},A1&1/17)

题目是
A1=ABDCE12MA ,则B1=ABDCE C1=12MA 即遇到第一数字开始分为两个单元格
公式是
B1 =LEFT(A1,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&1/17))-1)
请高手解释一下,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&1/17))-1 这部分不是很明白,A1&1/17是什么意思?为什么这样写?

你的题目关键是找到第一个数字出现的位置。
1/17在Excel中的结果是0.0588235294117647,包含了0~9十个数字。目的是和A1中的数据用&连接在一起,形成新的字符串,然后用Find函数在新字符串中查找({0;1;2;3;4;5;6;7;8;9}这10个数,这样保证每个数字都能查找到出现的位置,而不会出现错误值。最后再用MIN函数找到最小值,也就是出现在最左边的数字的位置。位置找到了,再进行截取就不是难事儿了。追问

哦明白了,那min函数查找的应该是最小的数字,为什么一定是最左边的数字呢? 那如果反过来最先是数字然后是文字,我想要提取文字 ,该怎么写公式呢?请指教

追答

因为你的题目是遇到第一个数字然后分开,第一个数字当然是在最左边。
公式中FIND({0;1;2;3;4;5;6;7;8;9},A1&1/17)这一段的结果是10个数值组成的数组。这10个数值是分别对应({0;1;2;3;4;5;6;7;8;9},这十个数字在新字符串中出现的位置,那最小的数值就是出现在最左边的数字的位置。有点绕,慢慢理解~
反的来的话给你提供一个公式=RIGHT(A1,LEN(A1)-LOOKUP(,0/MID(A1,ROW($1:$100),1),ROW($1:$100)))

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-21
如果你看得懂公式要实现的功能的话,我想你就明白公式这样写的意义了。

B1的内容是:
FIND({0;1;2;3;4;5;6;7;8;9},A1&1/17)的意思是在A1&1/17组成的这个字符串中,分别找到0-9数字的位置。之所以1/17在后面,是因为1/17=0.058823529411765,包含了0-9十个数字,避免出现找不到某一位数而使结果出现错误值。
MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&1/17),即是找出字符串内出现第一个数字的位置。

LEFT(A1,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&1/17))-1) ,简单的左起提取文本串。

综上所述,B1公式的功能就是:提取字串内出现第一个数字之前的其他字串。
相似回答