Eu encontrei um método que parece funcionar, mas tem algum espaço para melhorias. (Eu ainda estou procurando por outras opções, mesmo que eu esteja postando isso.)
Use o código de formato numérico: [<1000]0;[>=1000]#.0,k
Isso exibe apenas o número (sem decimais) se for menor que 1000 . Se o número for maior que 1000 , ele exibirá o número dividido por 1000 e arredondado para um decimal com o seguinte k .
Aplicado ao exemplo anterior:
Observe que, como esse é um formato numérico e não uma fórmula, ele pode ser aplicado a qualquer número (até mesmo os rótulos dos eixos).
Problema: Isso não se encaixa nos requisitos da pergunta, porque seria melhor produzir 1k em vez de 1.0k . Eu posso me livrar do zero desnecessário com um # em vez de um 0 na string de formato, mas ele deixa o . .