Excel 查找左侧的所有内容(多输入)
我的文件 工作簿1包含笔记本电脑和库存表,库存将从笔记本电脑中获取数据,仅记录笔记本电脑的名称 目标 从笔记本电脑(如Compaq CQ58-250SA)中提取产品名称(10000个条目) 计划 我们只需要产品名称,这样就可以找到某些关键字(计算机规格)并将所有内容都放在左边(产品名称) 目标关键字Excel 查找左侧的所有内容(多输入),excel,Excel,我的文件 工作簿1包含笔记本电脑和库存表,库存将从笔记本电脑中获取数据,仅记录笔记本电脑的名称 目标 从笔记本电脑(如Compaq CQ58-250SA)中提取产品名称(10000个条目) 计划 我们只需要产品名称,这样就可以找到某些关键字(计算机规格)并将所有内容都放在左边(产品名称) 目标关键字 赛扬 奔腾 B815 E1-1200 B820 电子表格数据 A1单元=康柏CQ58-250SA赛扬B830,Windows 单元A2=HP 650奔腾B980,15.6高清AG LED SV
- 赛扬
- 奔腾
- B815
- E1-1200
- B820
- A1单元=康柏CQ58-250SA赛扬B830,Windows
- 单元A2=HP 650奔腾B980,15.6高清AG LED SVA
- 单元A3=Asus X401A-WX321H、B815、Windows 8
- 单元A4=Compaq CQ58-256SA E1-1200,Windows 8 64
- 单元A5=ASUS,X401A-WX089V,B820,Windows 7
=左(笔记本电脑!A1,FIND(“Celeron”和“Pentium”和“B815,笔记本电脑!A1)-1)您可以使用
替换将Pear和Orange的任何实例替换为Apple,然后使用它(应全部放在一行中,但为了可读性而将其拆分):
现在,如果没有Pear、Apple或Orange的实例,您将获得#Value
,因此我们也可以使用ISERROR
来检查无效值:
=IF(ISERROR(LEFT(A1, FIND("Apple",SUBSTITUTE(SUBSTITUTE(A1, "Pear", "Apple"),
"Orange", "Apple"))-1)),A1,LEFT(A1, FIND("Apple", SUBSTITUTE(SUBSTITUTE(A1,
"Pear", "Apple"),"Orange", "Apple"))-1))
如果您的水果列表位于D1:D3
中,您可以使用以下内容:
=LEFT(A1,FIND(INDEX(D1:D3,MATCH(1,COUNTIF(A1,"*"&D1:D3&"*"),0)),A1)-1)
需要通过按CTRL+SHIFT+ENTER将其作为数组公式输入。我的版本稍短。还需要作为数组公式输入:
=MAX(1-ISERR(SEARCH(D1:D3,A1)))
如果找到,则返回1,如果未找到,则返回0。从那里开始计算。根据更新的问题,假设每个单元格只有一个关键字,并且D1:D5中的关键字列表,则可以使用此公式
=左(笔记本电脑!A1,查找(2^15,查找(D$1:D$5,笔记本电脑!A1))-1)
否则,如果每个单元格可能有多个关键字
您使用的是哪个版本的Excel?在Excel2010中,您可以使用这样的聚合功能
=左(A1,聚合(15,6,查找(D$1:D$3,A1),1)-1)
其中D1:D3是您的“水果清单”-根据需要展开
[15 in-AGGREGATE函数表示“SMALL”函数,6忽略错误,因此在忽略错误的同时从FIND(D$1:D$3,A1)中获得最小值,从而给出单元格中第一个结果的位置]
这可以作为常规公式输入并向下复制,如果未找到任何结果,则会出现错误,但您可以使用IFERROR函数对其进行修改,以返回文本值或A1的全部内容
注意:FIND是“区分大小写的”-如果不需要,请使用SEARCH
在Excel2007或更高版本中,您可以使用iError,因此可以使用此“数组输入”版本
=左(A1,最小(IFERROR(查找(D$1:D$3,A1),“”)1)
我不明白……你到底想做什么?你的输入看起来像什么?好的,我已经更新了这个问题。+1极好!简短:)如果A1可以包含多个水果,那么这个公式不一定会给出第一个水果左边的所有文本-取决于D1:D3中水果的顺序,例如,如果D1=“Apple,D2=“Pear”,D3=“Orange”&A1=“两棵树,梨和苹果”
然后公式将所有文本返回到苹果的左侧(而不是梨的左侧)。我建议的公式应该总是将文本返回到第一个水果的左边-如果每个单元格中只有一个水果,那么您可以使用这个非数组公式=left(A1,LOOKUP(2^15,FIND(D$1:D$3,A1))-1)
Ctrl-Shift-Enter,我想输入数组公式?@barryhoudini这是给Doug的:需要通过按Ctrl-Alt-Enter键将其作为数组公式输入。”他回答道。编辑它,很抱歉造成混淆)@Peter L.好吧,很抱歉我现在看到了好吧,但我的例子只是我所需要的一个简单版本:我可以用Pm向你小Bobby寻求帮助,这样我就可以避免重复问题吗?@Ninja2k-可能最好根据你的具体情况更新你的问题,这样我们才能最好地帮助你。我认为你太挑剔了。我已经完成了困难的部分。OP可以根据其工作表的配置完成简单的部分。如果这对你来说还不够好,我道歉。非常有趣,但是我得到了一个#值,当它找不到keyword@Ninja2k用哪种配方?您使用的是哪个版本的Excel?如果找不到关键字,您希望得到什么结果?Excel 2010正在考虑使用“应该做对吗?”将公式封装在IFERROR中,例如,对于查找版本=IFERROR(左(笔记本电脑!A1,查找(2^15,查找(D$1:D$5,笔记本电脑!A1))-1),”)
=MAX(1-ISERR(SEARCH(D1:D3,A1)))