返回Blue
2007,5,1是星期二所以WeekDay函数返回3(VB把星期天做为一星期的第一天)
Choose函数第一个参数是选择第几个,其他的都是待选的参数列表了
选第三项BLUE
Private Sub Command1_Click()
Dim n As Integer
n = Text1
Select Case n
Case 1: s = "星期一"
Case 2: s = "星期二"
Case 3: s = "星期三"
Case 4: s = "星期四"
Case 5: s = "星期五"
Case 6: s = "星期六"
Case 7: s = "星期日"
End Select
Text2 = s
End Sub
Private Sub Command2_Click()
Dim n As Integer
n = Text1
s = Choose(n, "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日")
Text3 = s
End Sub
(一)函数
1定义
根据给定的索引值,从参数串中选出相应值或 *** 作
2语法
CHOOSE(index_num,value1,[value2],…)
3参数
Index_num:指出所选参数值在参数表中的位置。Index_num必须是介于1到254之间的数值,或者是返回值介于1到254之间的引用或公式
Value1:value1,value2…是1到254个数值参数、单元格引用、已定义名称、公式、函数,或者是CHOOSE从中选定的文本参数
(二)举例
在学生考试成绩统计报表中,对学生成绩进行考评,总成绩大于等于210分显示为合格、小于210分显示为不合格。可以使用CHOOSE函数来设置公式。
①选中F2单元格,在编辑栏中输入公式:=CHOOSE(IF(E2>=210,1,2),"合格","不合格")。按回车键,即可判断学生“李丽”的总成绩是否合格。
②选中F2单元格,向下复制公式,即可判断其他学生的总成绩是否合格。
(三)公式解析
先判断E2单元格中的数值249是否大于等于210,返回TRUE,IF函数TRUE返回1,显示公式=CHOOSE(1,"合格","不合格"),Index_num:指出所选参数值在参数表中的位置。则显示出结果“合格”
如果 index_num 为一个数组 ,则在计算函数 CHOOSE 时,将计算每一个值。 函数 CHOOSE 的数值参数不仅可以为单个数值,也可以为区域引用。 例如,下面的公式:
=SUM(CHOOSE(2,A1:A10,B1:B10,C1:C10))相当于:
=SUM(B1:B10)然后基于区域 B1:B10 中的数值返回值。
函数 CHOOSE 先被计算,返回引用 B1:B10。然后函数 SUM 用 B1:B10 进行求和计算。即函数 CHOOSE 的结果是函数 SUM 的参数。
可以利用像SUM函数、lookup函数、VLOOKUP+CHOOSE函数、OFFSET+MATCH函数、INDIRECT+MATCH函数的组合等方式来对EXCEL里的内容进行精确查找。
如下图所示,根据第9行的产品和型号,从上面表中查找“销售数量”,结果如C10所示:
SUM函数:
公式{=SUM((A2:A6=A9)(B2:B6=B9)C2:C6)}
公式简介:使用(条件)(条件)因为每行符合条件的为0,不符合的为1,所以只有条件都符合的为非零数字。所以SUM求和后就是多条件查找的结果
SUMPRODUCT函数:
公式:=SUMPRODUCT((A2:A6=A9)(B2:B6=B9)C2:C6)
公式简介:和SUM函数用法差不多,只是SUMPRODUCT函数不需要数组运算
MAX函数:
{=MAX((A2:A6=A9)(B2:B6=B9)C2:C6)}
SUM是通过求和把符合条件的提出来,这里是使用MAX提取出最大值来完成符合条件的值提取。
lookup函数:
公式1=LOOKUP(A9&B9,A2:A6&B2:B6,C2:C6)
公式简介:LOOKUP函数可以直接进行数组运算。查找的连接起来,被查找区域也连接起来。
公式2:=LOOKUP(1,0/((A2:A6=A9)(B2:B6=B9)),C2:C6)
公式3=LOOKUP(1,0/((A2:A6&B2:B6)=(A9&B9)),C2:C6)
公式4=LOOKUP(1,1/(((A2:A6=A9)+(B2:B6=B9))=2),C2:C6)
MIN+IF函数:
公式=MIN(IF((A2:A6=A9)(B2:B6=B9),C2:C6))
SUM+IF函数:
公式=SUM(IF(A2:A6=A9,IF(B2:B6=B9,C2:C6,0),0))
INDEX+MATCH函数组合:
公式1:{=INDEX(C2:C6,MATCH(A9&B9,A2:A6&B2:B6,0))}
公式2:{=INDEX(C2:C6,MATCH(1,(A9=A2:A6)(B9=B2:B6),0))}
OFFSET+MATCH函数:
公式=OFFSET(C1,MATCH(A9&B9,A2:A6&B2:B6,0),)
INDIRECT+MATCH函数:
公式 =INDIRECT("C"&MATCH(A9&B9,A1:A6&B1:B6,0))
VLOOKUP+CHOOSE函数:
公式 :=VLOOKUP(A9&B9,CHOOSE({1,2},A2:A6&B2:B6,B2:C6),2,0)
HLOOKUP+TRANSPOSE+CHOOSE函数:
公式=HLOOKUP(A9&B9,TRANSPOSE(CHOOSE({1,2},A2:A6&B2:B6,B2:C6)),2,0)
VLOOKUP+IF函数:
公式1 =VLOOKUP(A9&B9,IF({1,0},A2:A6&B2:B6,B2:C6),2,0)
公式2=VLOOKUP(A9&"|"&B9,A31:D35,4,0)‘添加辅助列
SUMIFS函数:
excel2007中开始提供的函数SUMIFS
=SUMIFS(C1:C6,A1:A6,A9,B1:B6,B9)
数据库函数:
=DSUM(A1:C6,3,A8:B9)
=DGET(A1:C6,3,A8:B9)
=DAVERAGE(A1:C6,3,A8:B9)
=DMAX(A1:C6,3,A8:B9)
=DMIN(A1:C6,3,A8:B9)
=DPRODUCT(A1:C6,3,A8:B9)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)