
我需要一個公式來計算以逗號分隔的字串中以特定數字開頭的數字
第一個數字始終是 1,2 或 3;第二位數字可以是1到6之間。如果這些計數大於零,則計算它們與第二位數字的組合。
這是具有預期解決方案的範例。假設 A1 有以下字串:
11234,12345, 23456, 31423, 13009, 14001,24005, 12222, 21222, 33215, 21236
然後:
- B1 應傳回 5(字串中以 1 開頭的所有數字的計數)
- C1 應為 3(字串中以 2 開頭的所有數字的計數)
- D1 應為 2(字串中以 3 開頭的所有數字的計數)
答案1
這個怎麼樣:
=(LEN(","&SUBSTITUTE($A$1,", ",","))-LEN(SUBSTITUTE(","&SUBSTITUTE($A$1,", ",","), ","&B2,"")))/LEN(","&B2)
(其中行乙包含您嘗試在 A1 中匹配的字串。
怎麼運作的:
- 您可能會注意到它出現了兩次:
","&SUBSTITUTE($A$1,", ",",")
這會刪除空格並在前面添加一個逗號,因此您的
原始字串: 11234,12345, 23456, 31423, 13009, 14001,24005, 12222, 21222, 33215, 21236
變成
新字串: ,11234,12345,23456,31423,13009,14001,24005,12222,21222, 33215,21236
現在長公式可以重寫為:
=(LEN(newString)-LEN(SUBSTITUTE(newString, ","&B2,""))) /LEN(","&B2)
假設您要找的初始數字位於B1(例如B1
=1
這進一步崩潰如下:
=(LEN(newString)-LEN(SUBSTITUTE(newString, ",1" ))) /LEN(",1")
- 所以我們有:取得整個新字串的長度(67),然後減去所有出現的
,1
刪除的長度(57)。這給出了,1
(10)所佔用的字元數。除以 (2) 的長度,1
即可得知,1
發生了多少次。 (5)
您可以將此公式拖曳到 A 行,然後將不同的「搜尋」數字放入行中乙它會將它們全部計數。
警告: 僅當數字以逗號分隔和/或逗號空格分隔時才有效,如您的範例所示。
答案2
https://exceljet.net/formula/count-numbers-that-begin-with看看這個網站。所以公式是: =SUMPRODUCT(--(LEFT(L1:X20,1)="(在此輸入您要找的數字)”))