va_start,va_arg,va_end函数的用法解析
#include
int Add(int start,...) // ...是作为占位符
{
va_list arg_ptr; // 定义变参起始指针
int sum=0; // 定义变参的和
int nArgValue =start; //
va_start(arg_ptr,start); // arg_ptr指向第一个变参
do
{
sum+=nArgValue; // 求和
nArgValue = va_arg(arg_ptr,int); // arg_ptr指向下一个变参}
while(nArgValue != 0); // 判断结束条件;结束条件是自定义为=0时结束
va_end(arg_ptr); // 复位指针
return sum;
}
函数的调用方法为Add(1,2,3,0);这样,必须以0结尾,因为变参函数结束的判断条件就是读到0停止。
解释:
所使用到的宏:
void va_start( va_list arg_ptr, prev_param );
type va_arg( va_list arg_ptr, type );
void va_end( va_list arg_ptr );
typedef char * va_list;
#define _INTSIZEOF(n) ((sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) #define va_start(ap,v) ( ap = (va_list)&v + _INTSIZEOF(v) )
#define va_arg(ap,t) ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) )
#define va_end(ap) ( ap = (va_list)0 )
1、首先把va_list被定义成char*,这是因为在我们目前所用的PC机上,字符指针类型可以用来存储内存单元地址。而在有的机器上va_list是被定义成void*的
2、定义_INTSIZEOF(n)主要是为了某些需要内存的对齐的系统.这个宏的目的是为了得到最后一个固定参数的实际内存大小。在我的机器上直接用sizeof运算符来代替,对程序的运行结构也没有影响。(后文将看到我自己的实现)。
3、va_start的定义为&v+_INTSIZEOF(v) ,这里&v是最后一个固定参数的起始地址,再加上其实际占用大小后,就得到了第一个可变参数的起始内存地址。所以我们运行va_start(ap, v)以后,ap指向第一个可变参数在的内存地址,有了这个地址,以后的事情就简单了。
这里要知道两个事情:
⑴在intel+windows的机器上,函数栈的方向是向下的,栈顶指针的内存地址低于栈底指针,所以先进栈的数据是存放在内存的高地址处。
(2)在VC等绝大多数C编译器中,默认情况下,参数进栈的顺序是由右向左的,因此,参数进栈以后的内存模型如下图所示:最后一个固定参数的地址位于第一个可变参数之下,并且是连续存储的。
|--------------------------|
| 最后一个可变参数| ->高内存地址处
|--------------------------|
|--------------------------|
| 第N个可变参数| ->va_arg(arg_ptr,int)后arg_ptr所指的地方,
| | 即第N个可变参数的地址。
|--------------- |
|--------------------------|
| 第一个可变参数| ->va_start(arg_ptr,start)后arg_ptr所指的地方
| | 即第一个可变参数的地址
|--------------- |
|------------------------ --|
| |
| 最后一个固定参数| -> start的起始地址
|-------------- -| .................
|-------------------------- |
| |
|--------------- | -> 低内存地址处
(4) va_arg():有了va_start的良好基础,我们取得了第一个可变参数的地址,在va_arg()里的任务就是根据指定的参数类型取得本参数的值,并且把指针调到下一个参数的起始地址。
因此,现在再来看va_arg()的实现就应该心中有数了:
#define va_arg(ap,t) ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) )
这个宏做了两个事情,
①用用户输入的类型名对参数地址进行强制类型转换,得到用户所需要的值
②计算出本参数的实际大小,将指针调到本参数的结尾,也就是下一个参数的首地址,以便后续处理。
(5)va_end宏的解释:x86平台定义为ap=(char*)0;使ap不再指向堆栈,而是跟NULL一样.有些直接定义为((void*)0),这样编译器不会为va_end产生代码,例如gcc在linux的x86平台就是这样定义的. 在这里大家要注意一个问题:由于参数的地址用于va_start宏,所以参数不能声明为寄存器变量或作为函数或数组类型. 关于va_start, va_arg, va_end的描述就是这些了,我们要注意的是不同的操作系统和硬件平台的定义有些不同,但原理却是相似的.
在Windows中使用printf
有文字模式、命令列C语言程式写作历史的程式写作者往往特别喜欢printf函式。即使可以使用更简单的命令(例如puts),但printf出现在Kernighan和Ritchie的「hello, world」程式中一点也不会令人惊奇。我们知道,增强後的「hello, world」最终还是需要printf的格式化输出,因此我们最好从头开始就使用它。
但有个坏消息:在Windows程式中不能使用printf。虽然Windows程式中可以使用大多数C的执行时期程式库-实际上,许多程式写作者更愿意使用C记忆体管理和档案I/O函式而不是Windows中等效的函式-Windows对标准输入和标准输出没有概念。在Windows程式中可使用fprintf,而不是printf。
还有一个好消息,那就是仍然可以使用sprintf及sprintf系列中的其他函式来显示文字。这些函式除了将内容格式化输出到函式第一个参数所提供的字串缓冲区以外,其功能与printfI相同。然後便可对该字串进行操作(例如将其传给MessageBox)。
如果您从未使用过sprintf (我第一次开始写Windows程式时也没用过此函式),这里有一个简短的执行实体,printf函式说明如下:
int printf (const char * szFormat, ...) ;
第一个参数是一个格式字串,後面是与格式字串中的代码相对应的不同类型多个参数。
sprintf函式定义如下:
int sprintf (char * szBuffer, const char * szFormat, ...) ;
第一个参数是字元缓冲区;後面是一个格式字串。Sprintf不是将格式化结果标准输出,而是将其存入szBuffer。该函式返回该字串的长度。在文字模式程式设计中,
printf ("The sum of %i and %i is %i", 5, 3, 5+3) ;
的功能相同於
char szBuffer [100] ;
sprintf (szBuffer, "The sum of %i and %i is %i", 5, 3, 5+3) ;
puts (szBuffer) ;
在Windows中,使用MessageBox显示结果优於puts。
几乎每个人都经历过,当格式字串与被格式化的变数不合时,可能使printf执行错误并可能造成程式当掉。使用sprintf时,您不但要担心这些,而且还有一个新的负担:您定义的字串缓冲区
必须足够大以存放结果。Microsoft专用函式vsprintf解决了这一问题,此函式引进了另一个参数,表示以字元计算的缓冲区大小。
vsprintf是sprintf的一个变形,它只有三个参数。vsprintf用於执行有多个参数的自订函式,类似printf格式。vsprintf的前两个参数与sprintf相同:一个用於保存结果的字元缓冲区和一个格式字串。第三个参数是指向格式化参数阵列的指标。实际上,该指标指向在堆叠中供函式呼叫的变数。va_list、va_start和va_end巨集(在STDARG.H中定义)帮助我们处理堆叠指标。本章最後的SCRNSIZE程式展示了使用这些巨集的方法。使用vsprintf函式,sprintf函式可以这样编写:
int sprintf (char * szBuffer, const char * szFormat, ...)
{
int iReturn ;
va_list pArgs ;
va_start (pArgs, szFormat) ;
iReturn = vsprintf (szBuffer, szFormat, pArgs) ;
va_end (pArgs) ;
return iReturn ;
}
va_start巨集将pArg设置为指向一个堆叠变数,该变数位址在堆叠参数szFormat的上面。
由於许多Windows早期程式使用了sprintf和vsprintf,最终导致Microsoft向Windows API中增添了两个相似的函式。Windows的wsprintf和wvsprintf函式在功能上与sprintf和vsprintf 相同,但它们不能处理浮点格式。
当然,随著宽字元的发表,sprintf类型的函式增加许多,使得函式名称变得极为混乱。
AVERAGE函数 主要功能:求出所有参数的算术平均值。 使用格式:AVERAGE(number1,number2,……) 参数说明:number1,number2,……:需要求平均值的数值或引用单元格(区域),参数不超过30个。 应用举例:在B8单元格中输入公式:=AVERAGE(B7:D7,F7:H7,7,8),确认后,即可求出B7至D7区域、F7至H7区域中的数值和7、8的平均值。 特别提醒:如果引用区域中包含“0”值单元格,则计算在内;如果引用区域中包含空白或字符单元格,则不计算在内。 COUNTIF函数 主要功能:统计某个单元格区域中符合指定条件的单元格数目。 使用格式:COUNTIF(Range,Criteria) 参数说明:Range代表要统计的单元格区域;Criteria表示指定的条件表达式。 应用举例:在C17单元格中输入公式:=COUNTIF(B1:B13,">=80"),确认后,即可统计出B1至B13单元格区域中,数值大于等于80的单元格数目。 特别提醒:允许引用的单元格区域中有空白单元格出现 DATEDIF函数 主要功能:计算返回两个日期参数的差值。 使用格式:=DATEDIF(date1,date2,"y")、=DATEDIF(date1,date2,"m")、=DATEDIF(date1,date2,"d") 参数说明:date1代表前面一个日期,date2代表后面一个日期;y(m、d)要求返回两个日期相差的年(月、天)数。
应用举例:在C23单元格中输入公式:=DATEDIF(A23,TODAY(),"y"),确认后返回系统当前日期[用TODAY()表示)与A23单元格中日期的差值,并返回相差的年数。 特别提醒:这是Excel中的一个隐藏函数,在函数向导中是找不到的,可以直接输入使用,对于计算年龄、工龄等非常有效。 IF函数 主要功能:根据对指定条件的逻辑判断的真假结果,返回相对应的内容。 使用格式:=IF(Logical,Value_if_true,Value_if_false) 参数说明:Logical代表逻辑判断表达式;Value_if_true表示当判断条件为逻辑“真(TRUE)”时的显示内容,如果忽略返回“TRUE”;Value_if_false表示当判断条件为逻辑“假(FALSE)”时的显示内容,如果忽略返回“FALSE”。 应用举例:在C29单元格中输入公式:=IF(C26>=18,"符合要求","不符合要求"),确信以后,如果C26单元格中的数值大于或等于18,则C29单元格显示“符合要求”字样,反之显示“不符合要求”字样。 特别提醒:本文中类似“在C29单元格中输入公式”中指定的单元格,读者在使用时,并不需要受其约束,此处只是配合本文所附的实例需要而给出的相应单元格,具体请大家参考所附的实例文件。 INDEX函数 主要功能:返回列表或数组中的元素值,此元素由行序号和列序号的索引值进行确定。 使用格式:INDEX(array,row_num,column_num) 参数说明:Array代表单元格区域或数组常量;Row_num表示指定的行序号
Excel函数公式大全工作中最常用Excel函数公式大全 一、数字处理 1、取绝对值 =ABS(数字) 2、取整 =INT(数字) 3、四舍五入 =ROUND(数字,小数位数) 二、判断公式 1、把公式产生的错误值显示为空 公式:C2 =IFERROR(A2/B2,"") 说明:如果是错误值则显示为空,否则正常显示。 ? 2、IF多条件判断返回值 公式:C2 =IF(AND(A2<500,B2="未到期"),"补款","") 说明:两个条件同时成立用AND,任一个成立用OR函数.
? 三、统计公式 1、统计两个表格重复的内容 公式:B2 =COUNTIF(Sheet15!A:A,A2) 说明:如果返回值大于0说明在另一个表中存在,0则不存在。 ? 2、统计不重复的总人数 公式:C2 =SUMPRODUCT(1/COUNTIF(A2:A8,A2:A8)) 说明:用COUNTIF统计出每人的出现次数,用1除的方式把出现次数变成分母,然后相加。
? 四、求和公式 1、隔列求和 公式:H3 =SUMIF($A$2:$G$2,H$2,A3:G3) 或 =SUMPRODUCT((MOD(COLUMN(B3:G3),2)=0)*B3:G3) 说明:如果标题行没有规则用第2个公式 ? 2、单条件求和 公式:F2 =SUMIF(A:A,E2,C:C) 说明:SUMIF函数的基本用法
? 3、单条件模糊求和 公式:详见下图 说明:如果需要进行模糊求和,就需要掌握通配符的使用,其中星号是表示任意多个字符,如"*A*"就表示a前和后有任意多个字符,即包含A。 ? 4、多条件模糊求和 公式:C11 =SUMIFS(C2:C7,A2:A7,A11&"*",B2:B7,B11) 说明:在sumifs中可以使用通配符*
Axure8.0基础教程手册 目录 基础1.添加元件到画布 ------------------------------------------------------------------------------- 4 基础2.添加元件名称 ---------------------------------------------------------------------------------- 4 基础3.设置元件位置/尺寸--------------------------------------------------------------------------- 5 基础4.设置元件默认角度 ---------------------------------------------------------------------------- 6 基础5.设置元件颜色与透明 ------------------------------------------------------------------------- 6 基础6.设置形状或图片圆角 ------------------------------------------------------------------------- 7 基础7.设置矩形仅显示部分边框 ------------------------------------------------------------------- 7 基础8.设置线段/箭头/边框样式 ------------------------------------------------------------------- 8 基础9.设置元件文字边距/行距 --------------------------------------------------------------------- 8 基础10.设置元件默认隐藏 -------------------------------------------------------------------------- 9 基础11.设置文本框输入为密码 -------------------------------------------------------------------- 9 基础12.设置打开选择文件窗口 ------------------------------------------------------------------ 10 基础13.限制文本框输入字符位数 --------------------------------------------------------------- 11 基础14.设置文本框提示文字 --------------------------------------------------------------------- 11 基础15.设置文本框回车触发事件 --------------------------------------------------------------- 11 基础16.设置鼠标移入元件时的提示------------------------------------------------------------- 12 基础17.设置矩形为其他形状 --------------------------------------------------------------------- 12 基础18.设置自定义形状 --------------------------------------------------------------------------- 13 基础19.设置形状水平/垂直翻转 ----------------------------------------------------------------- 14 基础20.设置列表框的内容 ------------------------------------------------------------------------ 14 基础21.设置元件默认选中/禁用 ----------------------------------------------------------------- 14 基础22.设置单选按钮唯一选中 ------------------------------------------------------------------ 15
目录 一、IF函数——————————————————————————————————2 二、ASC函数—————————————————————————————————4 三、SEARCH函数——————————————————————————————4 四、CONCATENATE函数———————————————————————————4 五、EXACT函数———————————————————————————————5 六、find函数—————————————————————————————————5 七、PROPER函数——————————————————————————————7 八、LEFT函数————————————————————————————————7 九、LOWER函数———————————————————————————————7 十、MID函数————————————————————————————————8 十一、REPT函数———————————————————————————————8 十二、Replace函数——————————————————————————————9 十三、Right函数———————————————————————————————10 十四、UPPER函数——————————————————————————————10 十五、SUBSTITUTE函数———————————————————————————10 十六、VALUE函数——————————————————————————————12 十七、WIDECHAR函数———————————————————————————12 十八、AND函数———————————————————————————————12 十九、NOT函数———————————————————————————————13 二十、OR函数————————————————————————————————13 二十一、COUNT函数—————————————————————————————14 二十二、MAX函数——————————————————————————————15 二十三、MIN函数——————————————————————————————15 二十四、SUMIF函数—————————————————————————————16 二十五、OFFSET函数————————————————————————————17 二十六、ROW函数——————————————————————————————20 二十七、INDEX 函数————————————————————————————21 二十八、LARGE函数—————————————————————————————22 二十九、ADDRESS函数————————————————————————————23 三十、Choose函数——————————————————————————————24 三十一、HLOOKUP函数———————————————————————————24 三十二、VLOOKUP函数———————————————————————————26 三十三、LOOKUP函数————————————————————————————29 三十四、MATCH函数————————————————————————————29 三十五、HYPERLINK函数——————————————————————————30 三十六、ROUND函数————————————————————————————31 三十七、TREND函数—————————————————————————————32
excel常用函数及使用方法 一、数字处理 (一)取绝对值:=ABS(数字) (二)数字取整:=INT(数字) (三)数字四舍五入:=ROUND(数字,小数位数) 二、判断公式 (一)把公式返回的错误值显示为空: 1、公式:C2=IFERROR(A2/B2,"") 2、说明:如果是错误值则显示为空,否则正常显示。 (二)IF的多条件判断 1、公式:C2=IF(AND(A2<500,B2="未到期"),"补款","") 2、说明:两个条件同时成立用AND,任一个成立用OR函数。 三、统计公式 (一)统计两表重复 1、公式:B2=COUNTIF(Sheet15!A:A,A2) 2、说明:如果返回值大于0说明在另一个表中存在,0则不存在。 (二)统计年龄在30~40之间的员工个数 公式=FREQUENCY(D2:D8,{40,29} (三)统计不重复的总人数 1、公式:C2=SUMPRODUCT(1/COUNTIF(A2:A8,A2:A8)) 2、说明:用COUNTIF统计出每人的出现次数,用1除的方式把出现次数变成分母,然后相加。
(四)按多条件统计平均值 =AVERAGEIFS(D:D,B:B,"财务",C:C,"大专") (五)中国式排名公式 =SUMPRODUCT(($D$4:$D$9>=D4)*(1/COUNTIF(D$4:D$9,D$4:D$9))) 四、求和公式 (一)隔列求和 1、公式:H3=SUMIF($A$2:$G$2,H$2,A3:G3) 或=SUMPRODUCT((MOD(COLUMN(B3:G3),2)=0)*B3:G3) 2、说明:如果标题行没有规则用第2个公式 (二)单条件求和 1、公式:F2=SUMIF(A:A,E2,C:C) 2、说明:SUMIF函数的基本用法 (三)单条件模糊求和 说明:如果需要进行模糊求和,就需要掌握通配符的使用,其中星号是表示任意多个字符,如"*A*"就表示a前和后有任意多个字符,即包含A。 (四)多条求模糊求和 1、公式:=SUMIFS(C2:C7,A2:A7,A11&"*",B2:B7,B11) 2、说明:在sumifs中可以使用通配符* (五)多表相同位置求和 1、公式:=SUM(Sheet1:Sheet19!B2) 2、说明:在表中间删除或添加表后,公式结果会自动更新。
AxureRP8实战手册 新手必须掌握得基础操作:本篇包含56种常见得基础操作,初学者应在掌握本篇内容后再进行实战案例篇得学习,以免产生学习障碍。同时,建议具备一定基础得读者学习本篇中相对生疏得内容,并加以掌握。 一 Axure8.0基础教程(1-10) ***********************************本文目录*********************************** 第1章使用元件 基础1。添加元件到画布 基础2。添加元件名称 基础3. 设置元件位置/尺寸 基础4. 设置元件默认角度 基础5。设置元件颜色与透明 基础6、设置形状或图片圆角 基础7. 设置矩形仅显示部分边框 基础8. 设置线段/箭头/边框样式 基础9、设置元件文字边距/行距 基础10。设置元件默认隐藏 ************************************正文************************************ 第1章使用元件 基础1. 添加元件到画布 在左侧元件库中选择要使用得元件,按住鼠标左键不放,拖动到画布适合得位置上松开。(图1-1)
基础2、添加元件名称 在检视面板得元件名称文本框中输入元件得自定义名称,建议采用英文命名、 建议格式:PasswordInput01或Password01 名称含义:序号01得密码输入框 格式说明:“Password”表示主要用途;“Input”表示元件类型,一般情况下可省略,当有不同类型得同名元件需要区分或名称不能明确表达用途得时候使用;“01”表示出现多个同名元件时得编号;单词首字母大写得书写格式便于阅读、(图1-2)
电子表格常用函数公式及用法 1、求和公式: =SUM(A2:A50) ——对A2到A50这一区域进行求和; 2、平均数公式: =AVERAGE(A2:A56) ——对A2到A56这一区域求平均数; 3、最高分: =MAX(A2:A56) ——求A2到A56区域(55名学生)的最高分;4、最低分: =MIN(A2:A56) ——求A2到A56区域(55名学生)的最低分; 5、等级: =IF(A2>=90,"优",IF(A2>=80,"良",IF(A2>=60,"及格","不及格"))) 6、男女人数统计: =COUNTIF(D1:D15,"男") ——统计男生人数 =COUNTIF(D1:D15,"女") ——统计女生人数 7、分数段人数统计: 方法一: 求A2到A56区域100分人数:=COUNTIF(A2:A56,"100") 求A2到A56区域60分以下的人数;=COUNTIF(A2:A56,"<60") 求A2到A56区域大于等于90分的人数;=COUNTIF(A2:A56,">=90") 求A2到A56区域大于等于80分而小于90分的人数; =COUNTIF(A1:A29,">=80")-COUNTIF(A1:A29," =90")
求A2到A56区域大于等于60分而小于80分的人数; =COUNTIF(A1:A29,">=80")-COUNTIF(A1:A29," =90") 方法二: (1)=COUNTIF(A2:A56,"100") ——求A2到A56区域100分的人数;假设把结果存放于A57单元格; (2)=COUNTIF(A2:A56,">=95")-A57 ——求A2到A56区域大于等于95而小于100分的人数;假设把结果存放于A58单元格;(3)=COUNTIF(A2:A56,">=90")-SUM(A57:A58) ——求A2到A56区域大于等于90而小于95分的人数;假设把结果存放于A59单元格; (4)=COUNTIF(A2:A56,">=85")-SUM(A57:A59) ——求A2到A56区域大于等于85而小于90分的人数; …… 8、求A2到A56区域优秀率:=(COUNTIF(A2:A56,">=90"))/55*100 9、求A2到A56区域及格率:=(COUNTIF(A2:A56,">=60"))/55*100 10、排名公式: =RANK(A2,A$2:A$56) ——对55名学生的成绩进行排名; 11、标准差:=STDEV(A2:A56) ——求A2到A56区域(55人)的成绩波动情况(数值越小,说明该班学生间的成绩差异较小,反之,说明该班存在两极分化); 12、条件求和:=SUMIF(B2:B56,"男",K2:K56) ——假设B列存放学生的性别,K列存放学生的分数,则此函数返回的结果表示求该班
Axure RP 8.0函数大全Axure函数手册用法及说明Axure RP 8.0函数大全是根据小楼老师的《Axure RP 8 函数速查表》整理而来,方便大家查询。这些函数不用去记,大概了解他们的用途即可。需要的时候再来查一下就可以了。 在做课件的时候,将所有的函数用途和参数注解,整理了一份表格资料。后来,觉得这个东西挺有用,所以,分享给大家当做参考资料。 函数能够提高原型的制作效率,但也容易导致画蛇添足。如果是单纯的学习,建议通过一些有趣味的原型,多加锻炼使用。这样在实际应用中,才能够手到拈来,随心所欲。如果是用于工作,在不熟悉函数使用的情况下,尽量避免纠结于某个函数的使用,以免影响工作效率,得不偿失。扎实学习,灵活使用。这句话不仅适用于函数,也适用于Axure以及其他的任何工具。 Axure函数的基本语法 在axure交互设计时,函数可以用在条件公式和需要赋值的地方,其基本语法是用双方括号包含,变量值和函数用英文句号连接。 例如:[[LVAR. Width]] 表示变量LVAR的宽度。 [[This. Width]] 当前元件的宽度 元件函数 This用途:获取当前元件对象。当前元件是指当前添加交互动作的元件。 Target用途:获取目标元件对象。目标元件是指当前交互动作控制的元件。 x用途:获取元件对象的X轴坐标值。
y用途:获取元件对象的Y轴坐标值。 width用途:获取元件对象的宽度值。 height用途:获取元件对象的高度值。 scrollX用途:获取元件对象的水平滚动距离(当前仅限动态面板)。scrollY用途:获取元件对象的垂直滚动距离(当前仅限动态面板)。text用途:获取元件对象的文本文字。 name用途:获取元件对象的自定义名称。 top用途:获取元件对象的上边界坐标值。 left用途:获取元件对象的左边界坐标值。 right用途:获取元件对象的右边界坐标值。 bottom用途:获取元件对象的下边界坐标值。 opacity用途:获取元件对象的不透明比例。 rotation用途:获取元件对象的旋转角度。 鼠标指针函数 Cursor.x用途:鼠标指针在页面中位置的X轴坐标。 Cursor.y用途:鼠标指针在页面中位置的Y轴坐标。 DragX用途:鼠标指针沿X轴拖动元件时的瞬间(0.01秒)拖动距离。DragY用途:鼠标指针沿Y轴拖动元件时的瞬间(0.01秒)拖动距离。TotalDragX用途:鼠标指针拖动元件从开始到结束的X轴移动距离。TotalDragY用途:鼠标指针拖动元件从开始到结束的Y轴移动距离。DragTime用途:鼠标指针拖动元件从开始到结束的总时长。
1、ABS函数 函数名称:ABS 主要功能:求出相应数字的绝对值。 使用格式:ABS(number) 参数说明:number代表需要求绝对值的数值或引用的单元格。 应用举例:如果在B2单元格中输入公式:=ABS(A2),则在A2单元格中无论输入正数(如100)还是负数(如-100),B2中均显示出正数(如100)。 特别提醒:如果number参数不是数值,而是一些字符(如A等),则B2中返回错误值“#VALUE!”。 2、AND函数 函数名称:AND 主要功能:返回逻辑值:如果所有参数值均为逻辑“真(TRUE)”,则返回逻辑“真(TRUE)”,反之返回逻辑“假(FALSE)”。 使用格式:AND(logical1,logical2, ...) 参数说明:Logical1,Logical2,Logical3……:表示待测试的条件值或表达式,最多这30个。 应用举例:在C5单元格输入公式:=AND(A5>=60,B5>=60),确认。如果C5中返回TRUE,说明A5和B5中的数值均大于等于60,如果返回FALSE,说明A5和B5中的数值至少有一个小于60。 特别提醒:如果指定的逻辑条件参数中包含非逻辑值时,则函数返回错误值“#VALUE!”或“#NAME”。 3、AVERAGE函数 函数名称:AVERAGE 主要功能:求出所有参数的算术平均值。 使用格式:AVERAGE(number1,number2,……) 参数说明:number1,number2,……:需要求平均值的数值或引用单元格(区域),参数不超过30个。
应用举例:在B8单元格中输入公式:=AVERAGE(B7:D7,F7:H7,7,8),确认后,即可求出B7至D7区域、F7至H7区域中的数值和7、8的平均值。 特别提醒:如果引用区域中包含“0”值单元格,则计算在内;如果引用区域中包含空白或字符单元格,则不计算在内。 4、COLUMN 函数 函数名称:COLUMN 主要功能:显示所引用单元格的列标号值。 使用格式:COLUMN(reference) 参数说明:reference为引用的单元格。 应用举例:在C11单元格中输入公式:=COLUMN(B11),确认后显示为2(即B列)。 特别提醒:如果在B11单元格中输入公式:=COLUMN(),也显示出2;与之相对应的还有一个返回行标号值的函数——ROW(reference)。 5、CONCATENATE函数 函数名称:CONCATENATE 主要功能:将多个字符文本或单元格中的数据连接在一起,显示在一个单元格中。 使用格式:CONCATENATE(Text1,Text……) 参数说明:Text1、Text2……为需要连接的字符文本或引用的单元格。 应用举例:在C14单元格中输入公式:=CONCATENATE(A14,"@",B14,".com"),确认后,即可将A14单元格中字符、@、B14单元格中的字符和.com连接成一个整体,显示在C14单元格中。 特别提醒:如果参数不是引用的单元格,且为文本格式的,请给参数加上英文状态下的双引号,如果将上述公式改为:=A14&"@"&B14&".com",也能达到相同的目的。 6、COUNTIF函数 函数名称:COUNTIF 主要功能:统计某个单元格区域中符合指定条件的单元格数目。 使用格式:COUNTIF(Range,Criteria) 参数说明:Range代表要统计的单元格区域;Criteria表示指定的条件表达式。
常用的excel函数公式大全 一、数字处理 1、取绝对值 =ABS(数字) 2、取整 =INT(数字) 3、四舍五入 =ROUND(数字,小数位数) 二、判断公式 1、把公式产生的错误值显示为空 公式:C2 =IFERROR(A2/B2,"") 说明:如果是错误值则显示为空,否则正常显示。
2、IF多条件判断返回值 公式:C2 =IF(AND(A2<500,B2="未到期"),"补款","") 说明:两个条件同时成立用AND,任一个成立用OR函数。 三、统计公式 1、统计两个表格重复的内容 公式:B2 =COUNTIF(Sheet15!A:A,A2) 说明:如果返回值大于0说明在另一个表中存在,0则不存在。
2、统计不重复的总人数 公式:C2 =SUMPRODUCT(1/COUNTIF(A2:A8,A2:A8)) 说明:用COUNTIF统计出每人的出现次数,用1除的方式把出现次数变成分母,然后相加。 四、求和公式
1、隔列求和 公式:H3 =SUMIF($A$2:$G$2,H$2,A3:G3) 或 =SUMPRODUCT((MOD(COLUMN(B3:G3),2)=0)*B3:G3)说明:如果标题行没有规则用第2个公式 2、单条件求和 公式:F2 =SUMIF(A:A,E2,C:C) 说明:SUMIF函数的基本用法
3、单条件模糊求和 公式:详见下图 说明:如果需要进行模糊求和,就需要掌握通配符的使用,其中星号是表示任意多个字符,如"*A*"就表示a前和后有任意多个字符,即包含A。
4、多条件模糊求和 公式:C11 =SUMIFS(C2:C7,A2:A7,A11&"*",B2:B7,B11) 说明:在sumifs中可以使用通配符* 5、多表相同位置求和 公式:b2 =SUM(Sheet1:Sheet19!B2) 说明:在表中间删除或添加表后,公式结果会自动更新。 6、按日期和产品求和
EXCEL中常用函数及使用方法 Excel函数一共有11类:数据库函数、日期与时间函数、工程函数、财务函数、信息函数、逻辑函数、查询和引用函数、数学和三角函数、统计函数、文本函数以及用户自定义函数。 1.数据库函数 当需要分析数据清单中的数值是否符合特定条件时,可以使用数据库工作表函数。例如,在一个包含销售信息的数据清单中,可以计算出所有销售数值大于1,000 且小于2,500 的行或记录的总数。Microsoft Excel 共有12 个工作表函数用于对存储在数据清单或数据库中的数据进行分析,这些函数的统一名称为Dfunctions,也称为D 函数,每个函数均有三个相同的参数:database、field 和criteria。这些参数指向数据库函数所使用的工作表区域。其中参数database 为工作表上包含数据清单的区域。参数field 为需要汇总的列的标志。参数criteria 为工作表上包含指定条件的区域。 2.日期与时间函数 通过日期与时间函数,可以在公式中分析和处理日期值和时间值。 3.工程函数 工程工作表函数用于工程分析。这类函数中的大多数可分为三种类型:对复数进行处理的函数、在不同的数字系统(如十进制系统、十六进制系统、八进制系统和二进制系统)间进行数值转换的函数、在不同的度量系统中进行数值转换的函数。 4.财务函数 财务函数可以进行一般的财务计算,如确定贷款的支付额、投资的未来值或净现值,以及债券或息票的价值。财务函数中常见的参数: 未来值(fv)--在所有付款发生后的投资或贷款的价值。 期间数(nper)--投资的总支付期间数。 付款(pmt)--对于一项投资或贷款的定期支付数额。 现值(pv)--在投资期初的投资或贷款的价值。例如,贷款的现值为所借入的本金数额。 利率(rate)--投资或贷款的利率或贴现率。 类型(type)--付款期间内进行支付的间隔,如在月初或月末。 5.信息函数 可以使用信息工作表函数确定存储在单元格中的数据的类型。信息函数包含一组称为IS 的工作表函数,在单元格满足条件时返回TRUE。例如,如果单元格包含一个偶数值,ISEVEN 工作表函数返回TRUE。如果需要确定某个单元格区域中是否存在空白单元格,可以使用COUNTBLANK 工作表函数对单元格区域中的空白单元格进行计数,或者使用ISBLANK 工作表函数确定区域中的某个单元格是否为空。 6.逻辑函数 使用逻辑函数可以进行真假值判断,或者进行复合检验。例如,可以使用IF 函数确定条件为真还是假,并由此返回不同的数值。
三角函数常用公式及用法 珠海市金海岸中学 唐云辉 1、终边相同的角及其本身在内的角的表示法: S={ | k 360°,k Z},或者 S { | 用法:用来将任意角转化到 0?2的范围以便于计算。 公式中k 的求法: 如是正角就直接除以3600或2,得到的整数 就是我们 要求的k ,剩余的角就是公式中 的;如果是 负角,就先取绝对值然后再去除以 3600或者2,得到 的整数加1后再取相反数就是上述公式中的 k,等于3600或者2减去剩余的角的值。 用法:前者是弧长公式,用以计算圆弧的长度;后者为扇形的面积公式,用以计算扇形的面积。 3.三角形面积公式: 1 , 1 1 1 abc 2 S 』= a h a = ab si nC =—bc si nA = —ac si nB = =2R sin A si n B si nC 2 2 2 4R 2 a sin BsinC 2 sin A 2 2 b sinAsinC c sinAsinB = = =pr= P (P a)(p b)(p c) 2si nB 2sinC 1 ( 其中p -(a 2 4 ?同角关系: b c) , r 为三角形内切圆半径) (1 )、商的关系:① tan =y = sin x cos 用法:一般用来计算三角函数的值。 (2 )、平方关系:sin 2 cos 2 1 行运算,遇到sin cos m 就先平方而后再运算, 遇到sin cos sin 2 cos 2 这类题目就联想 2 2 到分母为"1” =s in cos 进行运算即可。 --------- K (3)、辅助角公式: asin bcos Va 2 b 2 sin( ) (其中 a>0,b>0 ,且 tan —) a 用法:用以将两个异名三角函数转化成同名三角函数,以便于求取相关的三角函数。 5、函数y= Asin( x ) k 的图象及性质:( 0, A 0 ) 2、 L 弧长= n nR R =180 扇 =丄LR 」F 2 2 2 n R 2 360 2k ,k Z} 用法:凡是见了 sin cos m 或者sin cos ?2 sin 2 cos 的形式题目都可以用上述平方关系进
WPS表格常用函数应用教程 一、函数应用基础 (一)函数和公式 1.什么是函数 WPS表格函数即是预先定义,执行计算、分析等处理数据任务的特殊公式。以常用的求和函数SUM为例,它的语法是“SUM(数值1, 数值2,......)”。其中“SUM”称为函数名称,一个函数只有唯一的一个名称,它决定了函数的功能和用途。函数名称后紧跟左括号,接着是用逗号分隔的称为参数的内容,最后用一个右括号表示函数结束。参数是函数中最复杂的组成部分,它规定了函数的运算对象、顺序或结构等。使得用户可以对某个单元格或区域进行处理,如确定成绩名次、计算三角函数值等。 2.什么是公式 函数与公式既有区别又互相联系。如果说前者是WPS 表格预先定义好的特殊公式,后者就是由用户自行设计对工作表进行计算和处理的公式。以公式“=SUM(E1:H1)*A1+26”为例,它要以等号“=”开始,其内部可以包括函数、引用、运算符和常量。上式中的“SUM(E1:H1)”是函数,“A1”则是对单元格A1 的引用(使用其中存储的数据),“26”则是常量,“*”和
“+”则是算术运算符(另外还有比较运算符、文本运算符和引用运算符)。如果函数要以公式的形式出现,它必须有两个组成部分,一个是函数名称前面的等号,另一个则是函数本身。 (二)函数的参数 函数右边括号中的部分称为参数,假如一个函数可以使用多个参数,那么参数与参数之间使用半角逗号进行分隔。参数可以是常量(数字和文本)、逻辑值(例如真值或假值)、数组、错误值(例如#N/A)或单元格引用(例如E1:H1),甚至可以是另一个或几个函数等。参数的类型和位置必须满足函数语法的要求,否则将返回错误信息。 1.常量 常量是直接输入到单元格或公式中的数字或文本,或由名称所代表的数字或文本值,例如数字“2890.56”、日期“2003-8-19”和文本“黎明”都是常量。但是公式或由公式计算出的结果都不是常量,因为只要公式的参数发生了变化,它自身或计算出来的结果就会发生变化。 2.逻辑值 逻辑值是比较特殊的一类参数,它只有真或假两种类型。例如在公式“=IF(A3=0,"",A2/A3)”中,“A3=0”就是一个可以返回真或假两种结果的参数。当“A3=0”为真时在公式所在单元格中填入“0”,否则在单元格中填入“A2/A3”的计算结果。
Axure使用介绍文档 目录 一、Axure rp 的界面 (2) 二、Axure rp的线框图元件 (3) 三、Axure rp的元件触发事件 (4) 四、Axure rp的条件生成 (6) 五、系统函数与变量 (8) 六、动态面板的使用 (14) 七、母版的使用 (20) 八、中继器的使用 (28)
一、Axure rp 的界面 (界面显示各个区域可在主菜单工具栏-视图中找到) 1、菜单工具栏:同大部分软件类似,可选择Axure各个功能的工具区。 2、操作界面:绘制产品的操作区,所有元件、部件可拖与此区域操作。 3、站点地图:页面文件存放区域,可增加、删除、修改、查看页面;可设置页面级别。 4、元件库(部件库):主要分为流程图和线框图;可拖动元件库里的元件到操作界面进行产品绘制;为提高效率,元件库也可自行导入已经可使用的元件。 5、母版:母版的使用主要针对于顶部导航、底部导航,多个页面中重复出现的元素,可先绘制与母版中,再拖动到需使用的页面(比起重复操作,修改扩展行也更强)。 6、页面属性:可设置当前页面的注释、交互、与样式。 7、元件交互与注释:可对操作页面中用到的元件或元件与元件之间的交互事件进行设置(如动态面板显示与隐藏、鼠标点击事件、鼠标移入移出事件等)。8、元件属性和样式:可设置选中元件的基本样式与属性。
9、部件管理(动态面板管理):该区域可对已设置的动态面板状态进行操作,可添加、删除、进行排序,也可双击动态面板进入编辑。 二、Axure rp的线框图元件 1、图片:图片元件拖入编辑时,可双击载入本地磁盘的图片,载入图片是Axure 会自动提示将大图进行优化,避免原型文件过大;载入的图片可以选择原图大小也可以保持元件大小。 2、文本:标题1、标题2、单行文本、多行文本都属于文本类型的元件,在网页中的名称为lable,主要用于文字描述、文本链接等功能 3、矩形:矩形可用作背景、按钮等元件使用;双击矩形可输入文本;拖入矩形时默认是直角矩形,可通过左右拖动左上角的黄色小三角来改变圆角半径;也可通过右键选择形状来改变当前形状。 4、占位符:顾名思义,主要用于替代一些没有交互或交互比较简单的区域。
一、单选题: 1、目前常用的原型设计工具不包括以下哪种工具( D )。 A、Photoshop工具 B、Visio工具 C、Axure工具 D、IcoWorkshop工具 2、以下不属于页面(站点地图)管理的是(D)。 A、添加页面 B、重命名页面 C、删除页面 D、页面载入 3、下列不属于交互过程的三要素:( D )。 A、响应 B、过渡效果 C、移位 D、GUI 4、在进行交互设计时,需要考虑以下问题,请排列高级交互设计的优先级:(A)。 ①易于理解②看上去简单③用到某一块儿时功能很强大④高频操作时快捷方 便⑤平常的事情设计的有新意⑥用户探索要高于人为引导⑦合理的默认值减少用户配置 A、①②③④⑤⑥⑦ B、③⑥⑦①②④⑤ C、⑤①②⑥⑦④③ D、②③①④⑤⑦⑥ 5、Axure提供分割图像的功能,在图片上单击鼠标右键选择分割图像命令,可以 对选中的图片进行分割操作,但是不包含以下哪种切割方法( D )。 A、十字切割 B、横向切割 C、纵向切割 D、斜向切割 6、在通用元件中,按钮元件不包含以下哪种元件:( D )。 A、按钮元件 B、主要按钮元件 C、链接按钮元件 D、提交按钮元件 7、Axure RP8没有以下哪种Axure的核心功能?( D ) A、原型 B、交互 C、协作 D、草图 8、在绘制流程图时,对不同的流程图形状添加连接线之前,必须将选择模式切换 为( A )模式。 A、连接线 B、选中 C、自定义形状 D、矩形 9、标记元件不包含以下哪种元件:( A )。 A、表格元件 B、标记 C、水滴标记 D、页面快照 10、以下不属于其他交互行为( C )。 A、等待 B、触发事件 C、关闭窗口 D、其他 二、填空题: 11、在Axure中,想要达成交互效果,需要包含交互、用例、动作、 事件 4个构建模块。 12、Axure RP8的文件格式包含哪三种格式 .rp 、 .rplib 、 .rpprj 。(记 前两个即可) 13、原型设计的流程可大致分为需求分析、页面架构设计、低保真原型设计、 原型评审、高保真原型设计。 14、站点地图区域由两部分组成,分别是功能条、树状结构。
EXCEL电子表格中四个常用函数的用法 (2010-01-16 09:59:27) 转载▼ 分类:Excel学习 标签: 杂谈 EXCEL电子表格中四个常用函数的用 法 现在介绍四个常用函数的用法:COUNT(用于计算单元格区域中数字值的个数)、COUNTA(用于计算单元格区域中非空白单元格的个数)、COUNTBLANK(用于计算单元格区域中空白单元格的个数)、COUNTIF(用于计算符合一定条件的COUNTBLANK单元格个数)。 结合例子将具体介绍:如何利用函数COUNTA统计本班应考人数(总人数)、利用函数COUNT统计实际参加考试人数、利用函数COUNTBLANK统计各科缺考人数、利用函数COUNTIF统计各科各分数段的人数。首先,在上期最后形成的表格的最后添加一些字段名和合并一些单元格,见图1。 一、利用函数COUNTA统计本班的应考人数(总人数) 因为函数COUNTA可以计算出非空单元格的个数,所以我们在利用此函数时,选取本班学生名字所在单元格区域(B3~B12)作为统计对象,就可计算出本班的应考人数(总人数)。 1.选取存放本班总人数的单元格,此单元格是一个经过合并后的大单元格(C18~G18); 2.选取函数;单击菜单“插入/函数”或工具栏中的函数按钮f*,打开“粘贴函数”对话框,在“函数分类”列表中选择函数类别“统计”,然后在“函数名”列表中选择需要的函数“COUNTA”,按“确定”按钮退出“粘贴函数”对话框。 3.选取需要统计的单元格区域;在打开的“函数向导”对话框中,选取需要计算的单元格区域B3~B13,按下回车键以确认选取;“函数向导”对话框图再次出现在屏幕上,按下“确定”按钮,就可以看到计算出来本班的应考人数(总人数)了。
This用途:获取当前元件对象。当前元件是指当前添加交互动作的元件。Target用途:获取目标元件对象。目标元件是指当前交互动作控制的元件。x用途:获取元件对象的X轴坐标值。 y用途:获取元件对象的Y轴坐标值。 width用途:获取元件对象的宽度值。 height用途:获取元件对象的高度值。 scrollX用途:获取元件对象的水平滚动距离(当前仅限动态面板)。scrollY用途:获取元件对象的垂直滚动距离(当前仅限动态面板)。 text用途:获取元件对象的文本文字。 name用途:获取元件对象的自定义名称。 top用途:获取元件对象的上边界坐标值。 left用途:获取元件对象的左边界坐标值。 right用途:获取元件对象的右边界坐标值。 bottom用途:获取元件对象的下边界坐标值。 opacity用途:获取元件对象的不透明比例。 rotation用途:获取元件对象的旋转角度。 鼠标指针函数 Cursor.x 用途:鼠标指针在页面中位置的X轴坐标。 Cursor.y 用途:鼠标指针在页面中位置的Y轴坐标。 DragX 用途:鼠标指针沿X轴拖动元件时的瞬间(0.01秒)拖动距离。 DragY 用途:鼠标指针沿Y轴拖动元件时的瞬间(0.01秒)拖动距离。TotalDragX 用途:鼠标指针拖动元件从开始到结束的X轴移动距离。TotalDragY 用途:鼠标指针拖动元件从开始到结束的Y轴移动距离。DragTime 用途:鼠标指针拖动元件从开始到结束的总时长。 Axure RP窗口函数 Window.width 用途:打开原型页面的浏览器当前宽度。 Window.height 用途:打开原型页面的浏览器当前高度。 Window.scrollX 用途:浏览器中页面水平滚动的距离。 Window.scrollY 用途::浏览器中页面垂直滚动的距离。 页面函数 PageName 用途:获取当前页面的名称。