ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[讨论] 内存数组三之百姓菜篮子

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-11-7 14:59 | 显示全部楼层 |阅读模式
内存数组三之百姓菜篮子

继续求助,内存数组的问题,请各位大侠解惑。

由于担心本帖被秒,下面几位大佬晚点在回帖,让本帖多活一会呀
列位版主、丢老师、M老师、准老师、D老师。

内存数组三之百姓菜篮子.rar (11.16 KB, 下载次数: 144)





评分

9

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-11-7 15:08 | 显示全部楼层
本帖最后由 sbdk007 于 2019-11-7 21:44 编辑

罗老师出题,先占楼学习
开个火车
=INDEX(A:A,MOD(SMALL(IF($A$2:$A$22=T(OFFSET($H$1,COLUMN($F:$AU)/6,MOD(COLUMN($F:$AU),6))),MOD(SMALL(ROW($1:$7)*10^8+MATCH($H$2:$H$8,$A:$A,)*10^4+{0,0,0,0,0,0},COLUMN($A:$AP)),10^8)+(MOD(COLUMN($A:$AP),6)<>1)*100+ROW($2:$22)),ROW(A1)),100))
减几个字符
=INDEX(A:A,MOD(SMALL(IF($A$2:$A$22=T(OFFSET($H$1,COLUMN($F:$AU)/6,MOD(COLUMN($F:$AU),6))),MOD(SMALL(ROW($1:$7)*10^8+MATCH($H$2:$H$8,$A:$A,)*10^4+{0,1,1,1,1,1}/1%,COLUMN($A:$AP)),10^8)+ROW($2:$22)),ROW(A1)),100))

评分

8

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-11-7 15:51 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2019-11-7 16:44 | 显示全部楼层
经过这2天的习题练习,我才发现我原来跟各位老师的差距不止十万八千里~~~~~~~

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-11-7 18:21 | 显示全部楼层
看起来这个问题还有些难度。
各位大佬们再稍微等等,给我们这些进步中的小伙伴们一次练兵的机会呀

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-11-7 18:43 来自手机 | 显示全部楼层
列为老师都没有解,看来我连附件都不用下了,

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-11-7 19:47 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
静看流年RSSQ 发表于 2019-11-7 18:43
列为老师都没有解,看来我连附件都不用下了,

可别这样想静老师,思路为王,不一定哪条路通罗马

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-11-7 19:50 | 显示全部楼层
本帖最后由 我走我流 于 2019-11-7 20:16 编辑

=IF(OR(ROW(A1)=MMULT(N(COLUMN($A:$G)<ROW($1:$7)),INDEX(MMULT(COUNTIF($A$2:$A$22,$H$2:$M$8),ROW(1:6)^0),N(IF({1},MATCH(SMALL(MATCH($H$2:$H$8,$A$2:$A$22,),ROW($1:$7)),MATCH($H$2:$H$8,$A$2:$A$22,),)))))+1),INDEX(A:A,SMALL(IF(COUNTIF($H$2:$H$8,$A$2:$A$22),ROW($2:$22)),SUM(COUNTIF(D1:$D$1,$H$2:$H$8))+1)),INDEX($A$2:$A$22,MATCH(0,COUNTIF(D1:$D$1,$A$2:$A$22),)))
来个超长  的。。D列 公式
换个思路
=IF(MAX(IF(A2=$H$2:$M$8,ROW($2:$8)))<>MAX(IF(A1=$H$2:$M$8,ROW($2:$8))),INDEX(A:A,SMALL(IF(COUNTIF($H$2:$H$8,$A$2:$A$22),ROW($2:$22)),SUM(COUNTIF(INDIRECT("r1c:r[-1]c",),$H$2:$H$8))+1)),INDEX($A$2:$A$22,MATCH(0,COUNTIF(INDIRECT("r1c:r[-1]c",),$A$2:$A$22),)))
可写在任意第2行以下的任意单元格

评分

8

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-11-7 20:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 solextrade 于 2019-11-7 21:09 编辑
sbdk007 发表于 2019-11-7 15:08
罗老师出题,先占楼学习
开个火车
=INDEX(A:A,MOD(SMALL(IF($A$2:$A$22=T(OFFSET($H$1,COLUMN($F:$AU)/6, ...

还是难不倒老师们呀,厉害厉害!


TA的精华主题

TA的得分主题

发表于 2019-11-7 20:43 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 满坛皆为吾师 于 2019-11-7 21:15 编辑

修改一下,OFFSET版本有差异,祸害不浅,修改一下,区域数组,全选三键
=INDEX(A:B,RIGHT(SMALL(IF(COUNTIF(OFFSET(H1:M1,MOD(SMALL(MATCH(H2:H8,A:A,)/1%+ROW(1:7),COLUMN(A:G)),100),),A2:A22),10^COLUMN(A:G)-COUNTIF(H:H,A2:A22)+ROW(2:22)%),ROW()-1)/1%,2),{1,2})

评分

7

查看全部评分

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

本版积分规则

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

GMT+8, 2024-5-5 12:55 , Processed in 0.053335 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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