ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: piny

[Excel 函数与公式] 【71期】Piny系列-十二生肖大亂鬥

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-2-21 15:38 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
先提交一个262字符:
=IF(COUNT(MATCH(FIND(A2:C2,"猴雞狗豬鼠牛虎兔龍蛇馬羊"),FIND(A2:C2,"羊猴雞狗豬鼠牛虎兔龍蛇馬"),)),LOOKUP(LOOKUP(3,MATCH(FIND(A2:C2,"猴雞狗豬鼠牛虎兔龍蛇馬羊"),FIND(A2:C2,"羊猴雞狗豬鼠牛虎兔龍蛇馬"),)),{1,2,3},A2:C2)&"的下一個生肖是"&LOOKUP(3,MATCH(FIND(A2:C2,"猴雞狗豬鼠牛虎兔龍蛇馬羊"),FIND(A2:C2,"羊猴雞狗豬鼠牛虎兔龍蛇馬"),),A2:C2),"無相鄰")

251字符:
=IF(COUNT(MATCH(FIND(A2:C2,"猴雞狗豬鼠牛虎兔龍蛇馬羊"),FIND(A2:C2,"羊猴雞狗豬鼠牛虎兔龍蛇馬"),)),INDEX(2:2,,LOOKUP(3,MATCH(FIND(A2:C2,"猴雞狗豬鼠牛虎兔龍蛇馬羊"),FIND(A2:C2,"羊猴雞狗豬鼠牛虎兔龍蛇馬"),)))&"的下一個生肖是"&LOOKUP(3,MATCH(FIND(A2:C2,"猴雞狗豬鼠牛虎兔龍蛇馬羊"),FIND(A2:C2,"羊猴雞狗豬鼠牛虎兔龍蛇馬"),),A2:C2),"無相鄰")

219字符,数组公式:
=IF(COUNT(MATCH(MATCH(A2:C2,C$3:C14,),MATCH(A2:C2,C$2:C13,),)),INDEX(2:2,,LOOKUP(3,MATCH(MATCH(A2:C2,C$3:C14,),MATCH(A2:C2,C$2:C13,),)))&"的下一個生肖是"&LOOKUP(3,MATCH(MATCH(A2:C2,C$3:C14,),MATCH(A2:C2,C$2:C13,),),2:2),"無相鄰")

[ 本帖最后由 gdfcx 于 2011-2-23 13:54 编辑 ]

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-2-21 21:18 | 显示全部楼层
=INDEX(IF(ROW($1:$13)<13,REPLACE(MID("鼠牛虎兔龍蛇馬羊猴雞狗豬鼠",ROW($1:$12),2),2,,"的下一個生肖是"),"無相鄰"),MIN(IF(MMULT(N(COUNTIF(A2:C2,MID("鼠牛虎兔龍蛇馬羊猴雞狗豬鼠",ROW($1:$12)+{0,1},1))>0),{1;1})=2,ROW($1:$12),13)))

[ 本帖最后由 hopeson2010 于 2011-3-19 12:20 编辑 ]

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-2-21 21:34 | 显示全部楼层
J2=SUBSTITUTE(MID("鼠8牛8虎8兔8龍8蛇8馬8羊8猴8雞8狗8豬8鼠   無相鄰",FIND(11,RMB(SUM((FREQUENCY(FIND(A2:C2,"鼠牛虎兔龍蛇馬羊猴雞狗豬"),ROW($1:$11))>0)/10^ROW($1:$12)),12)&2-OR(A2:C2="鼠")&211)*2-7,3),8,"的下一個生肖是")
数组公式。
感觉公式长度要短的话,必须是一次性完成判断是否相邻与取数,这个利用FREQUENCY倒是可以,但后来又碰到/10^ROW($1:$12))的的数字丢失问题,如果用TEXT(,"0."&REPT(0,12))总是不太理想,字符数总是达不到,试来试去,想到了文本函数中的FIXED和RMB,用了下真的行的,字符数恰恰完成。连等号180个字符整。

