C'è un modo per specificare dinamicamente un array in Excel?


1

Ieri ho trovato questo esempio di dati e alcune formule di array:

enter image description here

L'idea è di utilizzare una formula per calcolare il numero di dipendenti nei dipartimenti A e B messi insieme.

Una soluzione offerta consisteva nell'usare una funzione array per sommare il risultato delle formule IF come questo:

{=SUM(IF(A2:A9=C2,B2:B9,0),IF(A2:A9=C3,B2:B9,0))}

Questo dà 16 se i criteri sono A e B e darà risultati diversi se cambi le lettere in Criteri.

Un'altra soluzione consisteva nel mettere i criteri in una costante di array e utilizzare questa funzione di array:

{=SUM(IF(A2:A9={"A","B"},B2:B9,0))}

Quindi, naturalmente, quello che voglio fare è essere in grado di usare questa costruzione più semplice ma non dover codificare la costante dell'array. Qualcosa sulla falsariga di:

{=SUM(IF(A2:A9=C2:C3,B2:B9,0))}

o

{=SUM(IF(A2:A9=INDIRECT("C2:C3"),B2:B9,0))}

Ma nessuna di quelle opere.

Sembra che abbia qualcosa a che fare con le diverse dimensioni degli array, perché se cambio i dati così:

enter image description here

e quindi utilizzare questa formula (notare che il confronto "array" è ora della stessa dimensione), fornisce la risposta corretta:

{=SUM(IF(A2:A9=C2:C9,B2:B9,0))}

Ma questo, ovviamente, non è un buon modo per stabilire dei criteri.

C'è un modo per sostituire la costante di array qualcosa che si riferisce alle due celle contenenti la critiera?

Grazie!

Risposte:


1

Un semplice coupon dovrebbe fare qui se sto valutando la richiesta giusta.

enter image description here


Sì, ci sono diversi modi per risolvere il problema di quanti dipendenti ci sono in A e B. La domanda era se esiste un modo di usare un formula matrice quello dinamicamente si riferisce a C2: C3 (l'intervallo nell'esempio originale) invece di codificare a macchina una costante di matrice. Ma grazie per la tua risposta.
vknowles
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.