【228】◀▶ Excel 函数说明

时间:2022-01-02 08:16:26

官方帮助:Excel 函数(按字母顺序列出)

官方帮助:Excel 函数(按类别列出)

参考:EXCEL常用函数大全


01   N_ELEMENTS 表达式或者变量的元素个数。
02   DEFSYSV 定义系统变量。
03   EXIT 退出 IDL 返回到系统。
04   SAVE 将变量、系统变量和 IDL 函数存储在 *.sav 文件中。
05   RESTORE 恢复通过 SAVE 过程存储在 *.sav 文件中的变量、函数等。
06   FUNCTION 定义一个 IDL 函数。
07   PRO 定义一个 IDL 过程。
08   LIST 创建一个新的 list。
09   STOP 停止一个正在执行的程序或者批处理文件。
10   TYPENAME 获取变量的 IDL 类型名称、类名或者结构名。
11   WAIT 将程序暂停指定的时间段。
12   TIC 存储开始时候的系统时间。
13   TOC 存储结束时候的系统时间。

序号 名称  

功能说明

  语法 & 举例
01 IF  

此函数用于在条件为真时返回一个值,条件为假时返回另一个值。
-----------------------------------------------
IF(logical_test, value_if_true, [value_if_false])
-----------------------------------------------
◈ logical_test:要测试的条件。
◈ value_if_true:logical_test 的结果为 TRUE 时,您希望返回的值。
◈ value_if_false:logical_test 的结果为 FALSE 时,您希望返回的值。

 

=IF(C2=”Yes”,1,2)
如果(C2 等于 Yes,则返回 1,否则就返回 2)

 02 SUMIF

按给定条件对指定单元格求和。
-----------------------------------------------
SUMIF(range, criteria, [sum_range])
-----------------------------------------------
◈ range:根据条件进行计算的单元格的区域。
◈ criteria:用于确定对哪些单元格求和的条件,其形式可以为数字、表达式、单元格引用、文本或函数。例如,条件可以表示为 32、">32"、B5、"32"、"苹果" 或 TODAY()。
◈ sum_range:要求和的实际单元格。如果省略对应用条件的单元格求和。

 

=SUMIF(A2:A7,"水果",C2:C7)
“水果”类别下所有食物的销售额之和。

 03 LEFT、LEFTB  

返回文本值中最左边的字符。
-----------------------------------------------
LEFT(text, [num_chars])
-----------------------------------------------
◈ test:包含要提取的字符的文本字符串。
◈ num_chars:指定要由 LEFT 提取的字符的数量。
  Num_chars 必须大于或等于零。
  如果 num_chars 大于文本长度,则 LEFT 返回全部文本。
  如果省略 num_chars,则假定其值为 1。

 

=LEFT(A2,4)
第一个字符串中的前四个字符

  LEN、LENB  

返回文本字符串中的字符个数。
-----------------------------------------------
LEN(test)
-----------------------------------------------
◈ test:要查找其长度的文本。

 

=LEN(A2)
第一个字符串的长度

  MID、MIDB  

从文本字符串中的指定位置起返回特定个数的字符。
-----------------------------------------------
MID(text, start_num, num_chars)
-----------------------------------------------
◈ test:文本中要提取的第一个字符的位置。 文本中第一个字符的 start_num 为 1,以此类推。
◈ start_num:指定希望 MID 从文本中返回字符的个数。
◈ num_chars:指定希望 MIDB 从文本中返回字符的个数(字节数)。

  =MID(A2,1,5)
从 A2 内字符串中第 1 个字符开始,返回 5 个字符。
  FIND、FINDB  

在一个文本值中查找另一个文本值(区分大小写)。
-----------------------------------------------
FIND(find_text, within_text, [start_num])
-----------------------------------------------
◈ find_test:要查找的文本。
◈ within_text:包含要查找文本的文本。
◈ start_num:指定开始进行查找的字符。 within_text 中的首字符是编号为 1 的字符。 如果省略 start_num,则假定其值为 1。

 

=FIND("M",A2)
单元格 A2 中第一个“M”的位置

=FIND("M",A2,3)
从单元格 A2 的第三个字符开始查找第一个“M”的位置

 06 FIND、FINDB  

