Вы можете использовать следующую формулу:
=AVERAGE(ARRAYFORMULA(REGEXEXTRACT(B6:B14, "\d+")*1))
Объяснение
Функция =REGEXTRACT()
извлечет первое совпадение регулярного выражения для данной строки. В этом случае будет извлечена первая цепочка чисел.
Затем результат функции умножается на 1. Это делается для преобразования типа результата =REGEXTRACT()
из строки в число, чтобы впоследствии мы могли вычислить среднее значение.
=REGEXTRACT()
по умолчанию работает с одиночными строками, но не с несколькими ячейками одновременно , По этой причине мы должны заключить вызов в =ARRAYFORMULA()
, что позволит вызывать его с диапазоном в качестве параметра.
Наконец, =AVERAGE()
вызывается функция.
Обработка пустых ячеек
С предыдущим ответом, учитывая диапазон, в котором хотя бы одна ячейка пуста / не соответствует регулярному выражению, указанному в =REGEXTRACT()
вызов, ошибка будет возвращена. У нас есть два основных варианта решения этой ситуации:
Игнорировать ячейку. Ячейка будет полностью игнорироваться для среднего вычисления:
=AVERAGE(ARRAYFORMULA(IFERROR(REGEXEXTRACT(B6:B14, "\d+")*1, "")))
Обрабатывать ячейку как 0
по отношению к среднему вычислению.
=AVERAGE(ARRAYFORMULA(IFERROR(REGEXEXTRACT(B6:B14, "\d+")*1, 0)))
Оба решения используют функцию =IFERROR()
. В случае, если вызов =REGEXTRACT()
возвращает ошибку, значение будет заменено соответственно на пустую строку (которая не учитывается при вычислении среднего значения) или вместо 0.