Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4153|回复: 14

数组练习题(字符串问题)

[复制链接]
发表于 2007-9-20 13:12 | 显示全部楼层 |阅读模式
<p>要求对一个字符串进行连续统计。</p><p>比如</p><p>字符串一</p><p>1123560708</p><p>对其统计结果为</p><p>1321111</p><p>即第一个数值和第二个数值不连续就为1;第二个数值到第四个数值是三连,即为3;第五个数值到第六个数值为二连,即为2;后面四个数值都没有连续即都为1。</p><p>321这一类属不连。</p><p>&nbsp;</p>
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2007-9-20 15:05 | 显示全部楼层

<p>借用data0,data1</p><p>num=FREQUENCY(IF(DATA1,DATA0),IF(1-DATA1,DATA0))</p><p>结果=INT(SUM((num+1)*10^(COUNT(num)-1-ROW(INDIRECT("1:"&amp;COUNT(num))))))</p>
回复

使用道具 举报

 楼主| 发表于 2007-9-20 16:22 | 显示全部楼层

<p>
汗 这可是你出的题目,你还问人,大伙还等你总结呢.
</p><p></p><p>偶还没有做出答案来。[em06]</p>
回复

使用道具 举报

发表于 2007-9-20 16:51 | 显示全部楼层

<p>大家继续钻</p><p>&nbsp;</p><p>等有成果了,我来慢慢学,</p>[em01]
回复

使用道具 举报

发表于 2007-9-20 13:19 | 显示全部楼层

<p>啊。。&nbsp;。。。</p><p>不用数组可不可以。。</p><p>数组不会。</p><p>呵呵~!</p>
回复

使用道具 举报

发表于 2007-9-20 13:29 | 显示全部楼层

<p>Data0=ROW(INDIRECT("1:"&amp;LEN($A$1)))<br/>Data1=IF(Data0=LEN($A$1),0,N(MID($A$1,Data0+1,1)-MID($A$1,Data0,1)=1))<br/>Data2=HLOOKUP(16,FREQUENCY(IF(Data1,Data0),IF(Data1,,Data0)),Data0)<br/>结果=SUBSTITUTE(SUM(IF(Data2,Data2+1,IF(Data1,0,1))*10^(LEN($A$1)-Data0)),0,)<br/><br/>此方法A1的数字不超过15位<br/><br/>又简化了一下<br/><br/></p><p>&nbsp;</p><p><font color="#f70909" size="5">似乎有点把问题复杂化了,但是思路很好哦!</font></p><p><font color="#f70909" size="5">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ——by knifefox</font></p>
[此贴子已经被knifefox于2007-9-20 15:12:33编辑过]
回复

使用道具 举报

发表于 2007-9-20 14:08 | 显示全部楼层

哇塞,这么多呀,看都看晕了,更不用说写了,学习中。。。
回复

使用道具 举报

发表于 2007-9-20 15:07 | 显示全部楼层

<div class="msgheader">QUOTE:</div><div class="msgborder"><b>以下是引用<i>飞雨飘</i>在2007-9-20 15:05:32的发言:</b><br/><p>借用data0,data1</p><p>num=FREQUENCY(IF(DATA1,DATA0),IF(1-DATA1,DATA0))</p><p>结果=INT(SUM((num+1)*10^(COUNT(num)-1-ROW(INDIRECT("1:"&amp;COUNT(num))))))</p></div><p></p>10段高手[em17][em17][em17]
回复

使用道具 举报

 楼主| 发表于 2007-9-20 15:19 | 显示全部楼层

<p>即然最后一位是舍去的,这个应该也对的吧。</p><p>fatu=((MID(字符串!$A$1&amp;"9",ROW(INDIRECT("2:"&amp;LEN(字符串!$A$1)+1)),1)-MID(字符串!$A$1,ROW(INDIRECT("1:"&amp;LEN(字符串!$A$1))),1))=1)</p><p>num=FREQUENCY(IF(DATA1,ROW(INDIRECT("1:"&amp;LEN(字符串!$A$1)))),IF(1-DATA1,ROW(INDIRECT("1:"&amp;LEN(字符串!$A$1)))))</p><p>结果=INT(SUM((num+1)*10^(COUNT(num)-1-ROW(INDIRECT("1:"&amp;COUNT(num))))))</p><p></p>
回复

使用道具 举报

发表于 2007-9-20 15:41 | 显示全部楼层

<div class="msgheader">QUOTE:</div><div class="msgborder"><b>以下是引用<i>飞雨飘</i>在2007-9-20 15:19:48的发言:</b><br/><p>即然最后一位是舍去的,这个应该也对的吧。</p><p>fatu=((MID(字符串!$A$1&amp;"9",ROW(INDIRECT("2:"&amp;LEN(字符串!$A$1)+1)),1)-MID(字符串!$A$1,ROW(INDIRECT("1:"&amp;LEN(字符串!$A$1))),1))=1)</p><p>num=FREQUENCY(IF(DATA1,ROW(INDIRECT("1:"&amp;LEN(字符串!$A$1)))),IF(1-DATA1,ROW(INDIRECT("1:"&amp;LEN(字符串!$A$1)))))</p><p>结果=INT(SUM((num+1)*10^(COUNT(num)-1-ROW(INDIRECT("1:"&amp;COUNT(num))))))</p><p></p></div><p></p>汗 这可是你出的题目,你还问人,大伙还等你总结呢.[em01]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-15 23:34 , Processed in 0.327073 second(s), 5 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表