ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

    [复制链接]

TA的精华主题

TA的得分主题

发表于 2008-6-4 17:10 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖已被收录到知识树中,索引项:公式基础

能不能帮忙解释一下这个公式{=SUMPRODUCT((B$4:B$12=G10)*C$3:E$3,SUMIF(G$2:G$5,C$4:E$12,H$2:H$5))},是《精粹》技巧210的,对于数组公式很头痛,函数没问题。 05vmFdvF.rar (2.66 KB, 下载次数: 39)


 请参考该技巧原帖:
[此贴子已经被gouweicao78于2008-6-4 21:17:01编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-6-4 21:09 | 显示全部楼层
QUOTE:
以下是引用cynthia02在2008-6-3 16:09:22的发言:

http://club.excelhome.net/viewthread.php?tid=50146&extra=&page=1#624207  3楼老师的答复看不懂,请斑主分步解释好吗,因为要套用在其他格式,由于弄不懂无法应用,请教了。

1.={IF(E8=0,"",E8*SUM(DAYS360(IF(ROW(INDIRECT(a&":"&b))=a,B8,d),IF(ROW(INDIRECT(a&":"&b))=b,$C$2,dd))*OFFSET($C$134,a-1,0,b-a+1,1))/360)} ?

2.=INDIRECT(a&":"&b)  ?——原帖第6楼已经说清楚了。

3.=ROW(INDIRECT(a&":"&b))=a  ?

4.=IF(ROW(INDIRECT(a&":"&b))=a,B8,d) 与 =  IF(ROW(INDIRECT(a&":"&b))=b,$C$2,dd)分别是???

5.=OFFSET($C$134,a-1,0,b-a+1,1))/360)  ?

多谢!!  多谢!!!  多谢!!!


一口气吃不成胖子。

请先阅读本帖前面的基础知识,才好办法解读。首先,这些公式中用的a、b、d、dd都是定义的名称,按Ctrl+F3可以查看。

a=MATCH(Sheet1!$B$2,Sheet1!$B$5:$B$11,1)——利用B5:B11日期是升序排列的情况,定位B2起始日期所在的行。

同理,b——定位C2截止日期所在的行。在例子中,a=1,b=5

d=OFFSET(Sheet1!$B$5,a-1,0,b-a+1,1)——从B5单元格期,向下偏移a-1行,0列,高度为b-a+1行,宽度为1列,即例中的B5:B9区域

dd=OFFSET(Sheet1!$B$5,a,0,b-a+1,1),同理取得例中的B6:B10区域。

所以:=INDIRECT(a&":"&b)  就是=INDIRECT(1&":"&5)也就是=INDIRECT("1:5"),即返回对第1至第5行的引用;

 =ROW(INDIRECT(a&":"&b) )就是=ROW(1:5),返回第1至5行的行号数组{1;2;3;4;5}

 =ROW(INDIRECT(a&":"&b) )=a就是{1;2;3;4;5}=1得到{True;False;False;False;False}

=IF(ROW(INDIRECT(a&":"&b))=a,$B$2,d)得到即当行号等于a时,返回起始日期,否则返回其他相应日期。

……

至于DAYS360()则是计算日期间隔天数的,一年按360天的算法。而为什么这么算,则是专业方面而非Excel的问题了。

上面大部分都已分解,第5.也有类似的解读,请自己分块看看对应的是什么数据,再根据专业知识来解读是什么具体的含义。

[此贴子已经被作者于2008-6-4 21:10:05编辑过]

TA的精华主题

TA的得分主题

发表于 2008-6-17 15:57 | 显示全部楼层
我外地的同学用内插函数.xla'!yinsert(L$6:M$52,G8)查水库水位和容积,不知为什么我却用不了.=内插函数.xla!Module1.hdhl(L$6:M$52,G8)总是显示
#NAME?而不是内插的值.为什么?

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-6-17 22:27 | 显示全部楼层
QUOTE:
以下是引用yangxh-1253在2008-6-17 15:57:48的发言:
我外地的同学用内插函数.xla'!yinsert(L$6:M$52,G8)查水库水位和容积,不知为什么我却用不了.=内插函数.xla!Module1.hdhl(L$6:M$52,G8)总是显示
#NAME?而不是内插的值.为什么?

