вывести диапазон чисел с помощью регулярного выражения
Подскажите как с помощью регулярного выражения (в гугл таблицах) вывести все числа (не цифры) из указанных таким образом: например -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
Всем принявшим участие, спасибо за помощь!
Вы всех здесь сильно смутили сразу рассказав по регулярки. Не все готовы воспринимать часть ответа не зная другой.
Но в общем, раз вопрос задан, должен быть и ответ, так что вот.
=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