[ 本帖最后由 山桑弓 于 2011-2-22 21:38 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-2-22 10:26 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
=MID(SUBSTITUTE("鼠a牛a虎a兔a龍a蛇a馬a羊a猴a雞a狗a豬a鼠aab無相鄰","a","的下一個生肖是"),8*FIND(11,SUBSTITUTE(SUBSTITUTE(SUBSTITUTE("鼠牛虎兔龍蛇馬羊猴雞狗豬鼠",A2,1),B2,1),C2,1)&"a11")-7,9)
加等号153字符
改一些150字符:=MID(SUBSTITUTE("鼠a牛a虎a兔a龍a蛇a馬a羊a猴a雞a狗a豬a鼠aba無相鄰","a","的下一個生肖是"),8*FIND(11,SUBSTITUTE(SUBSTITUTE(SUBSTITUTE("鼠牛虎兔龍蛇馬羊猴雞狗豬鼠a11",A2,1),B2,1),C2,1))-7,9)

[ 本帖最后由 chunlin1wang 于 2011-2-22 11:18 编辑 ]

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-2-22 19:36 | 显示全部楼层

164字符,(好像标题所有人都能看见,试试看)

251字符
=SUBSTITUTE(REPLACE(MID("鼠牛虎兔龍蛇馬羊猴雞狗豬鼠 ",MIN(IF(SMALL(FIND(A2:C2,"鼠牛虎兔龍蛇馬羊猴雞狗豬"),{1,2})=SMALL(FIND(A2:C2,"鼠牛虎兔龍蛇馬羊猴雞狗豬"),{2,3})-1,SMALL(FIND(A2:C2,"鼠牛虎兔龍蛇馬羊猴雞狗豬鼠"),{1,2}),14-2*(SUM(N(COUNTIF(A2:C2,{"鼠";"豬"})>0))=2))),2),2,,"的下一個生肖是")," 的下一個生肖是","無相鄰")

164字符
=SUBSTITUTE(REPLACE(MID("鼠牛虎兔龍蛇馬羊猴雞狗豬鼠  ",MIN(FIND(MID(A2&B2&A2&C2&B2&C2&A2,ROW($1:$6),2),"鼠牛虎兔龍蛇馬羊猴雞狗豬鼠 "&A2&B2&A2&C2&B2&C2&A2)),2),2,,"的下一個生肖是")," 的下一個生肖是","無相鄰")

[ 本帖最后由 wangyuhu 于 2011-2-28 21:03 编辑 ]

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-2-25 09:38 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
好久不参加竞赛了,先发一个192字符吧:
J2=IF(COUNT(FIND(A2:C2&TRANSPOSE(A2:C2),"鼠牛虎兔龍蛇馬羊猴雞狗豬鼠")),REPLACE(MID("鼠牛虎兔龍蛇馬羊猴雞狗豬鼠",FIND(11,SUM((COUNTIF(A2:C2,MID("鼠牛虎兔龍蛇馬羊猴雞狗豬鼠",ROW($1:$13),1))>0)/10^ROW($1:$13)))-2,2),2,,"的下一個生肖是"),"無相鄰")
这是不需要按三键的普通公式,175字符:
J2=SUBSTITUTE(LOOKUP(2,1/(MMULT(--(COUNTIF(A2:C2,MID("??@鼠牛虎兔龍蛇馬羊猴雞狗豬鼠",ROW($1:$15)+{0,1},1))>0),{1;1})=2),MID("無相鄰111鼠1牛1虎1兔1龍1蛇1馬1羊1猴1雞1狗1豬1鼠",ROW($1:$15)*2-1,3)),1,"的下一個生肖是")
再来一个普通公式,157字符:
J2=SUBSTITUTE(MID("鼠1牛1虎1兔1龍1蛇1馬1羊1猴1雞1狗1豬1鼠111無相鄰",MATCH(2,MMULT(--(COUNTIF(A2:C2,MID("鼠牛虎兔龍蛇馬羊猴雞狗豬鼠@??",ROW($1:$15)+{0,1},1))>0),{1;1}),)*2-1,3),1,"的下一個生肖是")

[ 本帖最后由 wddn 于 2011-3-1 07:39 编辑 ]

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-2-25 09:13 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
=LOOKUP("座",REPLACE(MID("鼠牛虎兔龍蛇馬羊猴雞狗豬鼠",FIND({0,11},SUBSTITUTE(SUBSTITUTE(SUBSTITUTE("鼠牛虎兔龍蛇馬羊猴雞狗豬鼠0",A2,1),B2,1),C2,1)),2),2,,{"無相鄰","的下一個生肖是"}))

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-2-26 13:34 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
先来坐个位。。

-----------------------------

==================
再精简,还需要努力
J2=LEFT(SUBSTITUTE(MID("鼠0牛0虎0兔0龍0蛇0馬0羊0猴0雞0狗0豬0鼠",FIND(101,SUBSTITUTE(SUBSTITUTE(SUBSTITUTE("鼠0牛0虎0兔0龍0蛇0馬0羊0猴0雞0狗0豬0鼠101",A2,1),B2,1),C2,1)),3),0,"的下一個生肖是")&"無相鄰",9)
=======================
再减1函数
J2=SUBSTITUTE(MID("鼠0牛0虎0兔0龍0蛇0馬0羊0猴0雞0狗0豬0鼠無相鄰",FIND(101,SUBSTITUTE(SUBSTITUTE(SUBSTITUTE("鼠0牛0虎0兔0龍0蛇0馬0羊0猴0雞0狗0豬0鼠101",A2,1),B2,1),C2,1)),3),0,"的下一個生肖是")

[ 本帖最后由 HadesBoss 于 2011-3-1 11:44 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-2-26 19:11 | 显示全部楼层
補充說明:J2只能引用A2, B2, C2,之後下拉

这个补充要求多用了56字符,实在是找不到220以下的路线,先交了等看答案吧。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-2-26 21:21 | 显示全部楼层
=SUBSTITUTE(TEXT(REPLACE(MID("  豬鼠牛虎兔龍蛇馬羊猴雞狗豬",LOOKUP(99,FIND(MID(A2&B2&C2&B2&A2&C2&A2,{8;1;2;3;4;5;6},2),"  豬鼠牛虎兔龍蛇馬羊猴雞狗豬")),2),2,,1),"無相鄰"),1,"的下一個生肖是")

评分

1

查看全部评分

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

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-21 20:04 , Processed in 0.048596 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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