excel表里的函数range怎么用的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel表里的函数range怎么用的相关的知识,希望对你有一定的参考价值。
Range并不是Excel中的函数,而是VBA中VBA代码中最常用的对象,Range对象可以是某一单元格、某一单元格区域、某一行、某一列、或者是多个连续或非连续的区域组成的区域。下面一个简单的VBA程序,可以全面地理解Range对象的用法,以及与Cells的区别。
Sub RangVsCellsDemo()
Dim r
\' 1. 先看 Range 和 Cells 的定义
\' A. Range 的定义为 Class Range,表示 Range 是一个类,可以根据其所带的参数构造一个Range 对象
\' B. Cells 的定义为 Property Cells As Range,表示 Cells 是一个属性,返回一个 Range 对象,具体应
\' 用于不同对象时返回对象不同(帮助时说的明白)
\' 2. Cells主要作用在于他可以简洁的返回一个Range对象,而使用Range的构造方法相对代码比较长
\' 比如在2003里,单个的Cells就相当于Range("1:65536"),显然,用前者更简洁明了,顺便提一下,Cells后带
\' 括号的用法应是 Range 对象 Item 属性的用法,因为 Item 属性是 Range 对象的默认属性,Item省略写
\' 出来罢了
Range("1:65536")(2, 3).Select \' 选取C2单元格
Range("1:65536")(2, "d").Select \' 选取D2单元格
Range("1:65536")(256 + 5).Select \' 选取E2单元格
Cells(2, 3).Select \' 选取C2单元格
Cells(2, "d").Select \' 选取D2单元格
Cells(256 + 5).Select \' 选取E2单元格
\' 3. Cells 为属性,所以,只有定义了该属性的特定对象才能使用,并且返回特定的 Range 对象,总的来讲是返
\' 回对象的全部单元格,特别注意,这里所讲的全部并不是我们肉眼所看到的,对于有的联合区域,返回的单元格
\' 与想象的有点差别,比如 Range("A1:C5,B2:D6").Cells.Count 返回值是30,而我们肉眼看到 A1:C5 和 B2:D6
\' 两片区域的单元格个数只有22个
Set r = Cells \' 应用于 Application 对象,Application 省略
Set r = Application.Cells \' 应用于 Application 对象
Set r = Worksheets(1).Cells \' 应用于 Worksheet 对象
Set r = Range("A1:C5,B2:D6").Cells \' 应用于 Range 对象,这个就我个人而言,找不出很好的应用
\' 4. Range为类类型,可以通过不同的方法构造Range对象
\' a. 用区域名称, 用 A1 样式引用的宏语言
Set r = Range("A1:B2") \' 区域操作符(冒号)
Set r = Range("A1:C5 B2:D6") \' 相交区域操作符(空格)
Set r = Range("A1:C5,B2:D6") \' 合并区域操作符(逗号)
\' Set r = Range("UserRng") \' 自定义名称,要先建立自定义名称UserRng
\' b. 区域左上角和右下角的单元格
Set r = Range(Range("A1"), Range("IV65536"))
End Sub 参考技术A
range(目标区域地址),目标区域地址就是参数。
这个函数是在循环中动态取得范围。
Range("b" & i & ":h" & i)这个格式是对的。
常用的格式就是
Range("a1", "b4").Select
Range("a2:b4").Select
扩展资料:
range是一种计算机术语,在Excel中,Range集合代表某一单元格、某一行、某一列、某一选定区域(该区域可包含一个或若干连续单元格区域),或者某一三维区域。
可用 Range(arg)(其中 arg 为区域名称)来返回代表单个单元格或单元格区域的 Range 对象。
表示单元格——range("A1")表示第一行第一列的单元格,实质上于cells(1,1)效果一样。两者在这种情况下是一样的,但是两者的关系可以这样理解,range对象是单元格对象的集合。
range对象在表示单元格的时候不可以像cells(i,j)一样range("ij")表示的,这是要注意的一点!
range对象表示连续的区域有两种表达:第一是range("起始单元格","结束单元格"),第二是range("起始单元格:结束单元格")。
对于不连续的区域,range的表达是:range("起始单元格1:结束单元格1,起始单元格2:结束单元格2")
参考资料:range函数
参考技术B 使用函数Vlookup()应该可以解决你的问题,比如:甲表里面有如下字段:
工号 姓名 部门 生日
123 张三 资讯 8/3
乙表里有如下字段:
工号 姓名 年龄
123 张三 23
那么就可以使用Vlookup()函数关联两个表的数据,关联依据最好选用“工号”
比如,在乙表中对应甲表中的生日:
=VLOOKUP(A:A,甲!A:D,4,0) ,其中,
1、“A:A”,表示乙表中与甲表关联的依据(工号),
2、“甲!A:D”表示在甲表中,从“A列(工号)到D列(生日)”,
3、“4”表示甲表中A:D间隔为4,
4、“0”表示精确匹配,即工号需要完全一致才可以对应。
该函数详细语法如下,需要仔细阅读才可完全理解,供参考:
——————————————————————
VLOOKUP
在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值。当比较值位于数据表首列时,可以使用函数 VLOOKUP 代替函数 HLOOKUP。
在 VLOOKUP 中的 V 代表垂直。
语法
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
Lookup_value 为需要在数组第一列中查找的数值。Lookup_value 可以为数值、引用或文本字符串。
Table_array 为需要在其中查找数据的数据表。可以使用对区域或区域名称的引用,例如数据库或列表。
如果 range_lookup 为 TRUE,则 table_array 的第一列中的数值必须按升序排列:…、-2、-1、0、1、2、…、-Z、FALSE、TRUE;否则,函数 VLOOKUP 不能返回正确的数值。如果 range_lookup 为 FALSE,table_array 不必进行排序。
通过在“数据”菜单中的“排序”中选择“升序”,可将数值按升序排列。
Table_array 的第一列中的数值可以为文本、数字或逻辑值。
文本不区分大小写。
Col_index_num 为 table_array 中待返回的匹配值的列序号。Col_index_num 为 1 时,返回 table_array 第一列中的数值;col_index_num 为 2,返回 table_array 第二列中的数值,以此类推。如果 col_index_num 小于 1,函数 VLOOKUP 返回错误值值 #VALUE!;如果 col_index_num 大于 table_array 的列数,函数 VLOOKUP 返回错误值 #REF!。
Range_lookup 为一逻辑值,指明函数 VLOOKUP 返回时是精确匹配还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值;如果 range_value 为 FALSE,函数 VLOOKUP 将返回精确匹配值。如果找不到,则返回错误值 #N/A。
说明
如果函数 VLOOKUP 找不到 lookup_value,且 range_lookup 为 TRUE,则使用小于等于 lookup_value 的最大值。
如果 lookup_value 小于 table_array 第一列中的最小数值,函数 VLOOKUP 返回错误值 #N/A。
如果函数 VLOOKUP 找不到 lookup_value 且 range_lookup 为 FALSE,函数 VLOOKUP 返回错误值 #N/A。 参考技术C
Excel的VBA编程中,很常用到的是通过字符串返回Range的功能,然后进一步对Range操作,这里水文工具集介绍一个实用的VBARange函数RangeFromAddress,具体源代码如下:
上面的RangeFromAddress还引用到两个函数,具体代码如下
01.Function GetObjectParentSheet(aObject As Object) As Object
02.Dim op As Object
03.On Error Resume Next
04.
05.If aObject Is Nothing Then GoTo ErrorExit
06.Set op = aObject.Parent
07.If op Is Nothing Then GoTo ErrorExit
08.
09.If TypeOf op Is Workbook Then
10.Set GetObjectParentSheet = aObject
11.GoTo ErrorExit
12.End If
13.
14.Do Until (TypeOf op Is Worksheet) Or (TypeOfop Is Application)
15.Set op = op.Parent
16.Loop
17.
18.If TypeOf op Is Worksheet Then SetGetObjectParentSheet = op
19.
20.ErrorExit:
21.Exit Function
22.End Function
23.
24.
25.Function GetObjectParentWorkbook(aObject AsObject) As Workbook
26.Dim o As Object
27.
28.On Error GoTo ErrorHandle
29.
30.If aObject Is Nothing Then GoTo ErrorExit
31.Set o = aObject.Parent
32.
33.If TypeOf aObject Is Workbook Then
34.Set GetObjectParentWorkbook = aObject
35.GoTo ErrorExit
36.End If
37.
38.Do Until (TypeOf o Is Workbook) Or (TypeOf o Is Application)
39.Set o = o.Parent
40.Loop
41.
42.If TypeOf o Is Workbook Then SetGetObjectParentWorkbook = o
43.
44.ErrorExit:
45.Exit Function
46.
47.ErrorHandle:
48.Resume ErrorExit
49.End Function
参考技术D 没有这个函数,只有AVERAGERANGE其实就是选择计算范围
EXCEL请详细说明sumif函数的用法
例如,你的3在A1,要求,第一列大于10的单元格,与它对应的第二列单元格求和。在求值单元格中输入:=SUMIF(A1:A6,>10,B1:B6)
SUMIF函数:对符合指定条件的单元格求和
语法:SUMIF(range,criteria,sum_range)
range是指用于筛选的单元格区域;criteria是筛选的条件,可以是数字、表达式或文本值,如≥100、<100等;sum_range是实际的求和区域;例如:假设A1:A4中的数据是10、20、30、40,B1:B4中的数据是100、200、300、400,那么SUMIF(A1:A4,“>15”,B1:B4)的值等于900。那是因为A2、A3、A4中的数据满足条件,所以相对应的对B2、B3、B4中的数据进行计算。 参考技术A 1.sumif函数的含义
1
1.sumif函数是用来根据指定条件对若干单元格进行求和。(即按条件求和)
end
2.sumif函数的语法格式
1
2.sumif函数的语法格式
=sumif(range,criteria,sum_range)
sumif(条件区域,求和条件,实际求和区域),第二个求和条件参数在第一个条件区域里。
end
3.sumif函数案列
3.如图,在a列中的众多发货平台(条件区域)中找出各个发货平台(求和条件)的发货总量(实际求和条件)
输入公式=sumif(a2:a13,d2,b2:b13)
公式说明,指定求和条件为成都发货平台,然后再众多发货平台(条件区域)中计算出成都发货平台的总发货量(求和区域)。
2
4.如图,我们通常会通过下拉填充公式就能快速把整列的发货量给计算出来,效果如图所示。
但是这时公式有问题,在计算上海发货平台的发货量的时候,这时的条件区域和实际求和区域是a3:a14,b3:b14,正确的应该是a2:a13,b2:b13。
这时就涉及到绝对引用和相对引用的问题,这里就不详细介绍,可以观看小编的经验excel相对引用和绝对怎么用
以上是关于excel表里的函数range怎么用的的主要内容,如果未能解决你的问题,请参考以下文章
Excel excel函数参数中的range和reference有啥区别