ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

    [复制链接]

TA的精华主题

TA的得分主题

发表于 2009-5-20 02:22 | 显示全部楼层
本帖已被收录到知识树中,索引项:公式基础
原帖由 旺旺0416 于 2009-5-19 23:58 发表
小弟刚刚学习
INDIRECT("'A"&A6&"'!$C$4")怎么理解
如果A换成B,我的工作也也换成B就出不来了
谢谢


=====
ggsmart的回复:
*******
INDIRECT("'A"&A6&"'!$C$4")
这是一个很简单的公式,查看indirect的函数帮助就知道了。它的作用是返回由文本字符串指定的引用,立即对引用进行计算,并显示其内容。
你的公式的作用是返回字母A与A6单元格内容连接后表示的工作表C4单元格的值。比如你的A6单元格的内容是“工作表”,那"'A"&A6&"'!$C$4"="'A工作表!$C$4" ,加indirect后,就把字符串变为引用,并返回A工作表C4单元格的值。
=====
如果A换成B,我的工作也也换成B就出不来了
A只是你工作表名称的第一个字符,工作表名称第二个至最后一个字符在A6单元格,字母A和A6单元格合并起来才是你完整的工作表名称!

[ 本帖最后由 ggsmart 于 2009-6-4 18:31 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-5-24 16:17 | 显示全部楼层
=SUM(SUMIFS($C$2:$C$22,$A$2:$A$22,{"A","B","C"},$B$2:$B$22,{1;3;4}))这个用法有人能说明一下不


gouweicao78答复:SUMIFS是2007版新增多条件求和函数,看一下函数帮助即可知道这个公式是求——A2:A22值为A、B、C,且B2:B22值为1、3、4的总和。
请遵守【答疑解惑】帖规,给链接或附件。此处{"A","B","C"}和{1;3;4}用的是行、列常量数组,因此估计是:A列是“A”且B列是1或3或4的C列的和+A列是“B”且B列是1或3或4的C列的和+A列是“C”且B列是1或3或4的C列的和

[ 本帖最后由 gouweicao78 于 2009-5-24 17:45 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-6-3 11:40 | 显示全部楼层
请帮忙解释下这个公式是什么意思?为什么不能按从小到大的排列?详细见附件,谢谢了{=OFFSET($A$3,SMALL(IF(--TEXT(NOW()-$B$4:$B$10,"Y")>50,ROW($1:$7)),ROW(A1)),)}


gouweicao78答复:1、B4:B10是日期,NOW()-B4:B40得到的是天数加当天的小时数,怎么能用TEXT(天数差,"Y")来得到年份呢?您要的是年龄,而非年份,应改用DATEDIF。而且,年龄只要比50多1天——即满50周岁,用>50则表示至少要满51周岁,应改为>=50,因此公式:
  1. =OFFSET($A$3,SMALL(IF(DATEDIF($B$4:$B$10,NOW(),"Y")>=50,ROW($1:$7)),ROW(A1)),)
复制代码

2、公式改为
  1. :=INDEX(A:A,SMALL(IF(DATEDIF(B$4:B$10,NOW(),"Y")>=50,ROW($4:$10),4^8),ROW(1:1)))&""
复制代码
可自动屏蔽错误。
3、上面公式只是将满足>=50岁的人员列出来,没有写按年龄大小排序的条件,下面公式按照出生日期排序:
  1. =INDEX(A:A,RIGHT(SMALL($B$4:$B$10*10^5+IF(DATEDIF(B$4:B$10,NOW(),"Y")>=50,ROW($4:$10),4^8),ROW(1:1)),5))&""
复制代码

具体解释,可参照本帖第28楼多个关键字排序技术等。

[ 本帖最后由 gouweicao78 于 2009-6-4 11:00 编辑 ]

9.rar

3.38 KB, 下载次数: 32

TA的精华主题

TA的得分主题

发表于 2009-6-3 16:21 | 显示全部楼层

从合并单元格中提取数值

刚刚学会了从合并单元格中提取数值,第一次看到的是 使用 =LOOKUP(9E+307,A$1:A1)来分离,后来又有看到用
"座"代替9E307,还有的使用CHAR(65535)来代替,当时看到某帖子的时候以为自己会了,可真正用起来的时候却出现了点问题,现有请高手指点一二!

我使用9E307查找文本字符时出错,使用"座"或者CHAR(65535)来查找数值时出错


原帖子连接:http://club.excelhome.net/viewthread.php?tid=442362

TA的精华主题

TA的得分主题

发表于 2009-6-4 04:08 | 显示全部楼层

超急的问题希望在的版主给个解答!

复习了一下用COUNTIF函数管理重复录入的例子,我操做后的结果和视频上讲的不一下,可是我检查了我输入的公式没有错误这是为什么呀?
公式:=COUNTIF($A$1:$A2,$A2)>1
公式输入后可是显示的重复录入位置不正确请问为什么?


gouweicao78回复:请遵守【答疑解惑】帖规。本帖是解释公式专用。您的问题应该在与视频相关的读者论坛版块求助。请检查一下,公式输入的位置,而不是“刻舟求剑”。

[ 本帖最后由 gouweicao78 于 2009-6-4 10:38 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-6-4 08:20 | 显示全部楼层
原帖由 baycide 于 2009-6-3 16:21 发表
刚刚学会了从合并单元格中提取数值,第一次看到的是 使用 =LOOKUP(9E+307,A$1:A1)来分离,后来又有看到用
"座"代替9E307,还有的使用CHAR(65535)来代替,当时看到某帖子的时候以为自己会了,可真正用起来的时候却出现 ...


========
ggsmart的回复:
一般情况下,大家习惯性地用9E+307来表示最大的数值,用“座”、char(65536)等来表示最大的文本,你用9E+307查找文本当然会出错,用“座”或char(65536)查找数值当然也会出错。
关于什么是9E+307?什么是“座”,请参阅本贴7楼山菊花版主的回贴!http://club.excelhome.net/viewth ... p;page=1#pid1085519

[ 本帖最后由 ggsmart 于 2009-6-4 18:41 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-6-4 10:55 | 显示全部楼层

有点不明白能简单点说么!我刚刚入门!

什么9E+307,还有什么座的!我有点不明白,我想请问如果我遇到这种情况怎么做才是正确的,公式应该怎么写?

gouweicao78答复:请看本帖首页山菊花版主关于9E+307的解释,楼上已给了链接,并且答复查找最后一个文本记录一般用“座”或者CHAR(65535),查找最后一个数值一般用9E+307。

[ 本帖最后由 gouweicao78 于 2009-6-4 11:17 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-6-6 19:15 | 显示全部楼层
公式=LOOKUP(1,0/($B$2=数据!$A$2:$A$14),数据!D2:D14)是什么意思?和帮助文件中的语法形式不一致,想请高人帮忙解释一下,甚为感谢!



gouweicao78答复:花点儿耐心,看一下本帖首页的知识和相关链接,这个公式在133楼及附近几楼已解释过了。
http://club.excelhome.net/viewthread.php?tid=161588&page=9#pid1333061

[ 本帖最后由 gouweicao78 于 2009-6-6 20:08 编辑 ]

资料查找.rar

13.53 KB, 下载次数: 43

TA的精华主题

TA的得分主题

发表于 2009-6-9 17:45 | 显示全部楼层

if公式中And和OR在什么情况下用合适

if公式中And和OR在什么情况下用合适?


gouweicao78答复:请看本帖首页及链接:关于运算符*、+与and、or在逻辑判断中的应用

[ 本帖最后由 gouweicao78 于 2009-6-10 10:28 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-6-12 12:20 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

多行多列筛选不重复值

链接:http://club.excelhome.net/viewthread.php?tid=444229&page=2#pid2893448

公式:
  1. =INDIRECT(TEXT(MIN(IF(ISTEXT($A$3:$C$25)*(COUNTIF(E$2:E2,A$3:C$25)=0),ROW($3:$25)*1000+COLUMN(A:C),65536256)),"r0C000"),0)&""
复制代码

山菊花版主的详细解释见:http://club.excelhome.net/viewthread.php?tid=346759&page=1#pid2217011
思路解释:
1、条件1:A3:C25区域只要A、C列,因为B列是数值,所以用ISTEXT判断来取A、C列
2、条件2:不重复——采用COUNTIF=0的解法,即E$2:E2中尚未出现过的记录。
3、MIN(IF(满足条件,返回Row*1000+Column,65536256)——列号1~256,不超过1000(Excel2003),因此将行号Row*1000+列号Column,不会混到一起。假设A10满足条件1、2,那么就是Row(A10)*1000+Column(A10)=10001
4、TEXT(MIN,"R0C000")——将10001代入的"R10C001"
5、INDIRECT("R10C001",0)——引用第10行第1列——即A10单元格。
6、列出所有满足条件的之后,就是65536256,即R65536C256——Excel2003右下角最后一个单元格。
7、关于&"",本帖前面已有解释。

评分

1

查看全部评分

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

本版积分规则

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

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

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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