ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 求问excel中使用small函数怎么返回其所要的小值的单元格以提取其列

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-4-16 22:42 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
是这样的,要在前四列数据(一级指标)中选取出最小值,如果其为唯一值则输出其所在列,如果不是唯一值,则比较其最小相同值的列数+4之后的单元格的数据(二级指标),选取其最大值之后输出其前四列一级指标的二级指标的最大值的列,比如说A2/D2为最小的相同值,则比较E2、H2,因为H2>E2,所以输出D2所在的列,即4,求助大佬如何写,我写了一个初级的公式,但是small没法返回倒数第二小的单元格,所以只能按顺利返回到A2的列,没法返回D2的列。如图所示。我写的公式为=IF(SMALL(A2:D2,1)<>SMALL(A2:D2,2),MATCH(SMALL(A2:D2,1),A2:D2,0),最小值为唯一值直接输出列 IF(SMALL(A2:D2,1)=SMALL(A2:D2,2),如果有两个相等的最小值IF(INDEX(A2:H2,,MATCH(SMALL(A2:D2,1),A2:D2,0)+4)<INDEX(A2:H2,,MATCH(SMALL(A2:D2,2),A2:D2,0)+4),MATCH(SMALL(A2:D2,2),A2:D2,0),输入最小的值的列MATCH(SMALL(A2:D2,1),A2:D2,0))否则输入第二小的值的列,IF(SMALL(A2:D2,1)=SMALL(A2:D2,2)=SMALL(A2:D2,3)如果有三个相等的最小值,IF(INDEX(A2:H2,,MATCH(SMALL(A2:D2,1),A2:D2,0)+4)=MAX(INDEX(A2:H2,,MATCH(SMALL(A2:D2,1),A2:D2,0)+4),INDEX(A2:H2,,MATCH(SMALL(A2:D2,2),A2:D2,0)+4),INDEX(A2:H2,,MATCH(SMALL(A2:D2,3),A2:D2,0)+4))如果最小值的一级指标的二级指标是最大的,MATCH(SMALL(A2:D2,1),A2:E2,0)输出最小的一级指标,IF(INDEX(A2:H2,,MATCH(SMALL(A2:D2,2),A2:D2,0)+4)=MAX(INDEX(A2:H2,,MATCH(SMALL(A2:D2,1),A2:D2,0)+4),INDEX(A2:H2,,MATCH(SMALL(A2:D2,2),A2:D2,0)+4),INDEX(A2:H2,,MATCH(SMALL(A2:D2,3),A2:D2,0)+4))如果第二小的值的一级指标的二级指标最大,MATCH(SMALL(A2:D2,2),A2:E2,0),IF(INDEX(A2:H2,,MATCH(SMALL(A2:D2,3),A2:D2,0)+4)=MAX(INDEX(A2:H2,,MATCH(SMALL(A2:D2,1),A2:D2,0)+4),INDEX(A2:H2,,MATCH(SMALL(A2:D2,2),A2:D2,0)+4),INDEX(A2:H2,,MATCH(SMALL(A2:D2,3),A2:D2,0)+4)),MATCH(SMALL(A2:D2,3),A2:E2,0)))))))     后面就是分成几种情况,暂时没有写如果四个指标都相等时怎么看,看着很复杂,其实使用的函数很简单,只是叠加在一起很多,拜托大佬给看看哪里有问题,之后的我自己写就好啦,附件中有完整未添加文字的公式,麻烦大佬给看看,先感谢了!!

}TJGFS}6`YX73IUCL]P0R{Q.png

数据计算.zip

9.23 KB, 下载次数: 5

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-4-16 22:49 | 显示全部楼层
本帖最后由 jiajiaS 于 2018-4-16 23:12 编辑

不好意思各位大佬,忘记附上正确值了,正确的显示应该是K2为4   K3为4   K4为4   K5为4  K6为1    K7为4   K8为4   K9为3  K10为3  K11为4   K12为4    K13为4

数据计算.zip

9.74 KB, 下载次数: 3

这里是附上了正确值的excel数据

TA的精华主题

TA的得分主题

发表于 2018-4-16 22:55 | 显示全部楼层
  1. =MOD(MIN(--(RANK(A2:D2,A2:D2,1)&RANK(E2:H2,E2:H2,1)&COLUMN(A:D))),10)
复制代码

数组公式,输入完公式后,一起按Ctrl+Shift+Enter三键结束。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-4-16 23:03 | 显示全部楼层
3楼根据旧说明

下面这个应该是正确的,数组公式
  1. =MOD(MAX(--(RANK(A2:D2,A2:D2)&RANK(E2:H2,E2:H2,1)&COLUMN(A:D))),10)
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-4-16 23:06 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Datous 发表于 2018-4-16 22:55
数组公式,输入完公式后,一起按Ctrl+Shift+Enter三键结束。

    还是不太行呢     拖动为144331112

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-4-16 23:09 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-4-16 23:15 | 显示全部楼层
Datous 发表于 2018-4-16 22:55
数组公式,输入完公式后,一起按Ctrl+Shift+Enter三键结束。

回复1.png 不行哎    忘记附上正确值了   可能误导您了   不过还是很谢谢您

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-4-16 23:24 | 显示全部楼层
感谢@Datous的回复,直接回复您的帖子还在审核,所以就从这里回复您了,可能是我附件中的数据误导您了,我附件中的公式是错的,正确值是444414433

TA的精华主题

TA的得分主题

发表于 2018-4-16 23:39 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
jiajiaS 发表于 2018-4-16 23:24
感谢@Datous的回复,直接回复您的帖子还在审核,所以就从这里回复您了,可能是我附件中的数据误导您了,我 ...

见四楼,你的在审,他的也在审

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-4-16 23:51 | 显示全部楼层
wangg913 发表于 2018-4-16 23:39
见四楼,你的在审,他的也在审

是的,一下子发了好多出去/尴尬l脸/,感谢大佬
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-4-18 10:17 , Processed in 0.050190 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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