Eseguire il calcolo su colonne in base all'intestazione della colonna


0

Sto cercando di automatizzare alcuni controlli in un file .csv con più fogli. Ho bisogno di una formula che cercherà un foglio specifico (foglio di farmaco) per due intestazioni di colonna ( AgeAtStarte AgeAtStop). Una volta trovato, eseguirà un'istruzione IF ( =IF(E2<=F2,"Ok","Not Ok")) sui valori di quelle due colonne, assicurandosi che AgeAtStartsia inferiore o uguale a AgeAtStop.

Foglio dei farmaci

  AgeAtStart    Other Column    Other Column    Other Column    AgeAtStop
    61.85           x                 x               x           61.98
    61.98           x                 x               x           72.22
    72.62           x                 x               x           73.74
    72.27           x                 x               x           72.57
    73.82           x                 x               x           73.85
    61.85           x                 x               x           61.98

Sono flessibile riguardo al modo in cui il foglio di riepilogo lo riporterà, ma i miei pensieri iniziali riportano il numero di AgeAtStartcui sono maggiori AgeAtStopo restituite la posizione delle celle che contengono l'età errata. Non voglio restituire risultati per ciascuna istruzione IF, ma piuttosto restituire un conteggio di quei controlli IF che hanno restituito "Ok" o "Not Ok".

Ho provato a ottenere questo risultato usando una combinazione di VLOOKUP e INDEX / MATCH, ma finora non riesco ad abbassare la logica. Forse VBA sarebbe una soluzione migliore?

EDIT: L' uso dell'implementazione di cybernetic.nomad funziona alla grande.

=IF(INDEX('Sheet2'!2:2,,MATCH("AgeAtStart",'Sheet2'!$1:$1,0))<INDEX('Sheet2'!2:2,,MATCH("AgeAtStop",'Sheet2'!$1:$1,0)),"OK","Not OK")

Come follow-up, sto inserendo questa formula in una scheda "Riepilogo" e facendo riferimento alla scheda "Dati". C'è un modo per applicare automaticamente questa formula "x" il numero di volte nel foglio "Riepilogo", dove "x" rappresenta il numero di righe nel foglio "dati"? Quindi, se il mio foglio dati ha 100 righe, nel foglio Riepilogo, la formula verrà popolata automaticamente 100 volte, facendo riferimento a ogni 100 righe.


Dove vuoi produrre i risultati dei tuoi controlli IF? Una nuova colonna? Un altro foglio? Un altro file? Ciò potrebbe aiutare i lettori a determinare se una formula o una macro è l'opzione migliore.
user2800

@ user2800, i risultati possono andare ovunque. Tuttavia, non voglio guardare tutti i risultati di ciascuna istruzione IF, ma piuttosto mostrare un riepilogo dei risultati, se ciò ha senso. Modificherò il mio post per chiarire.

Risposte:


0

Supponendo che i tuoi dati siano presenti A1:E7, inserisci la seguente formula inF2

=IF(INDEX(A5:E5,,MATCH("AgeAtStart",A$1:E$1,0))<INDEX(A5:E5,,MATCH("AgeAtStop",A$1:E$1,0)),"OK","Not OK")

E popolare

Per avere un riepilogo, puoi filtrare su "OK" o "Non OK", oppure fare un COUNTIF

Per ignorare gli spazi vuoti usare:

=IF(AND(NOT(ISBLANK(INDEX(A2:E2,,MATCH("AgeAtStart",A$1:E$1,0)))),NOT(ISBLANK(INDEX(A2:E2,,MATCH("AgeAtStop",A$1:E$1,0))))),IF(INDEX(A2:E2,,MATCH("AgeAtStart",A$1:E$1,0))<INDEX(A2:E2,,MATCH("AgeAtStop",A$1:E$1,0)),"OK","Not OK"),"")

Grazie! La formula funziona perfettamente! Ho avuto una domanda di follow-up, vedi modifica.

In realtà, è possibile ignorare le celle vuote con questa formula?

0

Sono stato in grado di espandere la risposta iniziale di cybernetic.nomad per raggiungere il mio obiettivo. Ho dettagliato la mia implementazione di seguito ...

Riepilogo Pass: conta tutte le occorrenze di "1" Fallito: conta tutte le occorrenze di "0" Record totali: conta le righe se la ricerca restituisce "Sì" Riepilogo

Riga di ricerca Righe: restituisce "Sì" se le celle della colonna A non sono vuote (il totale delle righe cambierà con i nuovi file) AgeAt: Se INDEX-MATCH restituisce uno spazio, non fa nulla. Altrimenti, confronta le età nelle colonne AgeAtStart e AgeAtStop Lookup

La formula nel foglio di ricerca viene copiata in colonne più righe in A e B rispetto all'uscita nei miei dati. Questo perché riceviamo questi file ogni due settimane e alcuni avranno più o meno righe. Formula

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.