У меня есть 2 листа в Google Sheets/Excel, я пытаюсь создать новую строку после каждой запятой (если она есть), чтобы было легче увидеть. Я пробовал использовать regexreplace и substitute, но у меня просто не получается это сделать. Он просто выдает ошибку.
Формула, которая у меня сейчас есть, такова:формула
Я пытаюсь получить данные отсюда.извлечь данные
решение1
Формула, которую вы указываете в своем вопросе, следующая:
=VLOOKUP(B5,'tracking-feb'!A:F,4,FALSE) & =REGEXREPLACE('tracking-feb'!D2:D55,",",CHAR(10))
Здесь есть несколько проблем:
- Excel не имеетфункция рабочего листахотя Google Sheets так и называется
REGEXPREPLACE()
. Вы можете найти надстройки, которые предоставляют Excel ту же функциональность, или вы можете создать свою собственную надстройкуопределяемая пользователем функцияв VBA - см.Эта статьядля отправной точки. - Знак равенства используется для обозначения того, что содержимое ячейки рабочего листа следует рассматривать какформула. Этонетразмещены перед каждымфункция рабочего листа(например
VLOOKUP()
,SUM()
иIF()
), содержащиеся вформулаи это приведет к ошибке в Excel. - Theамперсандвойдите
&
в системуформулаявляетсяоператоркоторая объединяет (или объединяет) два текстовых выражения, например,="ABC"&"DEF"
возвращает текст"ABCDEF"
. Ваша формула (после удаления второго ошибочного знака равенства) пытается объединить результатыVLOOKUP(B5,'tracking-feb'!A:F,4,FALSE)
иREGEXREPLACE('tracking-feb'!D2:D55,",",CHAR(10))
. Я подозреваю, что на самом деле вы пытаетесь преобразовать любые символы запятой вVLOOKUP(B5,'tracking-feb'!A:F,4,FALSE)
символыCHAR(10)
.
Если 3. выше верно, то выражение, которое следует использовать, будет
=REGEXREPLACE(VLOOKUP(B5,'tracking-feb'!A:F,4,FALSE),",",CHAR(10))
В Excel, если вы решили проблему с REGEXREPLACE()
, ячейки необходимо отформатировать с включенным атрибутом «Перенос текста» для отображения CHAR(10)
в виде символа новой строки (Формат ячеек...>Вкладка «Выравнивание»>Флажок «Перенос текста» установлен).