Questão Converter código postal para declarar no OpenOffice


Estou tentando mover dados de dois dos nossos sistemas antigos para um novo sistema. O problema é que, em algum lugar ao longo da linha, a coluna "estado" de nosso banco de dados foi corrompida. Eu tenho uma coluna de códigos postais que eu preciso determinar para afirmar. Eu encontrei uma série de soluções para o Excel, mas eles não parecem jogar bem com o OpenOffice. Tenho certeza de que há uma maneira de fazer isso com o CSV de Aqui mas não sei bem por onde começar. Alguma ideia?


1


origem




Respostas:


Este é o caminho mais longo, mas funcionou para o que eu precisava. Espero que alguém possa usar essa informação. Eu poderia ter usado instruções OR adicionais para alguns dos estados, mas foi mais fácil para mim expor meu conjunto de dados sem ele.

Eu tinha tudo isso como uma única fórmula, mas era muito longo para o gosto do OO, então eu tive que dividi-lo em 4 fórmulas, colar as fórmulas em 4 colunas, criar uma quinta coluna que concatenasse as 4 primeiras e depois colar valores apenas da quinta coluna para a coluna "estado" original.

=IF(AND(S3>=99501;S3<=99950);"AK";IF(AND(S3>=35004;S3<=36925);"AL";IF(AND(S3>=71601;S3<=72959);"AR";IF(AND(S3>=75502;S3<=75502);"AR";IF(AND(S3>=85001;S3<=86556);"AZ";IF(AND(S3>=90001;S3<=96162);"CA";IF(AND(S3>=80001;S3<=81658);"CO";IF(AND(S3>=06001;S3<=06389);"CT";IF(AND(S3>=06401;S3<=06928);"CT";IF(AND(S3>=20001;S3<=20039);"DC";IF(AND(S3>=20042;S3<=20599);"DC";IF(AND(S3>=20799;S3<=20799);"DC";IF(AND(S3>=19701;S3<=19980);"DE";IF(AND(S3>=32004;S3<=34997);"FL";IF(AND(S3>=30001;S3<=31999);"GA";IF(AND(S3>=39901;S3<=39901);"GA";IF(AND(S3>=96701;S3<=96898);"HI";IF(AND(S3>=50001;S3<=52809);"IA";IF(AND(S3>=68119;S3<=68120);"IA";IF(AND(S3>=83201;S3<=83876);"ID";0))))))))))))))))))))
=IF(AND(S3>=60001;S3<=62999);"IL";IF(AND(S3>=46001;S3<=47997);"IN";IF(AND(S3>=66002;S3<=67954);"KS";IF(AND(S3>=40003;S3<=42788);"KY";IF(AND(S3>=70001;S3<=71232);"LA";IF(AND(S3>=71234;S3<=71497);"LA";IF(AND(S3>=01001;S3<=02791);"MA";IF(AND(S3>=05501;S3<=05544);"MA";IF(AND(S3>=20331;S3<=20331);"MD";IF(AND(S3>=20335;S3<=20797);"MD";IF(AND(S3>=20812;S3<=21930);"MD";IF(AND(S3>=03901;S3<=04992);"ME";IF(AND(S3>=48001;S3<=49971);"MI";IF(AND(S3>=55001;S3<=56763);"MN";IF(AND(S3>=63001;S3<=65899);"MO";IF(AND(S3>=38601;S3<=39776);"MS";IF(AND(S3>=71233;S3<=71233);"MS";IF(AND(S3>=59001;S3<=59937);"MT";IF(AND(S3>=27006;S3<=28909);"NC";IF(AND(S3>=58001;S3<=58856);"ND";0))))))))))))))))))))
=IF(AND(S3>=68001;S3<=68118);"NE";IF(AND(S3>=68122;S3<=69367);"NE";IF(AND(S3>=03031;S3<=03897);"NH";IF(AND(S3>=07001;S3<=08989);"NJ";IF(AND(S3>=87001;S3<=88441);"NM";IF(AND(S3>=88901;S3<=89883);"NV";IF(AND(S3>=06390;S3<=06390);"NY";IF(AND(S3>=10001;S3<=14975);"NY";IF(AND(S3>=43001;S3<=45999);"OH";IF(AND(S3>=73001;S3<=73199);"OK";IF(AND(S3>=73401;S3<=74966);"OK";IF(AND(S3>=97001;S3<=97920);"OR";IF(AND(S3>=15001;S3<=19640);"PA";IF(AND(S3>=02801;S3<=02940);"RI";IF(AND(S3>=29001;S3<=29948);"SC";IF(AND(S3>=57001;S3<=57799);"SD";IF(AND(S3>=37010;S3<=38589);"TN";IF(AND(S3>=73301;S3<=73301);"TX";IF(AND(S3>=75001;S3<=75501);"TX";IF(AND(S3>=75503;S3<=79999);"TX";0))))))))))))))))))))
=IF(AND(S3>=88510;S3<=88589);"TX";IF(AND(S3>=84001;S3<=84784);"UT";IF(AND(S3>=20040;S3<=20041);"VA";IF(AND(S3>=20040;S3<=20167);"VA";IF(AND(S3>=20042;S3<=20042);"VA";IF(AND(S3>=22001;S3<=24658);"VA";IF(AND(S3>=05001;S3<=05495);"VT";IF(AND(S3>=05601;S3<=05907);"VT";IF(AND(S3>=98001;S3<=99403);"WA";IF(AND(S3>=53001;S3<=54990);"WI";IF(AND(S3>=24701;S3<=26886);"WV";IF(AND(S3>=82001;S3<=83128);"WY";0))))))))))))

A fórmula de concatenação é simplesmente = CONCATENAR (T3; U3; V3; W3)

Espero que esta pergunta salve alguém mais algum tempo.


1



para o registro, você está usando uma planilha, não um banco de dados (você se refere a um DB em sua pergunta original) - horatio
Não, usei um despejo CSV do banco de dados em questão para reconstruir algumas colunas corrompidas. Eu editei o CSV no OpenOffice, adicionei essas fórmulas a uma série de novas colunas, colei os valores que resultaram na coluna de estado original, excluí as colunas da fórmula, salvei o CSV novamente e importei de volta para o banco de dados. - SickHippie


No curto prazo, você poderia importar uma lista atualizada e atualizada de CEPs para Estados usando uma fonte qualificada, como o Centro de Medicare e Serviços Medicare. Isso é orientado para os dados do pagador e está ativamente mantido. Depois disso, você poderia usar uma Tabela Dinâmica ou manipular o trabalho através do Open Office Base, e alguns SQL juntam magia para criar uma visão que você poderia sair para o Calc ou para um CSV. Que tipo de DB está por trás do seu sistema? Que tipo de mecanismo de importação está disponível?

Outro livre ferramenta seria usar o Quest TOAD para DA Freeware para se juntar as mesas. Esta é uma opção muito amigável com um pequeno aprendizado curva. Se você está fazendo o encanamento de dados / relatórios, isso é muito boa ferramenta, e vale o custo de uma licença.

Navegue até https://www.cms.gov/prospmedicarefeesvcpmtgen/

Faça o download do seguinte arquivo zip: CEP para o arquivo de localidade do transportador [ZIP, 4.08MB] - Atualizado em 17/08/11


1





Eu não olhei para o CSV do CEP, mas tenho certeza que você pode usar uma fórmula VLOOKUP () que examine esses dados.

=VLOOKUP(zipcode,csvdata,column number for state relative to zip in csvdata,FALSE)

1