Excel: utilizzo di istruzioni IF nidificate contenenti caratteri jolly


1

Attualmente sto lavorando a un progetto in cui ho un elenco di visite dei pazienti in una clinica. A ciascun paziente viene assegnato un fornitore di cure primarie, ma questo non è sempre il fornitore di rendering in una determinata visita. Il mio compito è vedere quante visite ha avuto la clinica in cui il paziente ha effettivamente visto il proprio PCP. In realtà ho risolto quel problema su questo sito qualche giorno fa e sono stato in grado di utilizzare un'istruzione IF in Excel per determinare tutto ciò.

(Nota: con il modo in cui i dati vengono estratti dal database, il campo PCP contiene il nome completo e le credenziali del provider mentre il campo Rendering contiene solo il cognome)

=IF(COUNTIF([@PCP],"*"&[@Rendering]&"*")>0,"YES","")

Funziona perfettamente. Il problema è che ho appreso di una nuova svolta: dal momento che i fornitori della clinica lavorano in team, si dice che un paziente abbia visto il proprio PCP se visitasse qualcuno del team di quel PCP. Quindi non posso più solo confrontare i campi PCP e Rendering nel mio elenco di Excel.

So cosa bisogna fare, ma non sono sicuro di come farlo. Tutti i tentativi finora hanno provocato errori di sintassi Excel non specifici.

Proverò a configurarlo un po 'meglio per tutti. Diciamo che ci sono due squadre di tre fornitori.

Smith, John MD         Brown, Bob MD
Jones, Mike MD         Green, Ann MD
Doe, Jane MD           White, Mary MD

La mia tabella mostra i nomi Rendering e PCP fianco a fianco, e avrei voluto aggiungere un'altra colonna contenente l'istruzione IF che esegue il controllo (probabilmente qualcosa che dice semplicemente "SÌ" per risultati positivi e lascia tutto vuoto). Dovrebbe assomigliare a qualcosa di simile a questo:

Rendering              PCP                     Seen PCP/team?
---------------------------------------------------------------
Smith                  Smith, John MD          YES
Smith                  Jones, Mike MD          YES
Brown                  Smith, John MD
Green                  Brown, Bob MD           YES
Doe                    White, Mary MD
Doe                    Jones, Mike MD          YES

Quindi il risultato dovrebbe essere negativo solo se i nomi Rendering e PCP provengono da team diversi. E poiché ora sto controllando un elenco di nomi (o stringhe di testo) piuttosto che fare un semplice confronto tra celle, non posso più usare i miei parametri @PCPe @Rendering(a meno che non mi manchi qualcosa). Sto immaginando una serie di IFaffermazioni nidificate e ho passato un po 'di tempo a delineare la struttura di base di come dovrà apparire.

=IF(@PCP = Smith AND @Rendering = Smith, "YES", IF(@PCP = Smith AND @Rendering = Jones, "YES", IF(@PCP = Smith AND @Rendering = Doe, "YES", IF(@PCP = Jones AND @Rendering = Jones, "YES", IF(@PCP = Jones AND @Rendering = Smith, "YES", IF(@PCP = Jones AND @Rendering = Doe, "YES", IF(@PCP = Doe AND @Rendering = Doe, "YES", IF(@PCP = Doe AND @Rendering = Smith, "YES", IF(@PCP = Doe AND @Rendering = Jones, "YES", "")))))))))

Ovviamente quella sintassi non è del tutto corretta, ed è solo una delle due squadre (in realtà sto affrontando quattro squadre nella vita reale), ma sono sulla buona strada? Ho provato a fare solo una versione ridotta con solo due provider proprio come un esperimento ed Excel mi ha appena dato il messaggio "Sembra che tu stia provando a scrivere una formula ..." e non mi dice che cosa non va. So che dovrò usare i caratteri jolly a meno che non voglia digitare i nomi completi dei provider per il campo PCP ...

Qualcuno ha qualche suggerimento su come farlo funzionare?

Risposte:


1

Se hai l'elenco delle visite attivo Sheet1e l'elenco dei team attivi Sheet2. Farei (su Sheet1 C2):

=IF(AND(COUNTIF(Sheet2!$A$1:$A$3,"*"&A2&"*")>0,COUNTIF(Sheet2!$A$1:$A$3,B2)>0),"YES",IF(AND(COUNTIF(Sheet2!$B$1:$B$3,"*"&A2&"*")>0,COUNTIF(Sheet2!$B$1:$B$3,B2)>0),"YES",""))

Ecco un esempio del file: https://1drv.ms/x/s!Ao8EzDmtlA0JhiS_KbIZSnlWSno4


Penso che questo dovrebbe finire per funzionare! Continuerò a giocarci e tornerò per contrassegnare la risposta se sono soddisfatto dei risultati. Grazie per aver incluso anche il file di esempio - è super utile
EJF

Aggiornamento: questo era esattamente quello di cui avevo bisogno. Ho modificato la formula per tenere conto di tutti e quattro i nostri team effettivi e funziona perfettamente. Grazie mille!
EJF

0

Devi creare un Nome squadra, ad esempio Team A (Smith, John MD e Jones, Mike MD e Doe, Jane MD) Team B (Brown, Bob MD e Green, Ann MD e White, Mary MD) puoi aggiungere tutti i tuoi squadre in 2 colonne una per PCP il secondo Nome squadra (A, B, C e D) Usa Vlookup per trovare il Nome squadra per ogni Rendering e PCP e confrontarlo con Se, quando hai lo stesso Team scrivi SÌ "" vuoto .

=IF(VLOOKUP("*"&A2&"*",$F$2:$G$7,2,FALSE)=VLOOKUP(B2,$F$2:$G$7,2,FALSE),"YES","")

=if(vlookup("*"&@Rendering&"*",PCP:Team,2,False)=vlookup(@PCP,PCP:Team,2,False),"YES","")

I tuoi dati sono in A1: B7 come seconda tabella (Rendering, PCP, Visto ...)
F2: G7 è l'array delle 2 colonne (PCP: Team)
2 in Vlookup per leggere la seconda colonna Nome squadra
False per avere il risultato esatto

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.