Manipular Jtable com condição, como proceder?

Boa tarde pessoal, esse é meu primeiro post aqui no fórum.
sou novo no assunto e por tanto já vou começar a fazer alguns cursos aqui do site, mas enquanto não fico bom, estou tendo muitas duvidas.
estou em uma parte que desconheço que é a manipulação da tabela.
eu tenho 4 colunas onde vou lançar dados coletados nelas e preciso que com base nesses resultados ela mude um combobox com conteúdo “Aprovado, Reprovado e Referencia” que está situado na grade da jttable.
eu tenho 2 maneiras de resultados…
1- coluna Resultado_Numerico -> onde são lançados os resultados numéricos
2- coluna Resultado_Texto -> onde são lançados os resultados texto e numéricos
alem dessas colunas eu tenho outra coluna que se chama “Tipo” onde ela contem valores "Min e Max, Texto, No Min, No Max"
onde são selecionados em outra jframe e tenho outra coluna com valores com base na coluna acima
exemplo: Min e Max (150 a 180) No Min (130) No Max (150) e texto (qualquer valor) pode ser qualquer valor, mas esse é apenas um exemplo.
oq quero com isso…
quando eu lançar resultados na coluna "Resultado_Numerico ou Resultado_Texto, ele faça a comparação e mude para aprovado, reprovado ou referencia.
se o valor do campo resultado numero estiver dentro da especificação do Min e Max, quer dizer q está aprovado e se estiver acima ou abaixo, reprovado.
se o valor do tipo texto for igual ou especificado exemplo “30043563” e a pessoa lançar o valor “30043563” quer dizer que está aprovado e se não estiver igual, quer dizer que está reprovado.
se o valor No Min ou No Max estiver igual exemplo “15” e a pessoa lançar “15” quer dizer que ele é referencia e se não estiver igual, é reprovado.
Por favor, alguém poderia me ajudar?

segue o código de tabela

DefaultTableModel modelo = new DefaultTableModel(null, new String[]{
        "ID", //  0
        "Ordem", //  1
        "Linha", //  2
        "Linha_Tipo", //  3
        "Setor", //  4
        "Perfil", //  5
        "Bpcs", //  6
        "Desc_Perfil", //  7
        "Projeto", //  8
        "OEM", //  9
        "Nº_Desenho", // 10
        "Nº_Plano", // 11
        "Operação", // 12
        "Equipamento", // 13
        "Desc_Teste", // 14
        "Complemento", // 15
        "Cod_Teste", // 16
        "Espec_Min", // 17
        "Espec_Max", // 18
        "Espec_Unid", // 19
        "Espec_Texto", // 20
        "Referência", // 21
        "Frequência", // 22
        "Freq_Unid", // 23
        "Produto", // 24
        "Origem", // 25
        "Tipo", // 26
        "Especificação", // 27
        "Freq_Texto", // 28
        "Laboratorio", // 29
        "Resultado_Numerico", // 30
        "Resultado_Texto", // 31
        "Observação", // 32
        "Aprovado"}) {         // 33
        @Override
        public boolean isCellEditable(int linha, int coluna) {
            switch (coluna) {
                case 30:
                case 31:
                    String tipo = (String) getValueAt(linha, 26);
                    if (tipo != null) {
                        switch (tipo) {
                            case "Min e Max":
                            case "No Min":
                            case "No Max":
                                return coluna == 30;
                            case "Texto":
                                return coluna == 31;
                            default:
                                return false;
                        }
                    }
                    return false;
                case 32:
                case 33:
                    return true;
                default:
                    return false;
            }
        }
    };

combobox

TableColumn coluna_um = CadresultadoTabela.getColumnModel().getColumn(33);
coluna_um.setCellEditor(new DefaultCellEditor(combo));
combo.addItem("");
combo.addItem("Aprovado");
combo.addItem("Reprovado");
combo.addItem("Referência");