![Excel 宏提取特定数据](https://linux22.com/image/1323163/Excel%20%E5%AE%8F%E6%8F%90%E5%8F%96%E7%89%B9%E5%AE%9A%E6%95%B0%E6%8D%AE.png)
我有一个电子表格,其中有一个单元格包含计算机上的所有应用程序。我想要一个宏来从列表中提取特定应用程序并删除其余应用程序,然后在同一个单元格或下一个单元格中显示我想要的应用程序。
例如,单元格数据如下所示:
“Microsoft Office Project Professional 2010 - 14.0.6029.1000”;“Microsoft Office 2010 安全更新 (KB2598039) 32 位版本”;“Microsoft Office 2010 安全更新 (KB2553091)”;“Microsoft Office 2010 定义更新 (KB982726) 32 位版本”;“Microsoft Office 2010 更新 (KB2553455) 32 位版本”;“Microsoft Office 2010 更新 (KB2494150)”;“Microsoft Office 2010 更新 (KB2553181) 32 位版本”;“Microsoft Project 2010 Service Pack 1 (SP1)”;
我希望它在单元格中搜索任何版本的“Microsoft Office Project”,然后删除单元格的其余文本并显示 Microsoft Office Project Professional 2010 - 14.0.6029.1000。
我不知道从哪里开始,因为我从未创建过宏。有什么想法可以让我做到这一点吗?
答案1
这是公式解决方案。如果文本在 中A1
,您可以在 中输入以下内容B1
:
=MID(A1,FIND("Microsoft Office Project",A1),FIND("""",A1,FIND("Microsoft Office Project",A1))-FIND("Microsoft Office Project",A1))
答案2
这是另一种解决方案,如果找不到搜索字符串,则显示“未找到”:
=IF(ISNUMBER(FIND("Microsoft Office Project Professional",A1)),MID(A1,FIND("Microsoft Office Project Professional",A1),FIND("""",A1,FIND("Microsoft Office Project Professional",A1)+1)-FIND("Microsoft Office Project Professional",A1)),"未找到")