ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

    [复制链接]

TA的精华主题

TA的得分主题

发表于 2009-1-12 20:59 | 显示全部楼层

请教计算式用函数求和

本帖已被收录到知识树中,索引项:公式基础
请问如何在一个空单元格中用函数组式来求得单元格内(0.98+0.78)*2*1.3*0.18计算式的和结果?  
Book1.rar (49.09 KB, 下载次数: 42)


gouweicao78答复:请不要重复发帖以及发无关话题,发问之前请先看一下本帖首页一些链接,是否已有您问题的解答。比如这个问题答案在47楼得到含有备注的算式的计算结果就有解释了。即利用宏表4.0函数EVALUATE定义名称来完成。本例:选择E5单元格,按Ctrl+F3,定义名称jg=EVALUATE(!$E5)+NOW()*0     然后在E5输入=jg即可。

[ 本帖最后由 gouweicao78 于 2009-1-13 00:07 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-1-13 10:34 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
比如A1单元格输入=3+5*2-6^2之类的,我们既想在A列显示公式,又想兼得计算结果,这时候就可以用Evaluate函数了,方法:在B1单元格,插入〉名称〉定义一个名称比如Result=Evaluate(A1) 然后在B1输入=Result就可以得到上式的计算结果“-23”了。
这是46楼的说明。我看过了,但是我按这个操作,得数是0.00。
而且操作过程中好像有点疑问:例如插入—名称—定义名称—在当前工作簿中的名称下边的框中输入Result=Evaluate(E5) —点击确定时弹出对话框显示“输入的名称无效”,所以就无法操作下去了。
同时我按335楼的操作说明——选择E5单元格,按Ctrl+F3,定义名称jg=EVALUATE(!$E5)+NOW()*0,然后点击确定时也同样弹出对话框显示“输入的名称无效”,所以也无法操作下去。
不好意思,可能我理解能力比较差,能请帮我再说明一下操作哪里出错了吗?


选择E5单元格,按Ctrl+F3,对话框中“当前工作簿中的名称”输入:jg
下方的“引用位置”输入:=EVALUATE(!$E5)+NOW()*0

[ 本帖最后由 gouweicao78 于 2009-1-15 20:07 编辑 ]

TA的精华主题

TA的得分主题

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

percentrank的使用方法

array
x
的解释我不明白


【函数帮助】:
返回特定数值在一个数据集中的百分比排位。此函数可用于查看特定数据在数据集中所处的位置。例如,可以使用函数 PERCENTRANK 计算某个特定的能力测试得分在所有的能力测试得分中的位置。
语法
PERCENTRANK(array,x,significance)
Array    为定义相对位置的数组或数字区域。
X    为数组中需要得到其排位的值。
Significance    为可选项,表示返回的百分数值的有效位数。如果省略,函数 PERCENTRANK 保留 3 位小数。
说明
  • 如果数组为空,函数 PERCENTRANK 返回错误值 #NUM!。
  • 如果 significane < 1,函数 PERCENTRANK 返回错误值 #NUM!。
  • 如果数组里没有与 x 相匹配的值,函数 PERCENTRANK 将进行插值以返回正确的百分比排位。
数据
13
12
11
8
4
3
2
1
1
1
公式说明(结果)
=PERCENTRANK(A2:A11,2)2 在上面数据列表中的百分比排位(0.333,因为该数据集中小于 2 的值有 3 个,而大于 2 的值有 6 个,因此为 3/(3+6)=0.333)

不知道您到底哪儿不明白。

[ 本帖最后由 gouweicao78 于 2009-3-10 19:49 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-2-17 17:28 | 显示全部楼层
=LOOKUP(9E+307,--MID(A1,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&1234567890)),ROW(INDIRECT("1:"&LEN(A1)))))   请教下这个公式如何理解?