因为那个函数不是Excel自带函数,而是用VBA编的自定义函数。

关于内插值,你可以在论坛搜索,有不少方法。

TA的精华主题

TA的得分主题

发表于 2008-6-18 10:19 | 显示全部楼层

=if(left(A1,1)="M",MID(A1,3,LEN(A1)-2),MID(A1,2,LEN(A1)-1))

就如同1M123456 1M45646 1M45649

但是我用了这个公式却只是把1给删除了.M却没有.

请问这个公式怎么解释啊.我怎么看都没有看懂.

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-6-18 10:32 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
QUOTE:
以下是引用yangmeng9143在2008-6-18 10:19:05的发言:

=if(left(A1,1)="M",MID(A1,3,LEN(A1)-2),MID(A1,2,LEN(A1)-1))

就如同1M123456 1M45646 1M45649

但是我用了这个公式却只是把1给删除了.M却没有.

请问这个公式怎么解释啊.我怎么看都没有看懂.

公式意思:如果A1最左边字母是M,则从A1第3个字符起(含),截取A1字符个数-2(实际上,也就是去掉前2个字符,根本没必要这么写),否则去掉第1个字符。

你要得到什么样的结果,请发帖求助。如果要得到公式解释,你可以先阅读本帖前面的知识,许多问题都已有答案。

TA的精华主题

TA的得分主题

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

请问

=IF(AH22="",IF($T$9="",$T$8,$T$9),AH22)

这个公式是什么意思啊?

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-6-19 11:28 | 显示全部楼层
QUOTE:
以下是引用dll006在2008-6-19 11:10:59的发言:

请问

=IF(AH22="",IF($T$9="",$T$8,$T$9),AH22)

这个公式是什么意思啊?

请从头阅读本帖,阅读函数帮助,这样你才能更好掌握理解公式的技巧。

这个公式“直译”:如果AH22为空,再如果T9单元格为空的话,返回T8,否则返回T9,再否则返回AH22

也就是说:AH22有内容,就用AH22,如果没有内容,看看T9有没有,T9有就用T9,最后实在不行了才找T8。

TA的精华主题

TA的得分主题

发表于 2008-6-25 08:50 | 显示全部楼层
QUOTE:
以下是引用gouweicao78在2008-6-24 19:18:45的发言:

请先阅读首页帖规。脱离实际附件讲解公式没多少意思。如果是论坛上的帖子,请给出链接。

JKZ7FV4c.rar (12.76 KB, 下载次数: 38)


上面我说的那个公式是用来算工资条的.虽然这个好用,但是我就是不知道其中的意思,还有一个公式是这样的

A1=CHOOSE(MOD(ROW(),3)+1,"",'生產課5月 '!A$1,INDEX('生產課5月 '!$A$2:$AD$7,(ROW()+1)/3,COLUMN()))这个又是什么意思呢?

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-7-6 11:39 | 显示全部楼层
QUOTE:
以下是引用dg831451在2008-6-25 8:50:13的发言:
QUOTE:
A1=CHOOSE(MOD(ROW(),3)+1,"",'生產課5月 '!A$1,INDEX('生產課5月 '!$A$2:$AD$7,(ROW()+1)/3,COLUMN()))这个又是什么意思呢?

1、MOD(ROW(),3)+1是利用求余函数,形成循环数。比如第1行ROW()=1、MOD(1,3)+1=2,同理MOD(2,3)+1=3,MOD(3,3)+1=1,MDO(4,3)+1=2……

2、CHOOSE(数字,选项1,选项2,选项3)

其中选项1是"",选项2是“生產課5月 '!A$1单元格”——也就是序号、账号等标题栏,选项3:

=INDEX(数据区域,行,列)即:对数据区域生產課5月 '!$A$2:$AD$7来求取某行、某列的交叉处的值。

(ROW()+1)/3:第1行=(1+1)/3=2/3,同理,第2行=3/3=1,第3行=4/3……INDEX函数默认取整。

COLUMN()返回公式所在单元格的列号

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

本版积分规则

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

GMT+8, 2024-11-18 01:40 , Processed in 0.048158 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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