Мне нужна формула для подсчета чисел, начинающихся с определенных цифр в строке, разделенных запятыми

1-ая цифра всегда 1,2 или 3; вторая цифра может быть от 1 до 6. Мне нужно посчитать числа в строке, начинающиеся с 1, 2 и 3; и если эти числа больше нуля, то учитывайте их комбинации со второй цифрой.

Вот пример с ожидаемым решением. Допустим, A1 имеет следующую строку:

11234,12345, 23456, 31423, 13009, 14001,24005, 12222, 21222, 33215, 21236 

Затем:

  • B1 должен вернуть 5 (количество всех чисел в строке, начинающейся с 1)
  • C1 должно быть 3 (количество всех чисел в строке, начинающихся с 2)
  • D1 должно быть 2 (количество всех чисел в строке, начинающихся с 3)

2 ответа2

1

Как насчет этого:

=(LEN(","&SUBSTITUTE($A$1,", ",","))-LEN(SUBSTITUTE(","&SUBSTITUTE($A$1,", ",","), ","&B2,"")))/LEN(","&B2)

(Где строка B содержит строки, которые вы пытаетесь найти в A1.)


Как это устроено:

  • Вы можете заметить, что это появляется дважды: ","&SUBSTITUTE($A$1,", ",",") Это убирает пробелы и добавляет запятую в начале, так что ваш

исходная строка: 11234,12345, 23456, 31423, 13009, 14001,24005, 12222, 21222, 33215, 21236

становится

newString:, ,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). Разделите на длину ,1 (2), чтобы сказать, сколько раз произошла ,1 . (5)

Вы можете перетащить эту формулу в строку A и поместить в строку B различные цифры "поиска", и она будет подсчитывать их все.

Предостережение: это будет работать, только если числа разделены запятой и / или через запятую, как в вашем примере.

0

https://exceljet.net/formula/count-numbers-that-begin- при просмотре этого сайта. Таким образом, формула: = SUMPRODUCT(-(LEFT(L1: X20,1)= " ( введите цифру, которую вы хотите найти здесь) "))

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .