ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[Excel 函数与公式] [第125期]火车票余票查询[开贴待总结]

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2019-1-26 22:16 | 显示全部楼层
'=MIN(INDEX(1028+MMULT(N(ROW($1:$6)>=COLUMN($A:$F)),MMULT(IFNA(VLOOKUP(T(IF({1},TRANSPOSE($F$2:$F$7)&"-"&$F$2:$F$7)),$A$2:$B$16,2,),),ROW($1:$6)^0))-MMULT(N(ROW($1:$6)>=COLUMN($A:$F)),MMULT(IFNA(VLOOKUP(T(IF({1},$F$2:$F$7&"-"&TRANSPOSE($F$2:$F$7))),$A$2:$B$16,2,),),ROW($1:$6)^0)),N(IF({1},ROW(INDIRECT(MATCH(LEFT(A2,FIND("-",A2)-1),$F$2:$F$7,)&":"&MATCH(MID(A2,FIND("-",A2)+1,5),$F$2:$F$7,)-1))))))
398字符……凑个热闹吧

评分

6

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-1-27 23:12 | 显示全部楼层
本帖最后由 pxiceplay 于 2019-1-29 17:43 编辑

C2=1028-MAX(MMULT(--({0,1,2,3,4}<{1;2;3;4;5}),SUMIF(A$2:A$16,F$2:F$6&"*",B$2)-SUMIF(A$2:A$16,"*"&F$2:F$6,B$2))*FREQUENCY(ROW(INDIRECT((MATCH(LEFT(A2,2)&"*",F$2:F$6,)&":"&MATCH("*"&RIGHT(A2,2),F$3:F$7,)))),{1;2;3;4}))
缩短一点点:
C2=1028-MAX(MMULT(-({0,1,2,3,4}<{1;2;3;4;5}),MMULT(SUMIF(A$2:A$16,{"*",""}&F$2:F$6&{"","*"},B$2),{1;-1}))*FREQUENCY(ROW(INDIRECT((MATCH(LEFT(A2,2)&"*",F$2:F$6,)&":"&MATCH("*"&RIGHT(A2,2),F$3:F$7,)))),{1;2;3;4}))

评分

7

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-1-31 20:02 | 显示全部楼层
本帖最后由 CheryBTL 于 2019-2-2 15:38 编辑

171字符:
  1. =1028-RIGHT(MAX(MMULT(COLUMN(A:O)^0,(MATCH(LEFT(A$2:A$16,2)&"*",F:F,)<COLUMN(C:H))*(MATCH("*"&RIGHT(A$2:A$16,2),F:F,)>COLUMN(B:G))*(B$2:B$16+(ROW()=ROW($2:$16))*10^4))),4)
复制代码

评分

6

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-2-3 12:17 | 显示全部楼层
本帖最后由 满坛皆为吾师 于 2019-2-3 13:41 编辑

第一眼看到这题,脑袋就有点晕,感觉好绕,然后请梦幻帮我讲了下逻辑,今天抽时间码了下,215字符,祝大家新年愉快,打麻将去了。
  1. =MIN(INDEX(1028-MMULT(N(ROW($1:$6)>=COLUMN(A:F)),MMULT(SUMIF(A$2:A$16,IF({1,0},"*"&F$2:F$7,F$2:F$7&"*"),B$2:B$16),{-1;1})),N(IF(1,ROW(INDIRECT(MATCH(LEFT(A2)&"*",F$2:F$7,)&":"&MATCH("*"&RIGHT(A2,2),F$2:F$7,)-1))))))
复制代码

评分

7

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-2-6 21:37 | 显示全部楼层
本帖最后由 太阳之子 于 2019-2-12 16:36 编辑

感谢各位大神参与,尛ぃ謉公式居然可以写到125字符,还有海鲜老师、丢丢老师、micch老师,字符数都是130+,令人佩服。春节期间,走亲访友,没有时间总结,我也不善于总结。暂时将公式汇总。哪位大师能代为总结,感激不尽。

本帖子中包含更多资源

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

x

评分

5

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-2-8 17:32 来自手机 | 显示全部楼层
本帖最后由 江苏永能朱兴华 于 2019-2-13 08:53 编辑

海鲜老师、丢丢老师、micch老师、尛ぃ謉老师的公式思路都挺牛的,尛ぃ謉老师公式按F9理解都有点吃力,都是大神级的,向你们学习了。

TA的精华主题

TA的得分主题

发表于 2019-2-9 10:06 | 显示全部楼层
本帖最后由 micch 于 2019-2-9 10:12 编辑
  1. =MIN(ABS(MMULT(N(ROW($1:$6)<COLUMN(B:G)),ISNUMBER(FIND(F$2:F$7,A2))*2^11+MMULT(SUMIF(A:A,{"","*-"}&F$2:F$7&"*",B:B),{1;-1}))-1020))
复制代码


嘿嘿,想找个尾数是1028的数减字数,最后只有2048最接近,不过也只比9^9少一点点,想不到海鲜老师居然也用这个数了,还有丢丢老师用的11028,就差1-3个字符,再没有更好的数字了;答题的最后那个公式,不用常量还是错了,不通用,这个数字还是不能省;
这两天又检查了一下126题,发现公式一样是有问题,也就对模拟数据可以,如果返利标准变了,就可能出错,看来细微处我总是差了不少

TA的精华主题

TA的得分主题

发表于 2019-2-9 10:28 | 显示全部楼层
本帖最后由 丢丢表格 于 2019-2-9 10:32 编辑
micch 发表于 2019-2-9 10:06
嘿嘿,想找个尾数是1028的数减字数,最后只有2048最接近,不过也只比9^9少一点点,想不到海鲜老师居然 ...

这样写:
  1. =MIN(ABS(4153+MMULT(N(ROW($2:$7)>COLUMN(A:F)),MMULT(SUMIF(A:A,"*"&F$2:F$7&{"-*",""},B:B),{-1;1})-ISNUMBER(FIND(F$2:F$7,A2))*5^5)))
复制代码

字数就是130了
  开始时 我也狂找 1028 的倍数(接近数),还是 用11028 这样写 可读性好些,所以就用它了

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-2-9 10:38 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
是的,1028还是应该体现出来,否则换个车次,还得重计算个数出来,最好还是能体现出这个数字。
其实也不是很纠结这几个字符,主要是我以为能减到130以内,所以折腾了很久,最后发现做不到,只好用了最后那个公式,但是从原理上看肯定是不通用的,abs那里通不过。
需要到达站之后的车站的已购票人数大于购买区间车站的空座数,我觉得需要前提条件上车人数大于空座人数,研究了半天想模拟一组空座大于人数的数据来验证公式错误,但是最后放弃了。

TA的精华主题

TA的得分主题

发表于 2019-2-9 17:32 | 显示全部楼层
本帖为密码帖 ,请输入密码 
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-3-29 05:29 , Processed in 0.048128 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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