我有两个字符串,我想在中间提取数字" 2200"我正在使用公式
=VALUE(MID(C3,SEARCH("_",C3)+11,4))
C3是字符串的位置。这个公式适用于"字符串2"并给我我正在寻找的价值" 2200"但不适用于" String 1"我得#VALUE!如果我改变公式
=VALUE(MID(C3,SEARCH("_",C3)+10,4))
适用于" String 1"但不适用于" String 2"如何在两种情况下使用相同的配方?
字符串1:ABC_1A1B_33C_2200_4AB_ABC4_4800
字符串2:ABC_10A1B_33C_2200_4AB_ABC4_4800
THX,
答案 0 :(得分:3)
只要示例=LEFT(REPLACE(D7,1,FIND("@",SUBSTITUTE(D7,"_","@",3)),""),4)
总是4位数字:
<happy>
This did the trick : the boys now have a more distant friendship and David is much happier .
<\happy>
<happy>
When Anna left Inspector Aziz , she was much happier .
<\happy>
答案 1 :(得分:2)
如果您要提取的值始终位于第四位,则可以尝试:
=INDEX(TRIM(MID(SUBSTITUTE(C3,"_",REPT(" ",99)),seq_99,99)),4,1)
其中seq_99
是引用的命名公式:
=IF(ROW(INDEX(Sheet1!$1:$65535,1,1):INDEX(Sheet1!$1:$65535,255,1))=1,1,(ROW(INDEX(Sheet1!$1:$65535,1,1):INDEX(Sheet1!$1:$65535,255,1))-1)*99)
seq_99
将返回一个数组:{1,99,198,297,...,25146}
答案 2 :(得分:1)
这并不关心长度,只是它是第四块:
=TRIM(MID(SUBSTITUTE(A1,"_",REPT(" ", 999)),3*999,999))
请注意
上面返回一个看起来像数字的文本字符串。如果需要数字,请将TRIM
替换为--
=--MID(SUBSTITUTE(A1,"_",REPT(" ", 999)),3*999,999)
答案 3 :(得分:1)