MS Excel: come lavorare con una colonna scelta dal valore nell'intestazione (riga1)


2

Sto importando un set di dati di grandi dimensioni da un sito Web e desidero creare alcune statistiche di riepilogo su un nuovo foglio. L'ordine delle colonne non è fisso, quindi voglio essere in grado (ad esempio) di contare tutte le celle con il valore di "1" nella colonna con intestazione "prioritaria". So che MATCH("Priority", 1:1)mi darà il numero di colonna, ma come posso usarlo in una COUNTformula?


Almeno le risposte sono abbastanza complicate da non essere imbarazzato da quanto sia stato facile!
Giustino,

Risposte:


3

La mia risposta:

=COUNTIF(OFFSET($A:$A,0,MATCH("Priority",1:1)-1),1)

Ora per spiegare:

Offset($A:$A,0,X)restituisce l'intera colonna a partire dal primo offset in base al Xquale in queste situazioni X = MATCH("Priority",1:1) - 1.

Perché MATCH("Priority",1:1)restituire il numero di colonna, dobbiamo sottrarre 1 per ottenere l'offset corretto.

Quindi l'ultimo bit ,1)indica che stiamo cercando il valore di 1.

Spero che sia sufficientemente chiaro in modo da poter rendere il resto di quelli di cui hai bisogno.

Nel caso non lo fosse, tutto ciò che dovresti cambiare è sostituirlo "Priority"con quello che vuoi cercare e l'ultimo 1con quello che stai cercando, e questo dovrebbe restituire il conteggio.

Solo per divertimento, funzionerebbe anche:

=COUNTIF(INDEX(1:1048576,0,MATCH("Priority",1:1)),1)

Risposta fantastica - usa sicuramente questa sulla mia :)
RocketDonkey il

Sono d'accordo, questo sembra più solido e posso sostituire altre formule per COUNTIFquando ho bisogno di altre forme di dati (ad esempio, potrebbe essere necessario calcolare la media di alcune colonne). Grazie!
Giustino,

2

Ecco un modo disordinato in cui potresti farlo che coinvolge le formule ADDRESSe INDIRECT(dati di esempio che si presume siano presenti A1:B6:

=COUNTIF(
    INDIRECT(SUBSTITUTE(ADDRESS(1,MATCH("Priority",1:1,0),4),"1","") & ":" &
             SUBSTITUTE(ADDRESS(1,MATCH("Priority",1:1,0),4),"1","")),
    1)

Fondamentalmente ciò che fa è trovare la corrispondenza della colonna Prioritynelle intestazioni (qui è la colonna B), trova il ADDRESS(in questo caso B1), converte il numero di colonna in una lettera ( SUBSTITUTE) e quindi lo converte in un intervallo effettivo ( INDIRECT).

inserisci qui la descrizione dell'immagine


+1 per essere abbastanza complicato che ho dovuto guardarlo per qualche minuto per capire perché funzionasse.
Daniel,

Haha, penso che sia più di un -1 nel mio libro. Avevo intenzione di dedicare un po 'più di tempo e cercare di ridurlo a una singola istanza delle cose I / S / A, ma la tua è migliore di qualsiasi cosa mi sarei inventato.
RocketDonkey,
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.