Valore minimo in tempo excel. Massimo e minimo per condizione in MS EXCEL. Come effettuare una selezione in Excel per condizione

Questo foglio di calcolo gestirà quasi tutti i calcoli. È l'ideale per la contabilità. Per i calcoli, ci sono strumenti speciali: formule. Possono essere applicati a un intervallo oa singole celle. Per scoprire il numero minimo o massimo in un gruppo di celle, non è necessario cercarli da soli. È meglio utilizzare le opzioni previste per questo. Sarà anche utile capire come calcolare il valore medio in Excel.

Ciò è particolarmente vero nelle tabelle con grandi quantità di dati. Se la colonna, ad esempio, indica i prezzi dei prodotti del centro commerciale. E devi scoprire quale prodotto è il più economico. Se lo cerchi "manualmente", ci vorrà molto tempo. Ma in Excel, questo può essere fatto in pochi clic. L'utilità calcola anche la media aritmetica. Dopotutto, si tratta di due semplici operazioni: addizione e divisione.

Massimo e minimo

Ecco come trovare il valore massimo in Excel:

  1. Posiziona il cursore della cella ovunque.
  2. Vai al menu "Formule".
  3. Fare clic su Inserisci funzione.
  4. Selezionare "MAX" dall'elenco. Oppure scrivi questa parola nel campo "Cerca" e fai clic su "Trova".
  5. Nella finestra Argomenti, inserisci gli indirizzi dell'intervallo di cui desideri conoscere il valore massimo. In Excel, i nomi delle celle sono costituiti da una lettera e un numero ("B1", "F15", "W34"). E il nome dell'intervallo è la prima e l'ultima cella che sono incluse in esso.
  6. Invece di un indirizzo, puoi scrivere più numeri. Quindi il sistema mostrerà il più grande di loro.
  7. Fare clic su OK. Il risultato apparirà nella cella in cui si trovava il cursore.

Il passaggio successivo consiste nello specificare un intervallo di valori

Ora sarà più facile capire come trovare il valore minimo in Excel. L'algoritmo delle azioni è completamente identico. Basta selezionare "MIN" invece di "MAX".

La media

La media aritmetica si calcola come segue: somma tutti i numeri dell'insieme e dividi per il loro numero. In Excel puoi calcolare somme, scoprire quante celle ci sono in una riga e così via. Ma è troppo complicato e lungo. Dovrai utilizzare molte funzioni diverse. Tieni a mente le informazioni. O anche scrivere qualcosa su un pezzo di carta. Ma l'algoritmo può essere semplificato.

Ecco come trovare la media in Excel:

  1. Posizionare il cursore della cella in qualsiasi spazio libero nella tabella.
  2. Vai alla scheda "Formule".
  3. Fare clic su "Inserisci funzione".
  4. Seleziona MEDIA.
  5. Se questo elemento non è nell'elenco, aprilo utilizzando l'opzione "Trova".
  6. Nell'area Numero1 immettere l'indirizzo dell'intervallo. Oppure scrivi più numeri in diversi campi "Numero2", "Numero3".
  7. Fare clic su OK. Il valore desiderato apparirà nella cella.

Quindi puoi eseguire calcoli non solo con le posizioni nella tabella, ma anche con insiemi arbitrari. Excel, infatti, svolge il ruolo di una calcolatrice avanzata.

altri metodi

Il massimo, il minimo e la media possono essere trovati in altri modi.

  1. Trova la barra delle funzioni denominata "Fx". È sopra l'area di lavoro principale del tavolo.
  2. Posiziona il cursore in qualsiasi cella.
  3. Inserisci un argomento nel campo "Fx". Inizia con un segno di uguale. Quindi viene la formula e l'indirizzo dell'intervallo/cella.
  4. Dovresti ottenere qualcosa come "=MAX(B8:B11)" (massimo), "=MIN(F7:V11)" (minimo), "=AVERAGE(D14:W15)" (media).
  5. Fare clic sul "segno di spunta" accanto al campo funzione. Oppure premi semplicemente Invio. Il valore desiderato apparirà nella cella selezionata.
  6. La formula può essere copiata direttamente nella cella stessa. L'effetto sarà lo stesso.

