O valor de retorno é, na verdade, em branco ou, melhor ainda, "Não altere o que estava lá".
Isso é semelhante a uma tabela de peças ou roteamento em que várias partes ou etapas de roteamento são retornadas. Se não houver correspondência nos segmentos de entrada, nada será retornado.
Para tabelas de cálculo, isso pode ser um problema, pois não há como detectar um erro. A menos que ... você defina o sinalizador de erro primeiro.
Voltando ao exemplo da questão, suponha que os três segmentos de entrada sejam S1, S2 e S3 e suponhamos que os segmentos de saída sejam S101 e S102. A tabela calculada tem um nome de C.0001.
A maneira mais fácil é tornar o item configurado um item de uma passagem. Isso funciona imediatamente, mas é um recurso obsoleto, então tentaremos usar o cálculo estático.
Queremos disparar a regra quando um dos segmentos de entrada é alterado e definir os segmentos de saída como "erro" antes de chamar a tabela de cálculo. Testamos os segmentos de entrada comparando-os com um valor que eles nunca obterão, ou até mesmo * BLANK (parece que, contanto que apareçam no teste, isso funciona).
Então, aqui estão as regras C que usamos para fazer todo esse trabalho:
I ( S1 NE 'XYZ'
O S2 NE 'XYZ'
O S3 NE *BLANK )
* S101 EQ 1
* S102 EQ 2
* C.0001
Isso parece funcionar em todos os casos que testamos. Deixe-me saber se há circunstâncias em que isso não funciona, ou você sabe uma maneira melhor de fazer isso!