在一个文本值中查找另一个文本值(区分大小写)。
-----------------------------------------------
FUNCTION Function_Name, parameter1, ..., parametern
-----------------------------------------------
◈ Function_Name:函数的名称
◈ parameter1:第1个参数
◈ parametern:第N个参数

   
07 PRO  

定义一个 IDL 过程。
-----------------------------------------------
PRO Procedure_Name, argument1, ..., argumentn
   . . .
END
-----------------------------------------------
◈ Procedure_Name:过程的名称
◈ argument1:第1个参数
◈ argumentn:第N个参数

 
08 LIST  

创建一个新的 list。
list 可以包含不同的数据类型,包括数据、数组、结构体、指针、对象以及其他的 list 或者 哈希表。
-----------------------------------------------
Result = LIST( [Value1, Value2, ... Valuen] [, /EXTRACT] [, LENGTH=value] [, /NO_COPY])
-----------------------------------------------
◈ Valuen:每个元素的值
◈ EXTRACT:默认情况下,数组和 list 都是以单独的元素存在的,设置此关键字,数组和 list 中的元素都会添加到此 list 中
◈ LENGTH=value:指定元素的个数,如果大于参数个数,则循环填充,如果没有元素,则全部为“!NULL”

 

IDL> l = LIST(2, 3, INDGEN(3))
IDL> l
[
    2,
    3,
    [0, 1, 2]
]
IDL> l = LIST(2, 3, INDGEN(3), /EXTRACT)
IDL> l
[
    2,
    3,
    0,
    1,
    2
]
IDL> l = LIST(0, 1, LENGTH=5)
IDL> l
[
    0,
    1,
    0,
    1,
    0
]

 

List::Add - 增加一个新的元素
List::Count - 返回元素的个数
List::Filter - Pass the items through a filter function.
List::IsEmpty - 测试是否为空
List::Map - Pass the items through a user-defined function.
List::Move - Move items in the list.
List::NestedMap - Pass the items through a user-defined function using a nested loop.
List::Reduce - Pass each item through a function, accumulating the result.
List::Remove - Remove an item from the list.
List::Reverse - 反转所有元素
List::Sort - 为所有元素排序
List::Swap - Switch the positions of two items in the list.
List::ToArray - 转换为 IDL 数组
List::Where - 找到等于指定值的元素

09 STOP  

停止一个正在执行的程序或者批处理文件。
-----------------------------------------------
STOP [, Expr1, ..., Exprn]
-----------------------------------------------
◈ Angle:顺时针旋转的角度值

 

IDL> ;假设你想停止一个过程,并输出 A、B、C 和 NUM,可以在合适的位置输入下面的命令:
IDL> STOP, A, B, C, NUM
IDL> ;为了继续执行程序,可以输入下面的命令:
IDL> .CONT

10 TYPENAME  

获取变量的 IDL 类型名称、类名或者结构名。
-----------------------------------------------
Result = TYPENAME(Variable)
-----------------------------------------------
◈ Variable:变量名称或者表达式

 

IDL> TYPENAME(0.2)
FLOAT
IDL> TYPENAME([3,2])
INT

11 WAIT  

将程序暂停指定的时间段。
-----------------------------------------------
WAIT, Seconds
-----------------------------------------------
◈ Seconds:暂停的秒数

 

IDL> array = [1, 2, 2, 5, 6, 6, 5]
IDL> UNIQ(array)
           0           2           3           5           6
IDL> array[UNIQ(array)]
       1       2       5       6       5
IDL> UNIQ(array, SORT(array))
           0           1           3           4
IDL> array[UNIQ(array, SORT(array))]
       1       2       5       6

 12 TIC  

存储开始时候的系统时间。
-----------------------------------------------
TIC [, /PROFILER]
-----------------------------------------------
ClockName = TIC( [Name] [, /PROFILER] )

 
 13 TOC  

存储结束时候的系统时间。
-----------------------------------------------
TOC [, ClockID] [, LUN=lun] [, REPORT=variable]
-----------------------------------------------
Result = TOC( [ClockID] [, REPORT=variable] )