Estrazione di numeri all’interno di un intervallo (Microsoft Excel)
Robert ha una serie di numeri nella colonna A che vanno da 1 a 100. Vorrebbe estrarre solo quei valori tra 65 e 100, inclusi, e inserirli nella colonna B. Si chiede se ci sia un modo per farlo facilmente.
La risposta breve è che esiste un modo molto semplice per farlo, a condizione che non ti dispiaccia ordinare l’elenco dei numeri. Segui questi passaggi:
-
Seleziona una cella nella colonna A. (Non importa quale cella selezioni, purché sia una delle celle che contiene un numero.)
-
Visualizza la scheda Dati della barra multifunzione.
-
Fare clic sullo strumento Ordina dal più piccolo al più grande, nel gruppo Ordina e filtra.
Excel ordina tutti i numeri nella colonna.
-
Seleziona i numeri che vuoi inserire nella colonna B.
-
Premi Ctrl + X per tagliare le celle negli Appunti.
-
Seleziona la cella B1 (o la prima cella nella colonna B in cui desideri che appaiano i valori).
-
Premi Ctrl + V per incollare le celle nella colonna.
Questo è tutto; ora hai le celle desiderate nella colonna B. Se volevi semplicemente copiare le celle, al passaggio 5 avresti potuto premere Ctrl + C.
Se è necessario mantenere i valori nella colonna A nel loro ordine originale (meno i valori che si desidera spostare), è possibile farlo utilizzando la colonna B come colonna “ferma posizione”. A destra del primo valore nella colonna A, metti il valore 1. Quindi, sotto quello nella colonna B metti un 2, poi un 3 e così via, fino a quando ogni valore nella colonna A ha un valore corrispondente nella colonna B che indica la posizione dei numeri. Quindi, segui questi passaggi:
-
Seleziona una cella nella colonna A. (Non importa quale cella selezioni, purché sia una delle celle che contiene un numero.)
-
Visualizza la scheda Dati della barra multifunzione.
-
Fare clic sullo strumento Ordina dal più piccolo al più grande, nel gruppo Ordina e filtra.
Excel ordina tutti i numeri nella colonna.
-
Seleziona i numeri nella colonna A che vuoi spostare, insieme ai numeri alla loro destra nella colonna B.
-
Premi Ctrl + X per tagliare le celle negli Appunti.
-
Seleziona la cella D1. (È importante selezionare la cella D1 perché è necessario lasciare vuota la colonna C.)
-
Premi Ctrl + V per incollare le celle nelle colonne D ed E.
-
Seleziona una cella nella colonna B.
-
Visualizza la scheda Dati della barra multifunzione.
-
Fare clic sullo strumento Ordina dal più piccolo al più grande, nel gruppo Ordina e filtra.
Excel ordina tutti i numeri nella colonna in base ai valori nella colonna B.
-
Seleziona una cella nella colonna E.
-
La scheda Dati della barra multifunzione dovrebbe essere ancora visualizzata.
-
Fare clic sullo strumento Ordina dal più piccolo al più grande, nel gruppo Ordina e filtra.
Excel ordina tutti i numeri nella colonna in base ai valori nella colonna E.
-
Elimina le colonne B, C ed E.
A questo punto i valori nelle colonne A e B riflettono il loro ordine originale, da quando erano tutti nella colonna A.
Un altro modo per spostare le celle consiste nell’utilizzare le funzionalità di filtro di Excel. Segui questi passaggi:
-
Seleziona una cella nella colonna A. (Non importa quale cella selezioni, purché sia una delle celle che contiene un numero.)
-
Visualizza la scheda Dati della barra multifunzione.
-
Fare clic sullo strumento Filtro. Excel aggiunge una freccia a discesa del filtro sul lato destro dell’intestazione della colonna A.
-
Fare clic sulla freccia in basso e scegliere Filtri numerici | Fra. Excel visualizza la finestra di dialogo Filtro automatico personalizzato. (Vedi figura 1.)
-
Nella casella Maggiore o uguale a, immettere 65.
-
Nella casella Minore o uguale a, immettere 100.
-
Fare clic su OK. Excel limita ciò che viene mostrato solo a quelle righe che soddisfano i criteri specificati nei passaggi da 4 a 6.
-
Seleziona le celle che vengono visualizzate.
-
Premi Ctrl + C per copiare le celle negli Appunti.
-
Seleziona la cella B1 (o la prima cella nella colonna B in cui desideri che appaiano i valori).
-
Premi Ctrl + V per incollare le celle nella colonna.
-
Seleziona una delle celle nella colonna A.
-
Fare nuovamente clic sullo strumento Filtro. (La scheda Dati della barra multifunzione dovrebbe essere ancora visualizzata.) Excel rimuove il filtro applicato in precedenza.
È inoltre possibile utilizzare le formule nella colonna B per estrarre i valori che rientrano nell’intervallo desiderato. Un modo semplice per farlo è inserire questa formula nella cella B1:
=IF(AND(A1>=65, A1<=100),A1,"")
Copia la formula per quanto necessario nella colonna B e finisci con qualsiasi valore compreso tra 65 e 100, inclusi, “copiato”
nella colonna B. Se il valore è al di fuori di questo intervallo, la cella nella colonna B viene lasciata vuota.
Supponendo che non si desideri alcuna cella vuota nella colonna B, è possibile utilizzare una formula di matrice per acquisire i valori. Se i tuoi valori sono nell’intervallo A1: A500, inserisci quanto segue nella cella B1:
=IFERROR(INDEX(A$1:A$500,SMALL(IF(A$1:A$500>=65,ROW($1:$500)),ROW())),"")
Inseriscilo usando Ctrl + Maiusc + Invio, quindi copia la formula fino a quando desideri.
Ci sono, ovviamente, soluzioni basate su macro che puoi usare. Questi sono utili se hai bisogno di eseguire questa operazione un po ‘con i dati che recuperi da una fonte esterna. Quello che segue è un semplice esempio di una macro che potresti usare:
Sub ExtractValues1() Dim x As Integer x = 1 For Each cell In Selection If cell.Value >= 65 And cell.Value <= 100 Then Cells(x, 2) = cell.Value x = x + 1 End If Next cell End Sub
Si utilizza la macro selezionando le celle che si desidera valutare nella colonna A e quindi eseguendola. Esamina ogni cella e copia il valore nella colonna B. Il valore originale nella colonna A rimane invariato.
Per una maggiore flessibilità puoi fare affidamento sul chiedere all’utente i valori inferiore e superiore, come mostrato in questa macro:
Sub ExtractValues2() Dim iLowVal As Integer Dim iHighVal As Integer iLowVal = InputBox("Lowest value wanted?") iHighVal = InputBox("Highest value wanted?") For Each cell In Range("A:A") If cell.Value <= iHighVal And cell.Value >= iLowVal Then ActiveCell.Value = cell.Value ActiveCell.Offset(1, 0).Activate End If Next End Sub
Prima di eseguire la macro, seleziona la cella nella parte superiore dell’intervallo in cui desideri posizionare i valori estratti. Niente nella colonna A è interessato; solo i valori compresi tra l’intervallo inferiore e quello superiore vengono copiati nella nuova posizione.
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (13397) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 e Excel in Office 365.