|
楼主 |
发表于 2018-10-7 15:42
|
显示全部楼层
本帖最后由 WYS67 于 2018-10-7 16:52 编辑
老师把冷码和冷号代码合二为一,令我茅塞顿开。当时先有冷号,随后才又需要两位数冷号,请人又写了冷码代码,其实是一种规则,完全可以合二为一,只不过必须得按十位、个位分别查询罢了!
温码、冷码的定义是: 0、1、2中,数据源B列十位上的出现次序肯定有先有后,根据0、1、2三个数,最后一次出现在不同行号里,所居十、个位的先后顺序,规定:最靠下的那个数字为热码,稍微靠上的为温码,最上边的那个则为冷码。
举例:如果自B5开始到当前行号,十、个位分开查看,出现的数字都相同【即同一个数字】,则不存在温码、冷码;如果只出现了两个不同数字,则靠下边那个为热码,靠上边那个为温码,仍然没有冷码【如查询冷码,结果为空白】
运算规则是:1.如果只有十位上有温码、冷码而个位上没有,或只有个位上有温码、冷码而十位上没有,计算结果屏蔽为空白【不符合冷码定义】;
2.一旦开始显示的温码、冷码结果,则直到最后一行,中间不会有空白【除非出现同行数据源为空白的情况下】,因为从中间任何一行向上推,都有热码、温码和冷码之分。
看了您写的合二为一的代码,我有一个想法:给函数增加一个选择参数。具体是这样:
1.函数用途:温冷码查询。
2.函数名称:WEN.LENG(数据区域,1【或2】) ,第二参数为1时,为显示稍微靠上的温码;第二参数为2时,则显示最上边的冷码。
3.公式举例说明 :温码--选定C5:C100000区域,输入区域数组公式 =WEN.LENG(B5:B100000,1)
冷码--选定C5:C100000区域,输入区域数组公式 =WEN.LENG(B5:B100000,2)
4.公式类型:区域数组公式
冷码和冷号.zip (532.84 KB, 下载次数: 21)
请老师按照上边温码、冷码定义,和要求,重新编写两用【温码、冷码】和多位【一位数、两位数】的综合代码。
|
|