首页 > Excel专区 > Excel教程 >

用LOOKUP和FIND函数规范为标准名称

Excel教程 2021-12-26 13:41:42

作为管理或者统计工作者,往往从各个部门收集上来的数据填写非常不规范,比如下:

A列中同样的设备,填写的名称不一样,这为后期的统计与分析带来麻烦。我们要把这些不规范的设备名称改写成标准名称。

关键操作第一步:建立关键字与标准名称对应表

首先对不规则的商品名称分析,提取出关键字,建立关键字与标准名称之 间的对应关系表,如下:

第二步:函数实现

在B2单元格输入公式“=LOOKUP(1,0/FIND($D$2:$D$7,A2),$E$2:$E$7)”,公式公式向下填充,就可以写出所有的标准名称。

(这种用来填写标准名称的方法,还可用在给物品分类方面)

公式解析

总公式“=LOOKUP(1,0/FIND($D$2:$D$7,A2),$E$2:$E$7)”

其中:

FIND($D$2:$D$7,A2)

FIND函数返回一个字符串在另一个字符串中的起始位置,如果找不到要查找的字符或字符串,返回错误值#VALUE!。

本示例中的含义是:依次查找$D$2:$D$7区域中的关键字在A2字符串中起始位置,如果查找到了,就返回关键字在A2字符串中的起始位置,如果查找不到,就返回错误值#VALUE!。

所以,本部分函数,在本示例中的返回值是由起始位置与错误值#VALUE!组成的数组(为描述方便,称为数组1):

{#VALUE;4;#VALUE;#VALUE;#VALUE;#VALUE}

0/FIND($D$2:$D$7,A2)

用0除以数组1,得到由0和错误值#VALUE!组成的新数组(数组2):

{#VALUE;0;#VALUE;#VALUE;#VALUE;#VALUE}

LOOKUP(1,0/FIND($D$2:$D$7,A2),$E$2:$E$7)

LOOKUP函数用1作为查找值,在数组2中,所有的数字都小于1,所以按照小于1的最大值0进行匹配,匹配出第三个参数$E$2:$E$7数组中与数组2中0对应位置的值,即E3单元格的数据。

附函数语法

LOOKUP函数:

LOOKUP(lookup_value, lookup_vector, [result_vector])

这是LOOKUP 函数向量形式语法,具有以下参数:

lookup_value    必需。 LOOKUP 在第一个向量中搜索的值。 Lookup_value 可以是数字、文本、逻辑值、名称或对值的引用。

lookup_vector    必需。 只包含一行或一列的区域。 lookup_vector 中的值可以是文本、数字或逻辑值。

result_vector    可选。只包含一行或一列的区域。result_vector 参数必须与 lookup_vector 参数大小相同。其大小必须相同。

FIND函数:

FIND(find_text, within_text, [start_num])

FIND 和 FINDB 函数语法具有下列参数:

find_text    必需。 要查找的文本。

within_text    必需。 包含要查找文本的文本。

start_num    可选。 指定开始进行查找的字符。 within_text 中的首字符是编号为 1 的字符。 如果省略 start_num,则假定其值为 1。


标签: excel公式技巧excel函数公式Excel常用函数excel教程

office教程网 Copyright © 2016-2020 https://www.office9.cn. Some Rights Reserved.