gouweicao78答复:假设A1为:ABC345.22DEF,则第1个数字在第4位置,LEN(A1)=12
1、MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&1234567890))——找到A1中第1个数字的位置,即第4个位置
2、MID(A1,4,ROW(1:12)——从A1的第4个字符开始截取1、2、3……12个字符,得到{"3";"34";"345";"345.";"345.2";"345.22";"345.22D"……}等12个字符串
3、--MID将文本数字转为数值,非数值转为#VALUE!错误。
4、LOOKUP(9E+307,--MID)——在--MID得到的数值和错误值中查找一个非常大的数值9E+307,得到--MID中最后一个数值,即345.22。(本帖首页山菊花链接有详细解释)

[ 本帖最后由 gouweicao78 于 2009-2-19 09:31 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-2-17 18:03 | 显示全部楼层
MAX(--TEXT(MID(A1,ROW($1:$99),COLUMN(A:O)),"0;;;!0"))   这个公式又改如何解释呢?


gouweicao78答复:假设A1为"AB25C9"
1、MID(A1,ROW($1:$99),COLUMN(A:O))——分别从A1的第1~99个字符期,截取1~15个字。得到:{"A","AB","AB2"……;"B","B2","B25"……;"2","25","25C","25C9"……;"5","5C","5C9","5C9"……}等等共99*15的字符
2、TEXT(字符,"0;;;!0")将字符返回为:正整数、负数为空、零值为空、文本为0。这是错误的,负数、0应予以考虑,比如A1是:AB025C9或者A-25C9,将返回#VALUE!。故修正为TEXT(字符,"0;-0;0;!0")
3、--TEXT返回的字符转为数值,再用MAX求最大值。

[ 本帖最后由 gouweicao78 于 2009-2-19 09:54 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-2-27 10:55 | 显示全部楼层

麻烦版主解释一下把数字变为大写货币的公式

CONCATENATE(IF(INT(B7)=0,"",TEXT(INT(B7),"[DBNum2]G/通用格式元")),IF(INT(MID(RIGHT(FIXED(B7,2,1),2),1,1))=0,IF(INT(MID(RIGHT(FIXED(B7,2,1),1),1,1))=0,"",IF(INT(B7)=0,"","零")),TEXT(INT(MID(RIGHT(FIXED(B7,2,1),2),1,1)),"[DBNum2]G/通用格式角")),IF(INT(MID(RIGHT(FIXED(B7,2,1),1),1,1))=0,"整",TEXT(INT(MID(RIGHT(FIXED(B7,2,1),1),1,1)),"[DBNum2]G/通用格式分")))


gouweicao78答复:抱歉,本人工作忙,未能及时回复。
可以网上搜索更多“人民币大写”公式,有简单的。
1、IF(INT(B7)=0,"",TEXT(INT(B7),"[DBNum2]G/通用格式元"))——如果B7整数为0,返回空文本,否则用TEXT将整数部分返回为中文大写数字([DBNUM2]是中文大写格式)
2、FIXED(B7,2,1)表示对B7四舍五入取整到小数点右边2位,RIGHT(FIXED,2)则取到这2位小数,MID(RIGHT,1,1)则取第1位小数。因此,MID外面根本就不需要再用INT
3、其他部分,利用IF判断是否为0来返回“零”或“整”,用TEXT来返回中文大写数字。
4、CONCATENATE函数将各参数得到的结果合并起来,其实完全可以用&来代替。

[ 本帖最后由 gouweicao78 于 2009-3-10 18:13 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-3-7 12:58 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
请将这个公式的含义及各部分的含义给我详细的讲解一下好吗?拜托啦。。。。。。

=INDEX(IF(M$102>26,A100:CI100,输入数据!A100:CI100),INDEX({19;55;57;21;20;65;66;68;69;86;87;77;78;33;34;35;36;37;38;22;23;24;25;26;27;36;10;11;12;13;14;6;7;8;15;16;17;22;23;24;25;26;27;28;29;34;39;44},M$102))


gouweicao78回复:请先看一下本帖首页帖规,给附件或链接。

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

TA的精华主题

TA的得分主题

发表于 2009-3-9 13:52 | 显示全部楼层

这个公式什么意思?

OFFSET(INDIRECT("'"&$E7&"'!B"&MATCH($B7,INDIRECT("'"&$E7&"'!b:b"),0)),0,22)


gouweicao78回复:假设E7单元格是"表1",则INDIRECT("'"&$E7&"'!b:b")返回对“表1!B:B”的引用。
MATCH(B7,表1!B:B,0)在表1的B列精确定位第几行与B7内容一致;
INDIRECT("'"&$E7&"'!B"&match)则引用表1B列的该单元格,假设在B3。
OFFSET(表1!B3,0,22)表示从表1的B3单元格偏移0行22列即表1X3单元格。

[ 本帖最后由 gouweicao78 于 2009-3-10 18:25 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-3-17 11:02 | 显示全部楼层
http://club.excelhome.net/viewth ... ge=1&extra=page%3D1
请问的帖子中的值班表中函数是怎样实现的?


gouweicao78答复:已在原帖中给出MOD循环排班的方法,更为简单和易理解。

[ 本帖最后由 gouweicao78 于 2009-3-19 20:42 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-3-19 13:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
哪位朋友能帮我解释一下呀,我没有搞懂这个公式。
=IF(AND(C2=" 主叫",D2<>" 10001",D2<>" 10000"),IF(ISNUMBER(FIND("分",B2)),LEFT(B2,FIND("分",B2)-1)+1,1),"")

特别是IF(ISNUMBER(FIND("分",B2)),LEFT(B2,FIND("分",B2)-1)+1,1),"")这一段,虽然我知道是提取分钟数,但是我确实没有读懂,请版主能帮我解释一下吗?


gouweicao78答复:AND(C2=" 主叫",D2<>" 10001",D2<>" 10000"),也就是通话类型是“主叫”且不是拨打10000号查询;FIND("分",B2)是在B2的通话时长中找到“分”字,如果找不到会返回#VALUE!错误,找得到就返回“分”字的位置,因此用ISNUMBER判断。如果找到了,则提取“分”字左边的数字并加1,找不到也就代表不足1分钟,算1分钟。

[ 本帖最后由 gouweicao78 于 2009-3-24 20:53 编辑 ]

11.rar

9.16 KB, 下载次数: 34

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

本版积分规则

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

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

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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