ошибка в формуле REGEXEXTRACT

145 views
Skip to first unread message

Alina Shah

unread,
Jul 25, 2021, 8:27:35 PM7/25/21
to contributor.pw
Александр, приветствую!
в этой таблице:
https://docs.google.com/spreadsheets/d/1kA10XbhcO781EKB0lUs41XS-xDl73m5iTfM17qXX25Q/edit#gid=352079058&range=P2:S2

в формуле 
={ ЕСЛИ(ИЛИ(--U4<10;--U4>22);REGEXEXTRACT(U4;"(\d)(\d)");{U4\""})\ ЕСЛИ(--U4>22; U4-22; "") }
ссылка на ячейку U4 - она обозначена как текст, но пишет ошибку:
Ошибка: Аргумент Параметр 1 в функции REGEXEXTRACT поддерживает только значения типа "текст". Тип значения "23" – число, поэтому его нельзя привести к типу "текст".

Пробовала создать пустой лист и если просто будут числа, то формула срабатывает, но если там какая либо формула, то не срабатывает.
Можете помочь?

Еще хотелось бы доработать формулу, что если один раз вычли 22 и результат больше 22, то снова надо отнять 22. 
Такое возможно?Скриншот 26-07-2021 032551.jpg

contributor.pw

unread,
Jul 25, 2021, 8:32:52 PM7/25/21
to contributor.pw
Нет доступа к примеру

Alina Shah

unread,
Jul 26, 2021, 7:50:45 AM7/26/21
to contributor.pw
открыла доступ

понедельник, 26 июля 2021 г. в 03:32:52 UTC+3, contributor.pw:

contributor.pw

unread,
Jul 26, 2021, 8:17:20 AM7/26/21
to contributor.pw
При попадании значения в ячейку Таблица пытается угадать его тип. Для REGEXEXTRACT нужно поставлять строку, поэтому придется усложнить формулу и сделать какое-нибудь преобразование, например, 

REGEXEXTRACT("" & U4;"(\d)(\d)");

Alina Shah

unread,
Jul 26, 2021, 11:57:42 AM7/26/21
to contributor.pw
благодарю, помогло :)
а как сделать чтобы отнималось столько раз 22, пока не будет 22 или меньше?
понедельник, 26 июля 2021 г. в 15:17:20 UTC+3, contributor.pw:

Alexander Ivanov ✔

unread,
Jul 26, 2021, 12:17:48 PM7/26/21
to contributor.pw
Изначально, условие было отнять, если больше 22. Но тут, вероятнее, нужно получить просто остаток от деления, например, 

=MOD(U3;22)

будет более уместным.

Alina Shah

unread,
Jul 26, 2021, 12:34:28 PM7/26/21
to contributor.pw
ДА, ВСЁ ВЕРНО РАБОТАЕТ. Столько условий, что порой не сразу все вспоминаешь)) Благодарю!

Теперь задача из всех найденных цифр сгруппировать в один столбик цифры. На скрине схематично показала как должно быть в итоге.

Такая формула что-то не работает, написала ее в ячейке L41:
=ИНДЕКС(SORTN(ТРАНСП({ ЕСЛИ({Z44:AJ52}="";"";--{Z44:AJ52}); СЖПРОБЕЛЫ(QUERY( ЕСЛИ("" & ТРАНСП({Z44:AJ52})="" & {Z44:AJ52};ЕСЛИ({Z44:AJ52}="";"";--{Z44:AJ52});); ; 9^9)) });9^9;2;1;1);;2)
понедельник, 26 июля 2021 г. в 19:17:48 UTC+3, Alexander Ivanov ✔:

Alina Shah

unread,
Jul 26, 2021, 1:28:25 PM7/26/21
to contributor.pw
Благодарю, всё разобралась, последний вопрос снят))

понедельник, 26 июля 2021 г. в 19:34:28 UTC+3, Alina Shah:

Alina Shah

unread,
Jul 26, 2021, 3:27:46 PM7/26/21
to contributor.pw
Александр, настал финал и, на мой взгляд, это самое сложное.
https://docs.google.com/spreadsheets/d/1kA10XbhcO781EKB0lUs41XS-xDl73m5iTfM17qXX25Q/edit#gid=352079058&range=J40

Необходимо все полученные цифры (синим цветом) разнести по правилам, см. прикрепленный файл.
Т.е. если есть соответствие количеству цифр, то нужным образом записать в голубую область гугл таблицы. 
Есть условия, когда мосты не образуются, выделены красным в ворде.

Записывать нужно именно через дефис и именно в той последовательности, как они записаны в таблице в ворде (записываются те мосты, которые нашлись). Если не нашлись, то не записываются.

Из полученных синих цифр (записала пока что вручную) образовались те мосты в голубой зоне,  которые подходят по правилам. Нужно чтобы формула сама это делала.
В файле есть еще один пример для теста. И прикрепила скрин как должно быть на выходе по дате Сергея.

Если это крайне сложно сделать, чтобы отображались именно те, которые есть, тогда в таблицу прочерк, см. оранжевую область в гугл таблице.

Под занавес будет задача вывести мосты у двух человек, т.е. как бы помноженная на два задача.

Будет еще один нюанс, но это уже будет мелочь, по сравнению с тем что предстоит сделать. Возможно и сама справлюсь :)

Работа серьезная и у меня в рукаве припасен для Вас бонус за эту работу :)

понедельник, 26 июля 2021 г. в 20:28:25 UTC+3, Alina Shah:
Сергей.jpg
_мосты_.docx

Alexander Ivanov

unread,
Jul 26, 2021, 3:33:51 PM7/26/21
to contri...@googlegroups.com
Алина, создайте новую ветку на форуме, чтобы не терять суть темы, пожалуйста.
______________________
С уважением, Александр


--
Вы получили это сообщение, поскольку подписаны на одну из тем в группе "contributor.pw".
Чтобы отменить подписку на эту тему, перейдите по ссылке https://groups.google.com/d/topic/contributorpw/h2Aw41uNF4M/unsubscribe.
Чтобы отменить подписку на эту группу и все ее темы, отправьте письмо на электронный адрес contributorp...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/contributorpw/3f864216-5921-4f5b-ab3d-6ee462201cd5n%40googlegroups.com.

Alina Shah

unread,
Jul 26, 2021, 3:35:48 PM7/26/21
to contributor.pw
сделала

понедельник, 26 июля 2021 г. в 22:33:51 UTC+3, Alexander Ivanov ✔:

Alina Shah

unread,
Jul 30, 2021, 6:19:08 AM7/30/21
to contributor.pw
а теперь получается если 22, то он делит на 22, а надо чтобы 22 оставалось.
Т.е. например сумма 44-22=22
Т.е. условие - отнимать столько раз 22, пока не будет 22 или больше. А если 22, то оставлять его.
Можно трансформировать формулу?

понедельник, 26 июля 2021 г. в 19:17:48 UTC+3, Alexander Ivanov ✔:
Изначально, условие было отнять, если больше 22. Но тут, вероятнее, нужно получить просто остаток от деления, например, 

contributor.pw

unread,
Aug 20, 2021, 6:58:17 AM8/20/21
to contributor.pw
а теперь получается если 22, то он делит на 22, а надо чтобы 22 оставалось.

Думаю, необходимо просто сместить на единицу, например, 22-1

Reply all
Reply to author
Forward
0 new messages