Estou tentando criar uma fórmula para realizar consultas com base na caixa de seleção marcada e nos valores dos menus suspensos. E em seguida formate os dados a serem exibidos, desta forma:
Preciso agrupar todas as unidades feitas em um dia por prédio em 1 linha. Mas como estou criando um sistema de fatura e cada tipo de trabalho é cobrado de forma diferente, preciso garantir que em cada linha haja apenas 1 tipo de tipo de trabalho.
Mas não sei se é possível com fórmulas, o que seria muito mais conveniente do que o script de aplicativo.
Isso faz parte da planilha compartilhada abaixo:
Data | Cliente | Unidade | Sala | Tipo de emprego | Não completo |
---|---|---|---|---|---|
13/08 | Mônica | Prédio1 | 1C | dpt | verdadeiro |
13/08 | Mônica | Prédio1 | D | dpt | verdadeiro |
13/08 | Mônica | Prédio1 | 2 | dpt | verdadeiro |
13/08 | Mônica | Prédio1 | 1* | dpt | verdadeiro |
13/08 | Mônica | Prédio1 | 3 | dpt | verdadeiro |
13/08 | Mônica | Prédio1 | 12 | dpt | FALSO |
13/08 | Mônica | Prédio1 | 8 | dpt | FALSO |
13/08 | Mônica | Prédio1 | 9 | dpt | FALSO |
13/08 | Mônica | Prédio1 | 10 | dpt | FALSO |
13/08 | Mônica | Prédio1 | 4 | dpt | FALSO |
13/08 | Mônica | Prédio1 | 2 | dpt | FALSO |
13/08 | Mônica | Prédio2 | 8 | dpt | FALSO |
Aqui está a planilha com todas as guias explicadas
Eu tentei usar uma planilha auxiliar para conseguir isso, mas é uma bagunça e só faz metade do trabalho, vou colar só para você ter uma ideia, mas não foque nisso, pois haverá conflitos com o compartilhado folha, e eu não acho que valeria a pena dar uma olhada nela:
Folha auxiliar A2:E
=IF('Units Report'!C4="Yes",filter('Unit Log'!A2:A,NOT(REGEXMATCH('Unit Log'!J2:J,"\!"))),ARRAYFORMULA('Unit Log'!A2:A))
Folha auxiliar AA2:AE:
=sort(let(a,unique({A2:INDEX(A:A,MATCH(3,1/(A:A<>""))),C2:INDEX(C:C,MATCH(3,1/(C:C<>""))),B2:INDEX(B:B,MATCH(3,1/(B:B<>"")))}),map(INDEX(a,,1),INDEX(a,,2),INDEX(a,,3),lambda(y,z,f,{to_date(y),f,z,join(", ",filter(D:D&IF(LEN(E:E)," ("&E:E&")",),A:A&C:C&B:B=y&z&f)),join(", ",filter(D:D,A:A&C:C=y&z))}))))
Relatório de Unidades E2:
=QUERY('Helper sheet'!AA2:AG,
"select "&IF(A4="Yes","AA","AA")&
" where "&IF(A4="Yes","AA","AA")&" is not null"&
IF(A2<>""," and AA >= date '"&TEXT(A2,"yyyy-mm-dd")&"'","")&
IF(C2<>""," and AA <= date '"&TEXT(C2,"yyyy-mm-dd")&"'","")&
IF(A6=True,," and AB matches '"&TEXTJOIN("|",TRUE,A7:A)&"'")&
IF(C6=True,," and AC matches '"&TEXTJOIN("|",TRUE,C7:C)&"'")
)
Eu poderia compartilhar uma planilha mais completa, mas para economizar seu tempo, compartilhei apenas uma dúvida específica que tenho, então posso tentar fazer o resto sozinho.
Aqui está uma solução possível que você pode testar:
Usando sua própria consulta acima como conjunto de dados base step_1
Fórmula:
Column_A
guiaUnit Log
para o formato de data válida (graças a eles!!); que é algo que você pode precisar verificar novamente ao reutilizar a(s) fórmula(s) em sua planilha originalColumn_D
daUnit Log
guia Room está formatado para o tipo de dados TEXT , pois a consulta tem problemas para renderizar tipos de dados mistos em uma única coluna