(14)返回平均值上面超过三个标准误差的值的单元格数量:=COUNTIF(DATA,“>"&AVERAGE(DATA)+STDEV(DATA)*3)
(15)返回包含值为或-3的单元格数量:=COUNTIF(DATA,3)+COUNIF(DATA,-3)
(16)返回包含值逻辑值为TRUE的单元格数量:=COUNTIF(DATA,TRUE)
1.12 计算一个日期是一年中的第几天
例如2006年7月29日是本年中的第几天?在一年中,显示是第几天用什么函数呢?假定A1中是日期,利用下列公式:
=A1-DATE(YEAR(A1),1,0),将单元格格式设置为常规,返回210,即2006年7月29日是2006年的第210天。
1.13 如何用公式求出最大值所在的行?
如A1:A10中有10个数,怎么求出最大的数在哪个单元格?
=MATCH(LARGE(A1:A10,1),A1:A10,0)
=ADDRESS(MATCH(SMALL(A1:A10,COUNTA(A1:A10)),A1:A10,0),1)
=ADDRESS(MATCH(MAX(A1:A10,1),A1:A10,0),1)
1.14 在Excel中的绝对引用与相对引用之间切换
在Excel中创建公式时,该公式可以使用相对引用,即相对于公式所在的位置引用单元;也可以使用绝对引用,即引用特定位置上的单元。引用由所在单元格的“列的字母”和“行的数字”组成,绝对引用由在“列的字母”和“行的数字”前面加“$”表示,例如,$B$1是对第一行B列的绝对引用。公式中还可以混合使用相对引用和绝对引用。可以利用F4切换相对引用和绝对引用,选中包含公式的单元格,在公式栏中选择想要改变的引用,按F4键可以进行切换。
1.15 在Excel公式和结果之间快速切换
在excel工作表中输入计算公式时,可以利用“Ctrl+`(中音号)”键来决定显示或隐藏公式,可让储存格显示计算的结果,还是公式本身。
1.16 如果某列中有大于0和小于0的数,将小于0数字所在的行自动删除
假定在A1-A6中有大于0和小于0的数,可以用下面的VBA程序实现:
for i=6 to 1 step -1
if cells(i,1)<0 then rows(i).Delete
next i
1.17 奇数行和偶数行求和
有时候需要奇数行和偶数行单独求和,例如要求A列第1行至1000行中奇数行之和,利用公式=SUMPRODUCT((A1:A1000)*MOD(ROW(A1:A1000),2)),要求这些行中偶数行之和,利用公式=SUMPRODUCT((A1:A1000)*NOT(MOD(ROW(A1:A1000),2)))。
1.18 用函数来获取单元格地址
在复杂的计算中,往往要获知单元格的地址,可以用函数=ADDRESS(ROW(),COLUMN())获得当前单元格的地址。
1.19 求一列中某个特定的值对应的另外列的最大或最小值
为了直观起见,举一个简单的例子:例如在A1:A10中有若干台计算机、打印机、传真机等物品的名称,在B1:B10中有上述设备对应的价格,求“计算机”对应的最低价格。可以用公式:
=min(if(a1:a10="计算机",b1:b10)),输入该公式后按Ctrl+Shift+Enter完成。
1.20 自动记录数据录入时间
利用VBA实现,建立一个Time.xls文档,输入以下VBA代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then
Exit Sub
Else
Target.Offset(0, 1) = Now
End If
End Sub
1.21 如果一个单元格中既有数字又有字母,怎么提取其中的数字呢
Function getnumber(rng As String) As String
Dim mylen As Integer
Dim mystr As String
mylen = Len(rng)
For I = 1 To mylen
mystr = Mid(rng, I, 1)
If Asc(mystr) >= 48 And Asc(mystr) <= 57 Then
getnumber = getnumber & mystr
End If
Next I
End Function
1.22 Excel数组的应用
数组就是单元的集合或是一组处理的值集合。可以写一个数组公式,即输入一个单个的公式,它执行多个输入的操作并产生多个结果——每个结果显示在一个单元中。数组公式可以看成是有多重数值的公式。与单值公式的不同之处在于它可以产生一个以上的结果。一个数组公式可以占用一个或多个单元。数组的元素可多达6500个。
(1)了解数组