发布网友 发布时间:2022-05-25 20:58
共1个回答
热心网友 时间:2024-08-05 14:57
公式要分解开来看,我一般从最里层看起:
第一个公式:
MID(A$1:A$65&10^15,COLUMN(A:J),2) 这部分表示从A1到A65单元格里每个单元格后面补一个1和15个0,然后取A:J列的列号也就是取数字1到10,从A列每一个单元格里从第一位到第十位的字符每个向后取两位字符;比如字符串123456,会取到12,23,34,45,56............
FIND(MID(A$1:A$65&10^15,COLUMN(A:J),2),C1) 外面嵌套了FIND就是说拿刚才取得到的所有的字符去C1这个单元格里的字符串找是否有出现,如果有的就返回一个代表位置的数字,如果没有就返回一个错误值
IFERROR(FIND(MID(A$1:A$65&10^15,COLUMN(A:J),2),C1),"") iferror表示如果公式返回结果是错误则用空白替换结果
COUNT(IFERROR(FIND(MID(A$1:A$65&10^15,COLUMN(A:J),2),C1),"")) count表示计算公式中数字的个数,因为刚才通过FIND得到的数字表示字符在C1中出现过,而得到的错误值被IFERROR替换为空白,不是数字,所以COUNT得到的结果如果大于0则说明A1:A65里出现过C1里面的某几个字符
最后外面的那个N(......)是把非数字的结果替换为数字 因为COUNT(.......)>0是一个逻辑判断式,得到的结果是TRUE或FALSE ,N(......)会吧TRUE转换成1 ,FALSE转换成0
所以最终的结果是1或者0,有1就表示A1:A65里出现过C1里面的某几个字符,否则没有
第二个暂时没空写了,抱歉