Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: wshcw

[原创]趣味题(可做为水平测试参考题)

[复制链接]
发表于 2008-7-21 10:04 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

发表于 2008-7-23 22:00 | 显示全部楼层

<p>笨人有笨人的方法</p><p>=IF(MIN(MID(E2,ROW(INDIRECT("$1:$"&amp;LEN(E2))),1)*1)=0,E2,IF(MOD(SUMPRODUCT(MID(E2,ROW(INDIRECT("$1:$"&amp;LEN(E2))),1)*1),10)&gt;0,SUBSTITUTE(REPT(0,RIGHT(E2))&amp;SUMPRODUCT(MID(E2,ROW(INDIRECT("$1:$"&amp;LEN(E2))),1)*1,10^(RIGHT(E2)+1)^(LEN(E2)-ROW(INDIRECT("$1:$"&amp;LEN(E2)))))&amp;REPT(0,RIGHT(E2))&amp;"",0,"*"),E2))</p>
回复

使用道具 举报

发表于 2008-7-25 15:52 | 显示全部楼层
回复

使用道具 举报

发表于 2008-7-29 14:03 | 显示全部楼层

<p>确实比较有趣</p><p>加起来是10的倍数或包含0的,只显示原来的</p><p>不然在数字前后按末位数字的数值加*的个数</p><p></p>
回复

使用道具 举报

发表于 2008-7-29 14:05 | 显示全部楼层

<div class="msgheader">QUOTE:</div><div class="msgborder"><b>以下是引用<i>E-H-P</i>在2008-7-23 22:00:00的发言:</b><br/><p>笨人有笨人的方法</p><p>=IF(MIN(MID(E2,ROW(INDIRECT("$1:$"&amp;LEN(E2))),1)*1)=0,E2,IF(MOD(SUMPRODUCT(MID(E2,ROW(INDIRECT("$1:$"&amp;LEN(E2))),1)*1),10)&gt;0,SUBSTITUTE(REPT(0,RIGHT(E2))&amp;SUMPRODUCT(MID(E2,ROW(INDIRECT("$1:$"&amp;LEN(E2))),1)*1,10^(RIGHT(E2)+1)^(LEN(E2)-ROW(INDIRECT("$1:$"&amp;LEN(E2)))))&amp;REPT(0,RIGHT(E2))&amp;"",0,"*"),E2))</p></div><p></p>似乎不行唷,呵呵
回复

使用道具 举报

发表于 2008-7-29 15:34 | 显示全部楼层

<div class="msgheader">QUOTE:</div><div class="msgborder"><b>以下是引用<i>E-H-P</i>在2008-7-23 22:00:00的发言:</b><br/><p>笨人有笨人的方法</p><p>=IF(MIN(MID(E2,ROW(INDIRECT("$1:$"&amp;LEN(E2))),1)*1)=0,E2,IF(MOD(SUMPRODUCT(MID(E2,ROW(INDIRECT("$1:$"&amp;LEN(E2))),1)*1),10)&gt;0,SUBSTITUTE(REPT(0,RIGHT(E2))&amp;SUMPRODUCT(MID(E2,ROW(INDIRECT("$1:$"&amp;LEN(E2))),1)*1,10^(RIGHT(E2)+1)^(LEN(E2)-ROW(INDIRECT("$1:$"&amp;LEN(E2)))))&amp;REPT(0,RIGHT(E2))&amp;"",0,"*"),E2))</p></div><p></p><p>借你的公式</p><p>修改一下,</p><p>=IF(OR(MIN(MID(E2,ROW(INDIRECT("$1:$"&amp;LEN(E2))),1)*1)=0,MOD(SUMPRODUCT(MID(E2,ROW(INDIRECT("$1:$"&amp;LEN(E2))),1)*1),10)=0),E2,SUBSTITUTE(REPT(0,RIGHT(E2))&amp;SUMPRODUCT(MID(MID(E2,1,2),ROW(INDIRECT("$1:$"&amp;LEN(MID(E2,1,2)))),1)*1,10^(RIGHT(E2)+1)^(LEN(MID(E2,1,2))-ROW(INDIRECT("$1:$"&amp;LEN(MID(E2,1,2))))))&amp;REPT(0,RIGHT(E2))&amp;""&amp;IF(LEN(E2)&gt;2,MID(E2,3,1)&amp;REPT(0,RIGHT(E2)),"")&amp;IF(LEN(E2)&gt;3,MID(E2,4,1)&amp;REPT(0,RIGHT(E2)),"")&amp;IF(LEN(E2)&gt;4,MID(E2,5,1)&amp;REPT(0,RIGHT(E2)),""),0,"*"))</p><p>&nbsp;</p><p>这样就可以了,如果超过位数字,那就在公式后面加一段</p><p>&nbsp;</p><p>因为14位以上电脑就不计算后面的数值了,所以只能用两位,后面的一个个套上去</p><p>&nbsp;</p><p>应该有好办法的,这种笨办法只能临时用用</p>
回复

使用道具 举报

发表于 2008-7-30 10:51 | 显示全部楼层

<p>首先是找出规律,然后才根据规律写出公式或自定义VBA函数。<br/>找到的规律如下:<br/>1、在每位数字的前后增加*,*的数量与个位相同。<br/>2、例外1:如果字符串所有的位数相加之和,除以10,结果为整数,则*的数量为0。<br/>3、例外2:如果字符串以0开始或以0结束,则*的数量为0。</p><p>不知是否还存在其它规律,请大家一起找规律,找出规律则可以根据规律写公式。</p><p></p><p></p><p></p>
回复

使用道具 举报

发表于 2008-8-1 15:11 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2008-9-16 00:27 | 显示全部楼层

<p>顶贴的热情不高,我贴出3种答案好了:</p><p>=IF(ISERR(FIND(0,A1&amp;SUM(-(0&amp;MID(A1,COLUMN(1:1),1))))),TEXT(A1,REPT(REPT("!*",RIGHT(A1))&amp;0,LEN(A1)))&amp;REPT("*",RIGHT(A1)),A1)</p><p>=IF(COUNT(FIND(0,A1&amp;SUM(-(0&amp;MID(A1,COLUMN(1:1),1))))),A1,TEXT(A1,REPT(REPT("!*",RIGHT(A1))&amp;0,LEN(A1)))&amp;REPT("*",RIGHT(A1)))</p><p>=SUBSTITUTE(TEXT(A1,"-"&amp;REPT("0-",LEN(A1))),"-",IF(COUNT(FIND(0,A1&amp;SUM(-(0&amp;MID(A1,COLUMN(1:1),1))))),,REPT("*",RIGHT(A1))))</p>
[此贴子已经被作者于2008-9-16 0:27:30编辑过]
回复

使用道具 举报

发表于 2008-9-17 17:49 | 显示全部楼层

<div class="msgheader">QUOTE:</div><div class="msgborder"><b>以下是引用<i>wshcw</i>在2008-7-9 20:41:00的发言:</b><br/>这里这么多会员,就没一个人看懂?OFFICE精英俱乐部就有人做出来了.</div><div class="msgheader">QUOTE:</div><div class="msgborder">&nbsp;</div>请问是你做出来的吗?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-15 07:57 , Processed in 0.370917 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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