如果它以下列字母之一开头,我试图从句子中提取一个单词.Dell **或Samsung **或Apple **。单词的位置可能在单元格中有所不同。
A1:Dell2622 Retail34792联想StoreQuantity4
A2:Retail9858 Qty8 Samsung783546 Android
A3:Retail21512 Apple3411 StoreQty15 Macintosh
我正在尝试使用以下公式来提取戴尔**或三星**或Apple **,如果它出现在单元格中。
=MID(A1, SEARCH({"Dell","Samsung","Apple"},A1), SEARCH(" ",A1, SEARCH({"Dell","Samsung","Apple"},A1))- SEARCH({"Dell","Samsung","Apple"},A1))
它适用于单元格A1,但其他所有内容都返回#VALUE!。我想它不会认识到我想要它检查或者提取或者。我想要实现的结果是:
A1:Dell2622稍后我可能需要添加更多内容来搜索,所以我试图让它易于修改。我想因为它找到了第一个实例,所以只需要调整一些东西来确保如果没有找到第一个值,它会寻找第二个,等等。
答案 0 :(得分:0)
假设您的数据设置类似于下图,您的字符串位于A列,B列中的公式以及D列中要查找的字词:
单元格B2中的公式并向下复制:
=TRIM(LEFT(SUBSTITUTE(MID(A2,MIN(INDEX(SEARCH($D$2:$D$4,A2&$D$2:$D$4),)),255)," ",REPT(" ",255)),255))
根据您的要求,不使用范围引用,而是直接在公式中包含单词列表:
=TRIM(LEFT(SUBSTITUTE(MID(A3,MIN(INDEX(SEARCH({"Dell","Samsung","Apple"},A3&{"Dell","Samsung","Apple"}),)),255)," ",REPT(" ",255)),255))