Lo strumento Excel "Funzioni automatiche" aiuterà a trovare e calcolare.

  1. Posiziona il cursore nella cella.
  2. Trova il pulsante il cui nome inizia con "Auto". Ciò dipende dall'opzione predefinita selezionata in Excel (Somma automatica, Numero automatico, Offset automatico, Indice automatico).
  3. Fare clic sulla freccia nera sotto di essa.
  4. Selezionare MIN (minimo), MAX (massimo) o MEDIA (media).
  5. La formula apparirà nella cella contrassegnata. Fare clic su qualsiasi altra cella: verrà aggiunta alla funzione. "Trascina" la casella attorno ad esso per coprire l'intervallo. Oppure Ctrl-clic sulla griglia per selezionare un elemento alla volta.
  6. Quando hai finito, premi Invio. Il risultato verrà visualizzato in una cella.

In Excel, calcolare la media è abbastanza semplice. Non c'è bisogno di aggiungere e poi dividere l'importo. C'è una funzione separata per questo. Puoi anche trovare il minimo e il massimo in un set. È molto più facile che contare a mano o cercare numeri in un enorme foglio di calcolo. Pertanto, Excel è popolare in molti campi di attività in cui è richiesta la precisione: affari, audit, gestione dei registri del personale, finanza, commercio, matematica, fisica, astronomia, economia, scienze.

Dati iniziali
I dati di origine possono essere qualsiasi set di dati numerico, ad esempio un intervallo orizzontale o verticale, un array bidimensionale o anche intervalli non contigui o celle popolate individualmente. Per comodità, ho preso una matrice verticale unidimensionale A1: A5

Per risolvere questo problema, puoi utilizzare sia una colonna aggiuntiva con una formula intermedia, sia una formula di matrice

1. Soluzione con colonna extra

In B1 scrivi la formula

SE(A1<>0;A1;"")


e copialo nell'intervallo B2:B5. Questa formula intermedia in una colonna aggiuntiva "rimuoverà" gli zeri dai dati originali, sostituendoli con una stringa vuota ""

In C1 scrivi la formula

Restituirà il risultato desiderato: un numero 3

SE(A1<>0;A1;"")


devi usare la formula

SE(LA1>0;LA1;"")


2. Soluzione con una formula di matrice
Per risolvere questo problema, utilizzare la seguente formula di matrice:

MIN(SE(LA1:LA5<>0;LA1:LA5))



Come funziona: Questa è la parte della formula A1:A5<>0 forma una matrice (VERO:VERO:FALSO:FALSO:VERO), quindi usando la funzione IF() trasformeremo l'array nel seguente: (5:7:FALSO:FALSO:3). Poiché la funzione MIN() ignora il testo e i valori logici, quindi alla fine otteniamo il desiderato: il numero 3

Se sono presenti numeri negativi nell'intervallo, al posto della formula

MIN(SE(LA1:LA5<>0;LA1:LA5))


devi usare la formula

MIN(SE(LA1:LA5>0,LA1:LA5))


3. Soluzione con una formula semplice
Usa questa formula:

PICCOLO(LA1:LA5,CONTA SE(LA1:LA5,0)+1)



Come funziona: Utilizzo della funzione CONTA SE contiamo il numero di zeri nell'intervallo e aggiungendo uno a questo numero restituiamo il primo numero più piccolo maggiore di zero usando la funzione MENO

Se sono presenti numeri negativi nell'intervallo, al posto della formula

Excel ha una funzione per determinare il valore minimo. Tuttavia, trovare il valore minimo per condizione è problematico. Una funzione del componente aggiuntivo può far fronte a questa attività. =MINCESLI(simile alla funzione SOMMA.SE standard di Excel).

