вывести диапазон чисел с помощью регулярного выражения

Подскажите как с помощью регулярного выражения (в гугл таблицах) вывести все числа (не цифры) из указанных таким образом: например -2-1;3;5-8 должно получиться: -2, -1, 0, 1, 3, 5, 6, 7, 8 (значения указанные через "-" должны вывестись диапазоном чисел, а разделенные ";" - только эти значения) Что то похожее на выбор листов при печати.


Ответы (2 шт):

Автор решения: Саша Панцевич
=JOIN(" ", bycol(INDEX(TO_TEXT( SPLIT(A7 ,";"))), LAMBDA(in,let(
first,--REGEXEXTRACT(in,"^-?\d+"),
last, --REGEXEXTRACT(in,"^-?\d+$|\d+$"),
JOIN(" ",SEQUENCE(1,last-first+1,first))))))

Решить задачу помог @Sag1ttar1us с телеграмм канала "таблицы гугл -чат" https://t.me/google_sheets_pro

Всем принявшим участие, спасибо за помощь!

→ Ссылка
Автор решения: Geo Alex

Вы всех здесь сильно смутили сразу рассказав по регулярки. Не все готовы воспринимать часть ответа не зная другой.

Но в общем, раз вопрос задан, должен быть и ответ, так что вот.

=REDUCE(,index(TO_TEXT( SPLIT(A1,";"))), LAMBDA(acc, cur, let(
first,--REGEXEXTRACT(cur,"^-?\d+"),
last, --REGEXEXTRACT(cur,"^-?\d+$|\d+$"),
acc&JOIN(" ",SEQUENCE(1,last-first+1,first))&" ")))

Что он делает - раскрывает перечисления: -1; 1; 3-7; 10 => -1 1 3 4 5 6 7 10

→ Ссылка