Auditoria de comportamento: a fórmula atual repete exatamente a mesma busca duas vezes, mas não atende à regra declarada para IDs desconhecidos. XLOOKUP retorna 0 quando nenhuma chave é encontrada, e a comparação externa trata esse valor como um preço legítimo igual a zero. Uma LET que preservasse o comportamento manteria esse defeito, portanto a correção precisa ser indicada separadamente.
Fórmula LET corrigida para H2: =IF(B2="","",LET(productId,B2,quantity,E2,unitPrice,XLOOKUP(productId,Products!$A$2:$A$2000,Products!$D$2:$D$2000,NA(),0),IFERROR(IF(unitPrice>0,ROUND(quantity*unitPrice,2),0),"Revisar"))). productId e quantity documentam entradas relativas da linha; unitPrice realiza uma única busca exata nos intervalos fixos de origem. NA() garante que uma chave desconhecida chegue a IFERROR, enquanto um zero numérico real continua retornando 0. A alteração intencional de comportamento é ID desconhecido: 0 → Revisar. Os comportamentos de valor em branco, zero real, arredondamento e erro de entrada são preservados.
Compatibilidade: válida para os ambientes Microsoft 365 informados; mantenha a forma corrigida sem LET somente se uma pessoa destinatária futura não tiver compatibilidade com LET. O desempenho pode melhorar porque uma busca substitui duas em cada linha não vazia, mas não é possível alegar uma porcentagem de tempo de execução sem medir a pasta de trabalho.
Testes de equivalência/correção: P-10 ×3 → 37.50 nas versões antiga corrigida e LET; P-FREE ×2 → 0; P-99 → Revisar (correção intencional); ID vazio → vazio sem busca; quantidade “três” com preço positivo válido → Revisar; a cópia para H3 altera productId/quantity para B3/E3, enquanto os intervalos de Products permanecem fixos. Verifique também separadamente a existência de IDs de produto duplicados antes de confiar em qualquer busca de resultado único.