Nella versione Excel 2016 e sopra c'è una funzione incorporata MINESLI Puoi usarlo. Se il tuo Excel è una versione precedente, questa funzione può essere utilizzata installando il componente aggiuntivo VBA-Excel.

La funzione ha i seguenti argomenti =MINESLI( RANGE;CRITERI;[SEARCH_RANGE])

    ALLINEARE- Intervallo di celle controllate.

  • CRITERIO- Una condizione nel formato di un numero, un'espressione o un testo che specifica il controllo del valore minimo.
  • [ RICERCA_GAMMA ]- Intervallo effettivo per determinare il valore minimo. Se questo parametro non è specificato, verranno utilizzate le celle specificate dal parametro. ALLINEARE.

Esempio 1

Come criterio, puoi specificare valori ed espressioni logiche:

  1. Si consideri il seguente esempio, che determina il punteggio minimo in letteratura. Per questo, nel parametro CRITERIO viene specificato il valore "Letteratura" e il parametro ALLINEARE- elenco di articoli.
  2. Se si specifica un'espressione logica come criterio "<>Russo", quindi il voto minimo sarà determinato in tutte le materie ad eccezione della lingua russa.

Esempio 2

Nell'esempio seguente, il parametro RICERCA_GAMMA non è impostato, quindi il valore minimo è determinato tra le celle specificate nel parametro ALLINEARE.

CASI SPECIALI

In casi particolari, la soluzione può essere ottenuta enumerando tutte le possibili combinazioni.

