从Excel单元格中选择特定字符后的特定数字计数

时间:2019-09-18 10:43:48

标签: excel excel-2010

我遇到了自动导出的excel文件的情况。在其中一个单元格中,有一个Client_ID,它位于许多其他字符(也包括数字)之中。该ID在短语“ Client_ID =”之后或短语“ Telesales =”之后。短语之前和之后还有其他字符。两个短语也可能出现在单元格中。这是单元格内容的一个示例:

  

sys_CHSID = 1487626 | sys_StatConversationID = 100001624765 | sys_ANI = 00889620663 | sys_DNIS = 9800 | sys_REDIR = 600 | sys_Entrytime = 1568721995 | sys_ConversationID = 191000930271 | sys_CaseID = Customer   服务| Client_ID = 8813262350 |菜单= 1.1-剩余   分期付款|主题=客户   服务| sys_Prio = 10 | sys_Skill =服务| sys_ACW = 3 | sys_RouteStartTime = 1568722038 | sys_CS_Marker = VQ_Waiting_for_Operator_CS | Waited = 0   seconds | Agent = b041 | Firstname = Antoa | Lastname = Ilie | Recording_1 = 612_1_20190917150721_140 | Telesales = test   10000лвпРsтърсетегРsутреслед15С‡

到目前为止,我已经尝试过:

=IF(COUNT(FIND({0,1,2,3,4,5,6,7,8,9};(MID(A1;(FIND("CLIENT_ID=";A1;1)>0);10))))>5;MID(A1;(FIND("CLIENT_ID=";A1;1)+4);10);MID(A1;(FIND("Telesales=";A1;1)+10);10))

,但由于“ Telesales =“后有一些不是Client_ID的数字而无法使用。

4 个答案:

答案 0 :(得分:1)

假定ID号始终以“ |”分隔像上面的情况一样,此公式应该起作用:

编辑:似乎已经被回答了,但是该版本适用于任何长度的ID。

function GetBodyMail(){

  var thread = GmailApp.getThreadById("thread-id");
  var mgs = thread.getMessages();
  var mgsBody = mgs[0].getBody();
  var attachments = mgs[0].getAttachments();

  mgsBody = mgsBody + "<br> <img src='data:" + attachments[0].getContentType() + ";base64," + Utilities.base64Encode(attachments[0].getBytes() + "'>");

  return mgsBody;

}

答案 1 :(得分:0)

尝试这个:

=IFERROR(MID(A1,FIND("Client_ID=",A1,1)+10,10),MID(A1,FIND("Telesales=",A1,1)+10,10))

如果您需要检查ID:

=IF(ISNUMBER(MID(A1,FIND("Client_ID=",A1,1)+10,10))=FALSE,IFERROR(MID(A1,FIND("Client_ID=",A1,1)+10,10),MID(A1,FIND("Telesales=",A1,1)+10,10)))

希望有帮助

答案 2 :(得分:0)

也许是这样吗?

=IF(AND(ISNUMBER(FIND("Client_ID=",A1)),ISNUMBER(VALUE(MID(A1,FIND("Client_ID=",A1)+10,10)))),MID(A1,FIND("Client_ID=",A1)+10,10),MID(A1,FIND("Telesales=",A1)+10,10))

答案 3 :(得分:0)

这可以做到:

=MAX(IFERROR(MID(A1,SEARCH("Client_ID=",A1)+10,10)*1,0),IFERROR(MID(A1,SEARCH("Telesales=",A1)+10,10)*1,0))

如果找不到有效的ID(10个数字),它将返回0。