ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[推荐] [答疑解惑]函数公式解释专用帖

    [复制链接]

TA的精华主题

TA的得分主题

发表于 2009-10-14 12:25 | 显示全部楼层
本帖已被收录到知识树中,索引项:公式基础
看过了,受益匪浅   非常感谢!!

有个数据库函数的问题,请高手帮忙解释下:
其中公式引用的条件区域为什么是两行的?
另外为什么把第一行“语文”换成其他科目也可以计算出正确结果呢?
(公式见附件)

[ 本帖最后由 tome 于 2009-10-15 09:13 编辑 ]

Book1.rar

2.42 KB, 下载次数: 37

数据库函数的应用

TA的精华主题

TA的得分主题

发表于 2009-10-17 14:19 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

回复 421楼 tome 的帖子

请认真查看EXCEL帮助。里面已经说得很清楚了。
QQ截图未命名.jpg

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-10-17 17:30 | 显示全部楼层

回复 421楼 tome 的帖子

确实如楼上所言,您可以查阅函数帮助。
语法:DAVERAGE(database,field,criteria)
其中,第1参数database是构成数据库的单元格区域,第2参数field是指定函数所使用的数据列,也就是要求“语文”则输入"语文"或2(因为语文在该数据表中是第2个字段),第3参数criteria为为一组包含给定条件的单元格区域,上面公式中为B11:B12,即“语文”">59"表示语文及格的数据。

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-10-28 10:30 | 显示全部楼层

四大皆“空”

http://club.excelhome.net/thread-495945-1-1.html
经常可见的词:空、空值、空格、空单元格
到底是什么意思:

空格:按一下键盘上的Space(下方最长的那条)即空格键,则输入一个字符长度为1的空格字符。在公式中用" "表示,其属性当然是文本。
空值:一般指空文本,用""表示,字符长度为0。其属性就是文本。
空单元格:就是单元格里什么也没有,比如按了Del键删除或根本就没有输入过数据。既然没有数据,就不用谈什么属性了。

经常说:显示为空、或返回为空,一般指的是空文本"",比如=IF(A1<0,"",A1)
空单元格,比如A1没有输入过数据,则=A1默认返回0
=A1=0返回TRUE
=A1=""返回TRUE
也就是说空单元格也可以视为0或空文本,但要看公式中的用法。

TA的精华主题

TA的得分主题

发表于 2009-10-30 14:16 | 显示全部楼层

好难过!

我是新手,虽然有大师帮我解决了问题,可是我却看不出来是如何做到的,唉!怎么办呢? 能不能请这里的热心人帮我解解惑呀?
http://club.excelhome.net/thread-496907-1-2.html

水平一般答复:原贴5楼不是已经告诉你按CTRL+F3查看定义了的名称了吗?还有什么不明白?

[ 本帖最后由 gouweicao78 于 2009-11-9 16:18 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-11-9 15:35 | 显示全部楼层

请帮我解释一下这公式,并说说怎么能扩大范围!

=IF(ROW(A3)>SUM((Sheet1!$A$3:$A$15=$B$1)+(Sheet1!$B$3:$B$15=$B$2)+(Sheet1!$C$3:$C$15=$B$3)+(Sheet1!$D$3:$D$15=$B$4)),"",INDEX(Sheet1!A:A,SMALL(IF((Sheet1!$A$3:$A$15=$B$1)+(Sheet1!$B$3:$B$15=$B$2)+(Sheet1!$C$3:$C$15=$B$3)+(Sheet1!$D$3:$D$15=$B$4),ROW($3:$15),4^8),ROW(A3))))
是数组公式,详细见附件!

hhhh (2).rar

4.54 KB, 下载次数: 39

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-11-9 16:25 | 显示全部楼层

回复 426楼 窦国祥 的帖子

IF函数白用了。公式改为:
=INDEX(Sheet1!A:A,SMALL(IF((Sheet1!$A$3:$A$15=$B$1)+(Sheet1!$B$3:$B$15=$B$2)+(Sheet1!$C$3:$C$15=$B$3)+(Sheet1!$D$3:$D$15=$B$4),ROW($3:$15),4^8),ROW(A3)))&""
这个解法本帖已有相关解释。
其中
1、SMALL(IF(条件,row(对应数据区域的行),4^8),row(1:1))——也就是满足条件的话,就返回相应行号,不满足的返回4^8也就是65536(即Excel2003最下方一行),然后通过SMALL+row(1:1)排序依次取出最小、第2小……满足条件的行号
2、INDEX+SMALL得到的行号,取出相应的交叉位置的单元格值,比如INDEX(Sheet1!A:A,10)就是取Sheet1表的A10单元格,如果已经没有满足条件要求的记录,则SMALL得到的是65536,也就是返回Sheet1!A65536单元格,再利用&""结合将空单元格返回为空文本。

TA的精华主题

TA的得分主题

发表于 2009-11-9 16:43 | 显示全部楼层
谢谢gouweicao78老师,只是我是新手,只知道如何应用,不怎么明白其中的原理,谢谢你的解释和改进,我再问一下:如何扩大表二中可查询的表一相应的范围?因为我表一的数据有几千个,再次麻烦了!
还有,表一中的辅助单元格是起什么作用的?


不好意思,我刚才把公式换进去试试怎么好像不行呢?我这人笨,还是麻烦老师帮我在我的附件里改正吧,呵呵。。。
谢了!

[ 本帖最后由 窦国祥 于 2009-11-9 17:06 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-11-9 19:53 | 显示全部楼层
在Sheet2表的A7单元格输入:

  1. =INDEX(Sheet1!A:A,SMALL(IF((Sheet1!$A$3:$A$15=$B$1)+(Sheet1!$B$3:$B$15=$B$2)+(Sheet1!$C$3:$C$15=$B$3)+(Sheet1!$D$3:$D$15=$B$4),ROW($3:$15),4^8),ROW(A1)))&""
复制代码


注意:公式是数组公式,输入后要按CTRL+SHIFT+ENTER结束
其中,Sheet1!$A$3:$A$15=$B$1表示Sheet1的A3:A15与本表的B1单元格内容相同,其它3个条件类似,四个条件相加表示4个条件只要满足其中之一就可以了。

如果要修改范围,只需要将Sheet1!$A$3:$A$15等几个引用位置改为你需要引用的范围即可。

TA的精华主题

TA的得分主题

发表于 2009-11-9 21:02 | 显示全部楼层
谢谢gouweicao78老师,我试了试,基本合我意了,不过,还有点要麻烦你改进一下,现在的情况是SHEET2中的B1到B4四个单元格只要任意输入一个数据,就能查出相对应的数据来,但是如果想多输入点数据,更精确些查找,就有点乱了,我的意思是说,在B1中输入日期后,再在B2中输入客户名称,就能更精确地查找,甚至再输入型号,规格后,达到更精确的查找,不知还能不能实现?
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-12-23 23:46 , Processed in 0.034999 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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