Programma (C#):

Public static int FactGen(int n) ( int fact = new int; fact = 1; for (int i = 1; i< n + 1; i++) fact[i] = i * fact; return fact; } public static int PermsGenerator(int arr, int num, int fact) { int i, j, f, newind, newnum, newval, size = arr.Length; int result = new int; Array.Copy(arr, result, size); for (i = 0, newnum = num; i < size - 1; i++) { newind = newnum / (f = fact); newnum = newnum - newind * f; newval = result; for (j = i + newind; j >io; j--) risultato[j] = risultato; risultato[i] = nuovo valore; ) risultato di ritorno; ) public static int SumAbs(int arr) ( int sum = 0, prev = arr; foreach (int value in arr) ( sum += Math.Abs(value - prev); prev = value; ) return sum; ) public static int MaxArr(int arr, bool detprn) ( int i, j, sum, smax = -1, size = arr.Length; int perm, result = new int, fact = FactGen(size), sorted = new int, empire = new int;Array.Copy(arr, ordinato, size);Array.Sort(ordinato);for (i = 0; i< fact; i++) { if ((sum = SumAbs(perm = PermsGenerator(sorted, i, fact))) >smax) ( smax = sum; result = perm; ) if (detprn) ( Console.Write("\nPermutazione: "); foreach (int value in perm) Console.Write(value + " "); Console.Write(" Somma: (0) Somma massima: (1)", somma, smax); ) ) Console.Write("\nSelezione iniziale: "); foreach (valore int in arr) Console.Write(valore + " "); Console.Write("\nSelezione ordinata: "); foreach (valore int in ordinato) Console.Write(valore + " "); Console.Write("\nMigliore permutazione: "); foreach (valore int nel risultato) Console.Write(valore + " "); Console.WriteLine("\nImporto massimo: (0)", smax); impero=ordinato; impero=ordinato; impero=ordinato; per (i = 2, j = 0; i< size - 1; i++, j = (size) - 1 + ((i + 1) & 1) - j) empire[i] = sorted[j]; Console.Write("Эвристический алгоритм: "); foreach (int value in empire) Console.Write(value + " "); Console.WriteLine("\nСумма: {0}", SumAbs(empire)); return result; } static void Main(string args) { bool binc; int i, j, n, nmax = 10; int arr; Random rand = new Random(); MaxArr(new int { 1, 2, 3, 4 }, false); MaxArr(new int { 1, 2, 3, 4, 5 }, false); for (n = 6; n < nmax + 1; n++) { arr = new int[n]; for (i = 0; i < n;) { arr[i] = rand.Next(1, 5 * n); binc = true; for (j = 0; j < i; j++) binc &= (arr[i] != arr[j]); if (binc) i++; } MaxArr(arr, false); } }

Risultati:

Campione iniziale: 1 2 3 4 Campione ordinato: 1 2 3 4 Permutazione migliore: 2 4 1 3 Somma massima: 7 Euristica: 2 4 1 3 Somma: 7 Campione iniziale: 1 2 3 4 5 Campione ordinato: 1 2 3 4 5 Migliore permutazione: 2 4 1 5 3 Somma massima: 11 Algoritmo euristico: 2 4 1 5 3 Somma: 11 Campione originale: 26 10 21 4 27 5 Campione ordinato: 4 5 10 21 26 27 Migliore permutazione: 10 26 4 27 5 21 Somma massima: 99 Euristica: 10 26 4 27 5 21 Somma: 99 Campione originale: 34 3 32 16 28 27 26 Campione ordinato: 3 16 26 27 28 32 34 Migliore permutazione: 26 28 3 32 16 34 27 Somma massima: 97 Euristica : 26 28 3 34 16 32 27 Somma: 97 Campione originale: 27 3 34 38 18 29 31 39 Campione ordinato: 3 18 27 29 31 34 38 39 Migliore permutazione: 29 34 3 38 18 39 27 31 Somma massima: 128 Euristica: 29 34 3 39 18 38 27 31 Somma: 128 Campione iniziale: 40 27 4 9 32 35 41 39 2 Campione selezionato: 2 4 9 27 32 35 39 40 41 Miglior permutazione: 32 2 39 4 40 9 41 27 35 Somma massima: 223 Algoritmo euristico: 27 35 2 41 4 40 9 39 32 Somma: 221 Campione iniziale: 41 35 45 27 34 33 18 24 16 25 Campione ordinato: 16 18 24 25 27 33 34 35 41 45 Miglior permutazione: 27 34 16 35 18 41 24 45 25 33 Somma massima: 150 Algoritmo euristico: 27 34 16 45 18 41 24 35 25 33 Somma: 150

Così:

  1. È stata trovata una combinazione migliore per l'array originale.
  2. Non è stato immediatamente trovato un controesempio per l'algoritmo euristico.

DECISIONE GENERALE (10.02.2018)

Lascia stare
a = (a 0 = M 1 , a 1 = M 2 , …, a n-2 = M n-1 , a n-1 = M n ) - sequenza iniziale,
b = (b 0 , b 1 , …, b n-2 , b n-1 ) - la stessa sequenza in ordine crescente,
ñ = (c 0 , c 1 , …, c n-2 , c n-1 ) - sequenza richiesta.

Consideriamo separatamente i casi pari e dispari n.

Caso n = 2k

S(a) = S c (a) - |a n-1 - a 0 |, dove
S c a) = |a 0 - a 1 | + |a 1 - a 2 | + … + |a n-3 - a n-2 | + |a n-2 - a n-1 | + |a n-1 - a 0 |.

S c (a) è una somma algebrica che contiene ogni elemento originale a i due volte e il suo valore massimo è

S c_max = 2∑ i = 0, …, k-1 (h i - b i), dove h i = b i+k , i = 0…k-1.

Questo valore si ottiene in due varianti di permutazioni:
1) c 2i h (tutti gli elementi più grandi hanno indici pari);
2) c 2i + 1 h (tutti gli elementi più grandi hanno indici dispari).

Allo stesso tempo, il minimo |a n-1 - a 0 | = b k - b k-1 si ottiene ponendo una coppia di elementi mediani ai bordi della sequenza c.

La somma massima S è uguale a S max = 2∑ i = 0, …, k-2 (b i+k - b i) + b k-1 - b k , oppure

S max = 2∑ i = 0, …, k-2 (b n-1-i - b i) + b n-k - b k-1 ,

