Eu reformulei esta pergunta como se não tivesse resposta desde o primeiro ... talvez tenha sido um pouco prolixo.
Meus dados originais estão abaixo.
Nota - estes são apenas dados de teste, no meu arquivo é um intervalo derramado criado a partir de uma fórmula (consulte Fórmula para criar um produto cartesiano de dois conjuntos de dados em um intervalo derramado para essa fórmula)
Encontro | Texto |
---|---|
29/08/2021 | UMA |
29/08/2021 | B |
29/08/2021 | C |
30/08/2021 | UMA |
30/08/2021 | B |
30/08/2021 | C |
Eu adiciono tags XML aos dados usando esta fórmula (nota: a !null!
parte é onde está meu problema):
Data : ="<a>" & IF($B$4:$B$9=OFFSET($B$4:$B$9,-1,0),"!null!",$B$4:$B$9) & "</a>"
Texto : ="<b>" & $D$4:$D$9 & "</b>"
E, FILTERXML
em seguida, transformar os resultados em um intervalo de derramamento de duas colunas.
=LET(xml,"<y><x>" & TEXTJOIN("",FALSE,D3#,E3#) & "</x></y>",
x,"//x/a",
y,"//x/b",
CHOOSE({1,2},FILTERXML(xml,x),FILTERXML(xml,y)))
Como altero os !null!
marcadores de lugar para células vazias reais?
""
, "�"
e "<a></a>"
qualquer outra coisa que eu tentei retorna #VALUE!
erros.
Responda:
A resposta dada por @HasanNahiyanNobel me deu a ideia de usar SUBSTITUTE
. Por si só, faz com que as datas apareçam como seu valor numérico e a formatação das células não afeta isso. Usando TEXT
a formatação em torno do FILTERXML
que fornece as datas, esse problema foi resolvido.
Minha fórmula final é:
=LET(xml,"<y><x>" & TEXTJOIN("",FALSE,Z4#,AA4#) & "</x></y>",
x,"//x/a",
y,"//x/b",
CHOOSE({1,2},TEXT(SUBSTITUTE(FILTERXML(xml,x),"!null!",""),"dd-mmm"),FILTERXML(xml,y)))
Se o seu conjunto de dados não for muito grande, você pode simplesmente usar uma condição if
G3
assim:No entanto, isso tem que passar pela mesma
LET
função duas vezes. Se você precisar evitar isso, você pode usar colunasI
eJ
, onde:I3
=IF(G3:G8="!null!", "", G3:G8)
J3
=H3:H8
Se houver a possibilidade de você coletar mais alguns dados, digamos, algumas centenas a mais, use:
I3
=IFS(G3:G1000="!null!", "", G3:G1000="", "", TRUE, G3:G1000)
J3
=IF(H3:H1000="", "", H3:H1000)