清洗处理类:3-10 关联匹配类:1-2,11-14 1)Vlookup() VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])。 VLOOKUP(查找值,查找范围,查找列数,精确匹配或者近似匹配)
vlookup就是竖直查找,即列查找。通俗的讲,根据查找值参数,在查找范围的第一列搜索查找值,找到该值后,则返回值为:以第一列为准,往后推数查找列数值的这一列所对应的值。
以后几乎都使用精确匹配,最后项的参数一定要选择为false。
需求:A分销商需要7/31销量数据 ) 操作:在I 3 单元格输入:=VLOOKUP(H3,$A$3:$F$19,5,FALSE)
分析: H3为我们想查找的型号,即iphone5。为什么要写H3,而不是直接写iphone5,因为方便公式进行拖拽填充,以及保证准确性。 $A$3:$F$19为我们需要在此范围内做查找,为什么要加上绝对引用呢,因为下面的ip4和剩余的查找都引用这个区域,即我们的数据源,加上了绝对引用后,就可以对公式进行直接的拖拽。 5 从我们的数据源第一列起,我们要查询的7/31号的销量在我引用的第一列(即型号列)后面的第五列。注意这里的列数是从引用范围的第一列做为1,而不是以A列作为第一列,万万注意此处。 2)Lookup() 1 矢量形式的 LOOKUP 矢量形式的 LOOKUP 在一行或一列区域(称为矢量)中查找值,然后返回另一行或一列区域中相同位置处的值。如果要指定其中包含要匹配的值的区域,请使用这种形式的 LOOKUP 函数。 矢量形式的语法 LOOKUP(lookup_value,lookup_vector,result_vector) Lookup_value 是 LOOKUP 在第一个矢量中搜索到的值。Lookup_value 可以是数字、文本、逻辑值,也可以是代表某个值的名称或引用。 Lookup_vector 是一个仅包含一行或一列的区域。lookup_vector 中的值可以是文本、数字或逻辑值。 重要说明:lookup_vector 中的值必须按升序顺序排列。例如,-2、-1、0、1、2 或 A-Z 或 FALSE、TRUE。否则,LOOKUP 返回的值可能不正确。大写和小写文本是等效的。 Result_vector 是一个仅包含一行或一列的区域。它的大小必须与 lookup_vector 相同。
从A1:A11找D2(3),返回同行的C列的值a 注意: 如果 LOOKUP 找不到 lookup_value,它会匹配 lookup_vector 中小于或等于 lookup_value 的最大值。
A列找不到6 就返回A列5同行的C列值g 如果 lookup_value 小于 lookup_vector 中的最小值,则 LOOKUP 会返回 #N/A 错误值。 2 数组形式的LOOKUP 数组形式的 LOOKUP 在数组的第一行或列中查找指定值,然后返回该数组的最后一行或列中相同位置处的值。如果要匹配的值位于数组的第一行或列中,请使用这种形式的 LOOKUP。 数组形式的语法 LOOKUP(lookup_value,array) Lookup_value 是 LOOKUP 在数组中搜索到的值。Lookup_value 可以是数字、文本、逻辑值,也可以是代表某个值的名称或引用。 如果 LOOKUP 找不到 lookup_value,它会使用该数组中小于或等于 lookup_value 的最大值。 如果 lookup_value 小于第一行或列(取决于数组维度)中的最小值,则 LOOKUP 会返回 #N/A 错误值。 Array 是一个单元格区域,其中包含要与 lookup_value 进行比较的文本、数字或逻辑值。 数组形式的 LOOKUP 与 HLOOKUP 函数和 VLOOKUP 函数相似。其区别是 HLOOKUP 在第一行中搜索 lookup_value,VLOOKUP 在第一列中进行搜索,而 LOOKUP 根据数组的维度进行搜索。 如果 array 所覆盖区域的宽度大于高度(列多于行),则 LOOKUP 会在第一行中搜索 lookup_value。 如果 array 所覆盖的区域是正方形或者高度大于宽度(行多于列),则 LOOKUP 会在第一列中进行搜索。 使用 HLOOKUP 和 VLOOKUP 时,可以向下索引或交叉索引,但 LOOKUP 始终会选择行或列中的最后一个值。 重要说明:array 中的值必须按升序顺序排列。例如,-2、-1、0、1、2 或 A-Z 或 FALSE、TRUE。否则,LOOKUP 返回的值可能不正确。大写和小写文本是等效的。
从A1:C11 查找D6(4),返回最后一列同样位置的f3)TRIM() TRIM() 去掉字符串的两边空格,类似于python字符串函数()
字符串中间的空格可以用 SUBSTITUTE() SUBSTITUTE(text,old_text,new_text,[instance_num]) 类似于python的replace() Text 为需要替换其中字符的文本,或对含有文本的单元格的引用。 Old_text 为需要替换的旧文本。 New_text 用于替换 old_text 的文本。 Instance_num 为一数值,用来指定以 new_text 替换第几次出现的 old_text。如果指定了 instance_num,则只有满足要求的 old_text 被替换;否则将用 new_text 替换 TEXT 中出现的所有 old_text。
4)CONCATENATE () CONCATENATE (text1,text2,...) Text1, text2, ... 为 1 到 30 个将要合并成单个文本项的文本项。这些文本项可以为文本字符串、数字或对单个单元格的引用。 也可以用 &(和号)运算符代替函数 CONCATENATE 实现文本项的合并。
5)Replace() =Replace(指定字符串,哪个位置开始替换,替换几个字符,替换成什么) =REPLACE("abcdefg",1,2,"aaa") 结果
6)Left/Right/Mid =Mid(指定字符串,开始位置,截取长度) 7)Len/Lenb 返回字符串的长度,在len中,中文计算为一个,在lenb中,中文计算为两个。
8)Find Find(要查找的文本,文本所在的单元格,从第几个字符开始查找[可选,省略默认为1,从第一个开始查找]) 类似于python的() 查找某字符串出现的位置,可以指定为第几次出现,与Left/Right/Mid结合能完成简单的文本提取
注意: 指定查找起始位置start_num为3,是从第3个字符开始查找,但结果还是从文本开头计算。所以返回的是9 区分大小写 Find函数是精确查找,区分大小写。Search函数是模糊查找,不区分大小写。
9)Search 和Find类似,区别是Search大小写不敏感,但支持*通配符 search函数的参数find_text可以使用通配符“*”,“”。 通配符——星号“*”可代表任何字符串,所以返回1
如果参数find_text就是问号或星号,则必须在这两个符号前加上“~”符号。 10)Text TEXT(value,format_text) Value 为数值、计算结果为数字值的公式,或对包含数字值的单元格的引用。 Format_text 为“单元格格式”对话框中“数字”选项卡上“分类”框中的文本形式的数字格式。 说明 • Format_text 不能包含星号 (*)。 • 通过“格式”菜单调用“单元格”命令,然后在“数字”选项卡上设置单元格的格式,只会更改单元格的格式而不会影响其中的数值。使用函数 TEXT 可以将数值转换为带格式的文本,而其结果将不再作为数字参与计算。
11)index 返回表或区域中的值或值的引用。函数INDEX()有两种形式:数组和引用。数组形式通常返回数值或数值数组;引用形式通常返回引用。 INDEX(array,Row_num,column_num) 返回数组中指定单元格或单元格数组的数值。 INDEX(reference,Row_num,column_num,area_num) 返回引用中指定单元格区域的引用。 语法 1(数组) INDEX(array,Row_num,column_num) Array 为单元格区域或数组常量。 • 如果数组只包含一行或一列,则相对应的参数 Row_num 或 column_num 为可选。 • 如果数组有多行和多列,但只使用 Row_num 或 column_num,函数 INDEX 返回数组中的整行或整列,且返回值也为数组。 Row_num 数组中某行的行序号,函数从该行返回数值。如果省略 Row_num,则必须有 column_num。 Column_num 数组中某列的列序号,函数从该列返回数值。如果省略 column_num,则必须有 Row_num。 • 如果同时使用 Row_num 和 column_num,函数 INDEX 返回 Row_num 和 column_num 交叉处的单元格的数值。 • 如果将 Row_num 或 column_num 设置为 0,函数 INDEX 则分别返回整个列或行的数组数值。若要使用以数组形式返回的值,请将 INDEX 函数以数组公式( 数组公式对一组或多组值执行多重计算,并返回一个或多个结果。数组公式括于大括号 ({ }) 中。按 Ctrl+Shift+Enter 可以输入数组公式。)形式输入,对于行以水平单元格区域的形式输入,对于列以垂直单元格区域的形式输入。若要输入数组公式,请按 Ctrl+Shift+Enter。
语法 2(引用) 返回指定的行与列交叉处的单元格引用。如果引用由不连续的选定区域组成,可以选择某一连续区域。 INDEX(reference,Row_num,column_num,area_num) Reference 对一个或多个单元格区域的引用。 • 如果为引用输入一个不连续的区域,必须用括号括起来。 • 如果引用中的每个区域只包含一行或一列,则相应的参数 Row_num 或 column_num 分别为可选项。例如,对于单行的引用,可以使用函数 INDEX(reference,,column_num)。 Row_num 引用中某行的行序号,函数从该行返回一个引用。 COLUMN_num 引用中某列的列序号,函数从该列返回一个引用。