e si ottiene nei casi in cui la sequenza c contiene gli elementi più grandi in uno schema a scacchiera e gli elementi mediani b k-1 e b k sono ai bordi della sequenza.
Il numero di tali permutazioni per coppie differenti a i è 2(k-1)! 2.

Caso n = 2k+1

Una considerazione simile mostra che il massimo di S è uguale a

S max = 2∑ i=0…k-2 (b k+2+i - b k) + b k+1 - b k-1 + max (b k+1 - b k , b k - b k-1), o

S max = 2∑ i=0…k-2 (b n-1-i - b i) + b n-k - b k-1 + max (b k+1 - b k , b k - b k-1),

e si ottiene nei casi in cui gli elementi con indici maggiori di k sono sfalsati e la mediana e l'elemento più vicino ad essa sono ai bordi della sequenza.
Il numero di tali permutazioni per a i distinti a coppie non è inferiore a (k-1)!k! (se la mediana differisce dai vicini più vicini per lo stesso valore, allora ci sono il doppio delle permutazioni).

PROGRAMMA (C#):

Public static void T(string text, Stopwatch timer) ( TimeSpan ts = timer.Elapsed; string elapsedTime = String.Format("(0:00):(1:00):(2:00).(3:00) ", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds / 10); Console.Write(text + elapsedTime); ) public static int FactGen(int n) ( int fact = new int; fact = 1; per (int i = 1; i< n + 1; i++) fact[i] = i * fact; return fact; } public static int PermsGenerator(int arr, int num, int fact) { int i, j, f, newind, newnum, newval, size = arr.Length; int result = new int; Array.Copy(arr, result, size); for (i = 0, newnum = num; i < size - 1; i++) { f = fact; newind = i; while (newnum >= f) ( newind++; newnum -= f; ) newval = risultato; for (j = newind; j > i; j--) risultato[j] = risultato; risultato[i] = nuovo valore; ) risultato di ritorno; ) public static int SumAbs(int arr) ( int sum = 0, prev = arr; foreach (int value in arr) ( sum += Math.Abs(value - prev); prev = value; ) return sum; ) public static int CalcOptQuant (int n) ( int k = (n - 1) / 2, k2 = Math.Max(k-2, 0); int fact = FactGen(k + 2); return 2*fact[k] * ( (n-k-k< 2) ? fact : fact[k]); } public static int CalcMaxSum(int brr) { int i, size = brr.Length, k = size / 2, sum = 0; for (i = 0; i < k - 1; i++) sum += brr - brr[i]; sum = 2 * sum + brr - brr; if (size - 2 * k >0) somma += Math.Max(brr - brr[k], brr[k] - brr); somma di ritorno; ) public static int MaxArr(int arr, bool detprn) ( int i, j, sum, smax = -1, size = arr.Length; int perm, result = new int, fact = FactGen(size), sorted = new int , empire = new int; Stopwatch sw = new Stopwatch(); Console.WriteLine("\nSelezione iniziale: "); foreach (int value in arr) Console.Write(value + " "); sw.Restart(); for (io = 0; io< fact; i++) { perm = PermsGenerator(arr, i, fact); sum = SumAbs(perm); if (sum >smax) ( smax = somma; risultato = perm; ) ) if (detprn) Console.Write("\nMigliori permutazioni"); per (i = 0, j = 0; io< fact; i++) { perm = PermsGenerator(arr, i, fact); sum = SumAbs(perm); if (sum == smax) { j++; if (detprn) { Console.Write("\n#{0}: ", j); foreach (int value in perm) Console.Write(value + " "); } } } Array.Copy(arr, sorted, size); Array.Sort(sorted); Console.WriteLine("\nОтсортированная выборка: "); foreach (int value in sorted) Console.Write(value + " "); Console.Write("\nФакт Наибольшая сумма: {0} Лучших перестановок: {1}" + "\nРасчёт Наибольшая сумма: {2} Лучших перестановок, не менее: {3}", smax, j, CalcMaxSum(sorted), CalcOptQuant(size)); T("\nRuntime = ", sw); sw.Reset(); return result; } static void Main(string args) { bool binc; int i, j, n, nmax = 12; int arr = new int; Random rand = new Random(); MaxArr(new int { 0, 1, 2, 3, 4, 5 }, true); MaxArr(new int { 5, 1, 3, 5, 7, 9 }, true); MaxArr(new int { 0, 1, 2, 3, 4 }, true); MaxArr(new int { 0, 1, 2, 3 }, true); MaxArr(new int { 0, 1, 2 }, true); for (n = 3; n <= nmax; n++) { Array.Resize(ref arr, n); for (i = 0; i < n;) { arr[i] = rand.Next(10, 99); binc = true; for (j = 0; j < i; j++) binc &= (arr[i] != arr[j]); if (binc) i++; } MaxArr(arr, false); } }

RISULTATI:

Campione iniziale: 0 1 2 3 4 5 Migliori permutazioni #1: 2 4 0 5 1 3 #2: 2 4 1 5 0 3 #3: 2 5 0 4 1 3 #4: 2 5 1 4 0 3 #5: 3 0 4 1 5 2 #6: 3 0 5 1 4 2 #7: 3 1 4 0 5 2 #8: 3 1 5 0 4 2 Campione ordinato: 0 1 2 3 4 5 Fatto Somma più alta: 17 Migliori permutazioni: 8 Calcolo Somma massima: 17 Permutazioni migliori, almeno: 8 Tempo di esecuzione = 00:00:00.01 Campione iniziale: 5 1 3 5 7 9 Permutazioni migliori #1: 5 1 7 3 9 5 #2: 5 1 9 3 7 5 # 3: 5 3 7 1 9 5 #4: 5 3 9 1 7 5 #5: 5 7 1 9 3 5 #6: 5 7 3 9 1 5 #7: 5 9 1 7 3 5 #8: 5 9 3 7 1 5 #9: 5 1 7 3 9 5 #10: 5 1 9 3 7 5 #11: 5 3 7 1 9 5 #12: 5 3 9 1 7 5 #13: 5 7 1 9 3 5 #14 : 5 7 3 9 1 5 #15: 5 9 1 7 3 5 #16: 5 9 3 7 1 5 Campione ordinato: 1 3 5 5 7 9 Fatto Somma più alta: 24 Migliori permutazioni: 16 Calcolo Somma più alta: 24 Migliori permutazioni , almeno: 8 Runtime = 00:00:00.01 Campione iniziale: 0 1 2 3 4 Migliori permutazioni #1: 1 3 0 4 2 #2: 1 4 0 3 2 #3: 2 0 4 1 3 #4: 2 1 4 0 3 #5: 2 3 0 4 1 #6: 2 4 0 3 1 #7: 3 0 4 1 2 #8: 3 1 4 0 2 ordinati Campione attuale: 0 1 2 3 4 Fatto Somma più grande: 11 Migliori permutazioni: 8 Calcolo Somma più grande: 11 Migliori permutazioni, almeno: 4 Runtime = 00:00:00.01 Campione iniziale: 0 1 2 3 Migliori permutazioni n. 1: 1 3 0 2 #2: 2 0 3 1 Campione ordinato: 0 1 2 3 Fatto Somma più alta: 7 Migliori permutazioni: 2 Calcolo Somma più alta: 7 Migliori permutazioni, almeno: 2 Tempo di esecuzione = 00:00:00.00 Campione iniziale: 0 1 2 Migliori permutazioni #1: 0 2 1 #2: 1 0 2 #3: 1 2 0 #4: 2 0 1 Campione ordinato: 0 1 2 inferiore a: 2 Tempo di esecuzione = 00:00:00.01 Campione iniziale: 25 51 87 Ordinato campione: 25 51 87 Fatto Somma più alta: 98 Migliori permutazioni: 2 Calcolo Somma più alta: 98 Migliori permutazioni, almeno: 2 Tempo di esecuzione = 00:00:00.00 Campione originale: 78 10 34 64 Campione ordinato: 10 34 64 78 Fatto Somma più alta : 166 Migliori permutazioni: 2 Calcolo Somma più alta: 166 Migliori permutazioni, nientemeno ee: 2 Runtime = 00:00:00.00 Campione originale: 23 26 93 16 45 Campione ordinato: 16 23 26 45 93 :00:00.00 Campione originale: 85 12 11 13 90 88 Campione ordinato: 11 12 13 85 88 90 Effettivo massimo Somma: 382 Migliori permutazioni: 8 Calcolo Somma più alta: 382 Migliori permutazioni, almeno: 8 Tempo di esecuzione = 00:00:00.00 Campione iniziale: 82 43 28 55 29 39 18 Campione ordinato: 18 28 29 39 43 55 82 Fatto Somma più alta: 206 Migliori permutazioni: 24 Calcolo Somma massima: 206 Migliori permutazioni, almeno: 24 Runtime = 00:00:00. 00 Campione originale: 64 20 43 89 47 94 52 71 Campione ordinato: 20 43 47 52 64 71 89 94 Fatto Somma massima: 300 Permutazioni migliori: 72 Calcolo Somma massima: 300 Permutazioni migliori, min: 72 00.02 Campione originale: 45 53 81 17 76 97 26 50 51 Campione ordinato: 17 26 45 50 51 53 76 81 97 00:00.23 Campione originale: 55 51 36 12 82 63 89 58 14 22 Campione ordinato: 12 14 22 36 51 55 58 63 82 = 09 Runtime :00:02.46 Campione originale: 96 95 67 49 65 69 53 78 35 55 94 Campione ordinato: 35 49 53 55 65 67 69 78 94 95 96 permutazioni, almeno: 5760 Runtime = 00:00:29.21 Campione iniziale: 50 43 39 64 59 18 81 16 44 12 15 77 Campione selezionato: 12 15 16 18 39 43 44 50 59 64 77 81

ANALISI DEI RISULTATI

In tutti i casi considerati, i test hanno confermato pienamente la soluzione generale proposta.

Trovare il valore massimo/minimo è un compito semplice, ma diventa un po' più complicato se il MAX/MIN non si trova tra tutti i valori nell'intervallo, ma solo tra quelli che soddisfano una determinata condizione.

Sia una tabella con due colonne: testo e numero.

Per comodità di comprensione delle formule, ne creeremo due per ciascuna delle colonne: Testo (UN 6: UN 30 ) e Numeri (B6:B30 ). (vedi file di esempio).

Consideriamo alcuni compiti:

MA. Trova il valore massimo tra quei numeri che corrispondono al valore Testo 1(il criterio verrà inserito nella cella E6 ).
Quelli. cercheremo il valore massimo non tra tutti i valori della colonna Valori numerici, ma solo tra quelli che hanno nella stessa riga nella colonna MA il valore del testo è Testo 1. Scriviamo (non dimenticare di premere quando inserisci la formula CTRL+MAIUSC+INVIO):
=GRANDE(SE(LA6:LA30=MI6,LA6:LA30,"");1)

o con intervalli denominati:

=GRANDE(SE(Testo=E6,Numeri,"");1)

La parte Text=E6 della formula restituirà (TRUE:FALSE:FALSE:FALSE:TRUE:FALSE:FALSE:FALSE:TRUE:FALSE:FALSE:FALSE: TRUE:FALSE:FALSE:FALSE:TRUE:FALSE:FALSE: FALSE:TRUE: FALSE:FALSE:FALSE:FALSE) (per visualizzare il risultato, evidenziare questa parte della formula e premere il tasto). TRUE corrisponde alle righe che hanno una colonna Valori di testo contiene un valore Testo 1.

Parte della formula SE(Testo=E6;Numeri;""), restituirà (10:"":"":"":-66:"":"":"": -37:"":"":"":-5:"": "":"" : 4:"":"":"":8:"":"":"":""), dove il valore della colonna numerica viene sostituito da TRUE e il valore da FALSE. Invece di "" si potrebbe usare qualsiasi carattere di testo (lettera) o ometterlo del tutto (in questo caso l'array sarebbe simile a questo (10:FALSE:FALSE:FALSE:-66: FALSE:FALSE:FALSE:-37:FALSE: FALSO: FALSO :-5:FALSO:FALSO:FALSO:4: FALSO:FALSO:FALSO:8: FALSO:FALSO:FALSO:FALSO)).

La funzione GREAT() con il secondo parametro =1 viene utilizzata al posto della funzione MAX(), perché se nessuna delle righe soddisfa il criterio, allora la formula = MAX(("":"":"":"":"":"":"": "":"":"":"": "":"":"":"":"" :"":"": "":"":"":"":"":"":"")) restituirà 0!, che può essere fuorviante. La funzione GREAT() in questo caso restituirà l'errore #NUMBER!

B. Troviamo il valore massimo solo tra i numeri appartenenti a un determinato intervallo di valori, ad esempio da 5 a 50. I bordi possono essere inseriti nelle celle io 14 e J14 . La soluzione è:
=LARGE(IF((Numeri>=I14)*(Numeri<=J14);Числа);1)

A. Trova con aiuto formule di matrice il valore minimo tra quelli che corrispondono al valore Testo3:
=MIN(SE((Testo=E7),Numeri,"");1)

Quelli. se in colonna MA valore = Testo3, viene preso in considerazione il valore nella colonna B se valore<> Testo3, viene preso in considerazione il valore massimo +1, ovvero ovviamente NON il minimo. Inoltre, la funzione MIN() restituisce il valore minimo dall'array risultante, ed è chiaro che nessuno dei valori, dove<> Testo3, non distorce il risultato (vedi problema A).

Un'altra soluzione che utilizza la formula DMIN(), che non lo è formula di matrice.
=REMIN(LA5:B30,B5,I8:I9)

G. Troviamo il valore minimo, tra quelli maggiori di:
=REMIN(LA5:B30;B5;I10:I11)
dove nella gamma I10:I11 contiene criteri =B6>MEDIA(Numeri)

D. Troviamo il valore massimo modulo. Puoi vedere dalla figura sopra che questo è -99. Per fare questo, usa formula di matrice:

IF(MAX(ABS(Numeri))=MAX(Numeri),MAX(Numeri),-MAX(ABS(Numeri)))

e. Troviamo il numero minimo positivo:

=PICCOLO(Numeri;CONT.SE(Numeri;"<=0")+1) - la solita formula!

=PICCOLO(SE(Numeri>0, Numeri),1) - formula di matrice.

CONSIGLIO:

Tutte le attività di cui sopra possono essere risolte senza utilizzare la funzione DMIN(). Per fare ciò, è necessario creare una colonna aggiuntiva in cui verranno visualizzati solo i valori che soddisfano i criteri. Quindi, tra i valori selezionati, utilizzando le funzioni MAX() o MIN(), determinare rispettivamente il valore massimo o minimo (vedere il file di esempio Elenco senza formule di matrice).

Condizioni multiple

L'approccio di cui sopra può essere esteso ai casi in cui è necessario trovare il massimo o il minimo per più condizioni di testo.

In questo caso, dovrai scrivere un testo più complesso formula di matrice:

=SMALL(IF(($A$6:$A$16=E6)*($B$6:$B$16=F6),$C$6:$C$16,"");1)

Nel file di esempio, per chiarezza, il . Inoltre, vengono utilizzati criteri per la selezione (vedi celle gialle).

Allo stesso modo, puoi impostare formule per trovare il valore minimo per le righe i cui valori rientrano in un determinato intervallo.

Condividi con gli amici o salva per te:

Caricamento in corso...