У меня есть некоторые значения в ячейке AA1 как
'SONA'|'SONAKSHI'|'SUMON'|'SUMONA'
Но это дает результат как
SONA'|'SONAKSHI'|'SUMON'|'SUMONA'
Я создал формулу,
=let(cell,indirect($CA$27&"1"), ifs(cell<>"", " AND "&CC27&" MATCHES '.*("&UPPER(cell)&").*' " , cell = "",""))
Это дает результат как
AND Col7 MATCHES '.*(SONA'|'SONAKSHI'|'SUMON'|'SUMONA').*'
'
отсутствует в начале. Как это исправить. Пожалуйста, помогите мне.
Мой ожидаемый результат
AND Col7 MATCHES '.*('SONA'|'SONAKSHI'|'SUMON'|'SUMONA').*'
Кажется, что одинарные кавычки вызывают проблемы в вашей формуле. Чтобы это исправить, вы можете избежать одинарных кавычек, добавив дополнительную одинарную кавычку перед каждой одинарной кавычкой в значениях ячеек. Вот как вы можете изменить формулу для достижения ожидаемого результата:
=LET(cell,INDIRECT($CA$27&"1"), IF(cell<>"", " AND "&CC27&" MATCHES '.*("&UPPER(SUBSTITUTE(cell,"'","''"))&").*' ", cell = "",""))
Используя функцию ПОДСТАВИТЬ для замены одинарных кавычек двойными одинарными кавычками (''
), вы гарантируете, что одинарные кавычки внутри значений ячеек правильно экранируются. Это должно дать вам ожидаемый результат:
AND Col7 MATCHES '.('SONA'|'SONAKSHI'|'SUMON'|'SUMONA').'
Мой ожидаемый результат
AND Col7 MATCHES '.*('SONA'|'SONAKSHI'|'SUMON'|'SUMONA').*'
"matches '.*('"& UPPER(cell) &").*'"
пытаться:
=IF(AG1 = "", LET(cell, INDIRECT($CA$27&"1"),
IFS(cell<>"", " AND "&CC27&" MATCHES '.*('"& UPPER(cell) &").*' " , cell = "","")), )
Ваша исходная формула не требует изменений и будет работать так, как задумано, если вы измените ведущую (первую) одинарную кавычку '
в Cell_AA1
с помощью дополнительной кавычки как таковой ''SONA'|'SONAKSHI'|'SUMON'|'SUMONA'
SONA'|'SONAKSHI'|'SUMON'|'SUMONA'