簡體   English   中英

只需要計算 excel 中下划線符號后的數字

[英]need to count only numbers after underscore symbol in excel

我需要檢查下划線符號后是否有數字,並將該數字計數如下所示。

aff_ua_affli_key_cm_12548210 aff_ua_affli_key_cm_\d{8} aff_ua_affli_key_cm_125211 aff_ua_affli_key_cm_\d{6} aff_ua_affli_key_cm_1254212 aff_ua_affli_key_cm_\d{7}

我對 excel 很陌生,請問如何為此編寫公式。 非常感謝你提前

也許你可以嘗試這樣的事情。 不確定您的 Excel 版本。

在此處輸入圖像描述


• 單元格B1中使用的公式

=REPLACE(A1,FIND("@",SUBSTITUTE(A1,"_","@",5)),255,
"_\d{"&LEN(-LOOKUP(0,-RIGHT(A1,ROW($ZY$1:INDEX($Z:$Z,LEN(A1))))))&"}")

如果你可以訪問MS365那么你可以嘗試如下,

在此處輸入圖像描述


• 單元格C1中使用的公式

=LET(x,TEXTSPLIT(A1,"_"),
c,LEN(TAKE(x,,-1)),
TEXTJOIN("_",,DROP(x,,-1),"\d{"&c&"}"))

我試過在MS365版本中縮短它

在此處輸入圖像描述


• 單元格D1中使用的公式

=TEXTBEFORE(A1,"_",-1)&"_\d{"&LEN(TAKE(TEXTSPLIT(A1,"_"),,-1))&"}"

以一溢陣訣。

在此處輸入圖像描述


• 單元格D1中使用的公式

=MAP(A1:A3,LAMBDA(m,
TEXTBEFORE(m,"_",-1)&"_\d{"&LEN(TAKE(TEXTSPLIT(m,"_"),,-1))&"}"))

我假設字符“cm_”總是在數字之前:

=len(mid(A1,find("cm_",A1,1)+3,30))

len() 計算字符數,

mid() 獲取在 find() 中定義的文本之后出現的數字

然后:

LEFT(A1,FIND("cm_",A1,1)+2)&"\d{"&LEN(MID(A1,FIND("cm_",A1,1)+3,30))&"}"

我的 output 在單元格D2中..

結果

=REPLACE(C2,MATCH(TRUE,ISNUMBER(--MID(C2,SEQUENCE(LEN(C2)),1)),0),LEN(C2),"\d{"&SUMPRODUCT((ISNUMBER(--MID (C2,序列(LEN(C2)),1))*1))&"}")

如果您的 excel 不支持序列 function 那么您可以使用 ROW(INDIRECT("1:"&LEN(C2)) 代替..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM