Excel中,如何同时查找几个特定字符?
在单元格B1中输入以下公式:lookup(32767,find(d$1:d$3,a1),d$1:d$3)。然后拖动并填充到单元格B2~B4。
分析:
因为这个问题将城市的名称保存在同一个列中,所以我们很容易想到LOOKUP函数的向量形式。
它可以在一个向量中找到一个值,并在另一个向量的相同位置返回该值。
向量形式的查找函数的语法是:
LOOKUP(查找值,查找向量,[结果向量])
查找值
必要的。检查
在第一个向量中搜索的值。查找值
它可以是数字、文本、逻辑值、名称或对值的引用。
查找向量
必要的。仅包含一行或一列的区域。查找向量
中的值可以是文本、数字或逻辑值。
重要的:
查找向量
中的值必须按升序排列:...,-2,-1,0,1,2,...,a-z,假,真;否则,查找
可能不会返回正确的值。文本不区分大小写。
结果向量
可选。仅包含一行或一列的区域。结果向量
参数必须与lookup_vector匹配。
参数大小相同。它们的大小必须相同。
显然,D$1:D$3,也就是向量{广州,上海,北京},构成了第三个参数result_vector。
我们需要构建第二个参数lookup_vector。
这个问题要求从公司名称中提取地名,例如,提取"北京"来自"北京东湖五金厂有限公司;",很容易与FIND函数联系起来。
。它可以在一个字符串中找到另一个字符串,并返回后者在前者中的位置。如果找不到,它将返回#VALUE!错误。
FIND函数的语法是:
FIND(find_text,within_text,[开始编号])
查找_文本
必要的。要查找的文本。
在文本内
必要的。包含要查找的文本的文本。
开始数量
可选。指定开始搜索的字符。within_text中的第一个字符是编号为1的字符。如果省略start_num,则假定其值为1。
FIND函数的第一个参数find_tExt,可以是向量或数组
。我们可以使用查找功能来查找"广州","上海"和"北京"依次在单元格A1中,即找到(d$1echov6-@.comd$3,A1)。显然,查找功能可以找不到"广州"or"上海"这里,但它可以找到"北京"并返回其位置1。因此,搜索结果将临时存储为vector{#VALUE!,#值!,1}。这个向量可以作为查找函数的第二个参数LOOKUP_vector。
。
现在,让我们让我们关注查找函数的第一个参数LOOKUP_value。
这个函数有一个属性:如果LOOKUP函数找不到lookup_value,它将匹配lookup_vector中小于或等于lookup_value的最大值。
。
这个函数还有一个隐藏的属性:它忽略第二个参数lookup_vector中的错误消息。
,所以对于#VALUE!它只会对这样的错误信息视而不见。
我们要在这个基础上考虑容错的问题。如果单元格A1不是"北京东湖五金厂有限公司;"但是"联合通信集团北京分公司,也就是说"北京"不一定是1。举个详尽的例子,因为在Excel中,每个单元格最多可以输入32,767个字符,而"北京"可能在任何位置,那么"北京"会是1~32766。
因为"北京"可以是1到32766之间的任意整数,以便查找"北京",必须将第一个参数lookup_value设置为32766以上的整数,32767正好。
。
参考资料:
[1]查找功能。功能-446d94af-663b-451d-8251-369D5e3864CB
[2]FIND和FINDB函数。,findb-function-c7912941-af2a-4BDF-a553-d0d89b0a0628
excel如何提取指定“单元格”的“下一格”?
在E2中输入或复制并粘贴此公式。
间接(地址(行(A1)1,列(A1)))
右拉填充