从单元格中提取特定的文本字符串

时间:2019-05-01 01:57:00

标签: excel-formula excel-2010

请查看以下文字:

先生。 Manimaran R MMTFD NL20824448862,206号房间

我大约有50万个这样的单元格,我想使用公式从此文本中提取ID号。我面临的问题是,某些ID以NL开头,某些以NH开头,有些以IN / IWA开头,并且包含ID的文本字符串的长度也不同(13/14/15等)。 有什么公式可以提取这些ID?

当前,我正在使用此公式= MID(text,FIND(“ NH”,text,1),15)。 但是我需要为NL / IN以及14/15等每次更改它。

4 个答案:

答案 0 :(得分:0)

使用external tools是需要提取大量差异的方法。

答案 1 :(得分:0)

接下来的情况如何(假设文本位于单元格C3中(基本上从逗号开始旋转并回头看)

=right(mid(C3, find(",",C3)-16,16),len(mid(C3, find(",",C3)-16,16))-find(" ",mid(C3, find(",",C3)-16,16)))

答案 2 :(得分:0)

您可以在python3中使用pandas来轻松,快速地完成此类任务。

在python3外壳中

import pandas as pd
df= pd.read_excel('./your_excel_file.xlsx') ##import from excel
df['ID']=df['Data_header_name'].str.split(' ',expand=True)[4].str.split(',',expand=True)[0] ##here you can use any relevant filters to get what you want
df.to_excel('output_excel.xlsx') ## save to excel

您还需要使用pip安装openpyxl,xlrd,numpy,pandas

pip install openpyxl xlrd numpy pandas

答案 3 :(得分:0)

我在这里假设两件事:

  • 每个ID后面都有一个@Keyword def uploadFile(TestObject to, String filePath) { WebUI.click(to) StringSelection ss = new StringSelection(filePath); Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null); Robot robot = new Robot(); robot.keyPress(KeyEvent.VK_CONTROL); robot.keyPress(KeyEvent.VK_V); robot.keyRelease(KeyEvent.VK_CONTROL); robot.keyRelease(KeyEvent.VK_V); robot.keyPress(KeyEvent.VK_ENTER); robot.keyRelease(KeyEvent.VK_ENTER); }
  • 每个ID前面都有一个空格

在单元格,中:

B1

enter image description here