Power Query: Istruzione If - if nidificati e condizioni multiple
In Excel Power Query, l'istruzione IF è una delle funzioni più popolari per verificare una condizione e restituire un valore specifico a seconda che il risultato sia VERO o FALSO. Ci sono alcune differenze tra questa istruzione if e la funzione SE di Excel. In questo tutorial, introdurrò la sintassi di questa istruzione if e alcuni esempi semplici e complessi per te.
Sintassi di base dell'istruzione if in Power Query
Istruzione if in Power Query utilizzando una colonna condizionale
Istruzione if in Power Query scrivendo il codice M
Sintassi di base dell'istruzione if in Power Query
In Power Query, la sintassi è:
- logical_test: La condizione che si desidera testare.
- value_if_true: Il valore da restituire se il risultato è VERO.
- value_if_false: Il valore da restituire se il risultato è FALSO.
In Excel Power Query, ci sono due modi per creare questo tipo di logica condizionale:
- Utilizzare la funzionalità Colonna Condizionale per alcuni scenari di base;
- Scrivere il codice M per scenari più avanzati.
Nella sezione successiva, parlerò di alcuni esempi per l'utilizzo di questa istruzione if.
Istruzione if in Power Query utilizzando una colonna condizionale
Esempio 1: Istruzione if di base
Qui, ti mostrerò come utilizzare questa istruzione if in Power Query. Ad esempio, ho il seguente report sui prodotti: se lo stato del prodotto è Vecchio, visualizza uno sconto del 50%; se lo stato del prodotto è Nuovo, visualizza uno sconto del 20%, come mostrato negli screenshot qui sotto.
1. Seleziona la tabella dati dal foglio di lavoro, quindi, in Excel 2019 e Excel 365, clicca su Dati > Da Tabella/Intervallo, vedi screenshot:
Nota: In Excel 2016 e Excel 2021, clicca su Dati > Da Tabella, vedi screenshot:
2. Quindi, nella finestra Editor Power Query aperta, clicca su Aggiungi Colonna > Colonna Condizionale, vedi screenshot:
3. Nella finestra Aggiungi Colonna Condizionale che appare, effettua le seguenti operazioni:
- Nome Nuova Colonna: Inserisci un nome per la nuova colonna;
- Quindi, specifica i criteri necessari. Ad esempio, specificherò Se Stato uguale a Vecchio allora 50% altrimenti 20%;
- Nome Colonna: La colonna da valutare rispetto alla tua condizione if. Qui, seleziono Stato.
- Operatore: Logica condizionale da utilizzare. Le opzioni varieranno a seconda del tipo di dati del Nome Colonna selezionato.
- Testo: inizia con, non inizia con, uguale a, contiene, ecc.
- Numeri: uguale a, diverso da, maggiore o uguale a, ecc.
- Data: precedente a, successiva a, uguale a, diversa da, ecc.
- Valore: Il valore specifico da confrontare con la tua valutazione. Insieme al Nome Colonna e all'Operatore forma una condizione.
- Esporta a: Il valore da restituire se la condizione è soddisfatta.
- Altrimenti: Un altro valore da restituire quando la condizione è falsa.
4. Quindi, clicca sul pulsante OK per tornare alla finestra Editor Power Query. Ora, viene aggiunta una nuova colonna Sconto, vedi screenshot:
5. Se vuoi formattare i numeri come percentuali, clicca sull'icona ABC123 dall'intestazione della colonna Sconto e scegli Percentuale come necessario, vedi screenshot:
6. Infine, clicca su Home > Chiudi e Carica > Chiudi e Carica per caricare questi dati in un nuovo foglio di lavoro.
Esempio 2: Istruzione if complessa
Con questa opzione Colonna Condizionale, puoi anche inserire due o più condizioni nella finestra Aggiungi Colonna Condizionale. Procedi in questo modo:
1. Seleziona la tabella dati e vai alla finestra Editor Power Query cliccando su Dati > Da Tabella/Intervallo. Nella nuova finestra, clicca su Aggiungi Colonna > Colonna Condizionale.
2. Nella finestra Aggiungi Colonna Condizionale che appare, effettua le seguenti operazioni:
- Inserisci un nome per la nuova colonna nel campo Nome nuova colonna;
- Specifica il primo criterio nel primo campo dei criteri, quindi clicca sul pulsante Aggiungi Clausola per aggiungere altri campi di criteri secondo necessità.
3. Dopo aver finito i criteri, clicca sul pulsante OK per tornare alla finestra Editor Power Query. Ora, otterrai una nuova colonna con il risultato corrispondente di cui hai bisogno. Vedi screenshot:
4. Infine, clicca su Home > Chiudi e Carica > Chiudi e Carica per caricare questi dati in un nuovo foglio di lavoro.
Istruzione if in Power Query scrivendo il codice M
Normalmente, la Colonna Condizionale è utile per alcuni scenari di base. A volte, potresti aver bisogno di utilizzare più condizioni con logica AND o OR. In questo caso, devi scrivere il codice M all'interno di una Colonna Personalizzata per scenari più complessi.
Esempio 1: Istruzione if di base
Prendiamo i primi dati come esempio, se lo stato del prodotto è Vecchio, visualizza uno sconto del 50%; se lo stato del prodotto è Nuovo, visualizza uno sconto del 20%. Per scrivere il codice M, procedi in questo modo:
1. Seleziona la tabella e clicca su Dati > Da Tabella/Intervallo per andare alla finestra Editor Power Query.
2. Nella finestra aperta, clicca su Aggiungi Colonna > Colonna Personalizzata, vedi screenshot:
3. Nella finestra Colonna Personalizzata che appare, effettua le seguenti operazioni:
- Inserisci un nome per la nuova colonna nel campo Nome nuova colonna;
- Quindi, inserisci questa formula: if [Stato] = "Vecchio " then "50% " else "20% " nel campo formula della colonna personalizzata.
4. Quindi, clicca su OK per chiudere questa finestra di dialogo. Ora, otterrai il seguente risultato di cui hai bisogno:
5. Infine, clicca su Home > Chiudi e Carica > Chiudi e Carica per caricare questi dati in un nuovo foglio di lavoro.
Esempio 2: Istruzione if complessa
Di solito, per testare le sotto-condizioni, puoi nidificare più istruzioni if. Ad esempio, ho la seguente tabella dati. Se il prodotto è “Vestito”, applica uno sconto del 50% sul prezzo originale; se il prodotto è “Maglione” o “Felpa”, applica uno sconto del 20% sul prezzo originale; e gli altri prodotti mantengono il prezzo originale.
1. Seleziona la tabella dati e clicca su Dati > Da Tabella/Intervallo per andare alla finestra Editor Power Query.
2. Nella finestra aperta, clicca su Aggiungi Colonna > Colonna Personalizzata. Nella finestra Colonna Personalizzata aperta, effettua le seguenti operazioni:
- Inserisci un nome per la nuova colonna nel campo Nome nuova colonna;
- Quindi, inserisci la seguente formula nel campo formula della colonna personalizzata.
- = if [Prodotto] = "Vestito" then [Prezzo] * 0.5 else
if [Prodotto] = "Maglione" then [Prezzo] * 0.8 else
if [Prodotto] = "Felpa" then [Prezzo] * 0.8
else [Prezzo]
3. E poi, clicca sul pulsante OK per tornare alla finestra Editor Power Query, e otterrai una nuova colonna con i dati di cui hai bisogno, vedi screenshot:
4. Infine, clicca su Home > Chiudi e Carica > Chiudi e Carica per caricare questi dati in un nuovo foglio di lavoro.
La logica OR esegue più test logici e il risultato vero verrà restituito se uno qualsiasi dei test logici è vero. La sintassi è:
Supponiamo di avere la tabella sottostante, ora voglio che una nuova colonna mostri: se il prodotto è “Vestito” o “Maglietta”, allora il marchio è “AAA”, il marchio degli altri prodotti è “BBB”.
1. Seleziona la tabella dati e clicca su Dati > Da Tabella/Intervallo per andare alla finestra Editor Power Query.
2. Nella finestra aperta, clicca su Aggiungi Colonna > Colonna Personalizzata, nella finestra Colonna Personalizzata aperta, effettua le seguenti operazioni:
- Inserisci un nome per la nuova colonna nel campo Nome nuova colonna;
- Quindi, inserisci la seguente formula nel campo formula della colonna personalizzata.
- = if [Prodotto] = "Vestito" or [Prodotto] = "Maglietta" then "AAA"
else "BBB"
3. E poi, clicca sul pulsante OK per tornare alla finestra Editor Power Query, e otterrai una nuova colonna con i dati di cui hai bisogno, vedi screenshot:
4. Infine, clicca su Home > Chiudi e Carica > Chiudi e Carica per caricare questi dati in un nuovo foglio di lavoro.
La logica AND esegue più test logici all'interno di una singola istruzione if. Tutti i test devono essere veri affinché venga restituito il risultato vero. Se uno qualsiasi dei test è falso, viene restituito il risultato falso. La sintassi è:
Prendiamo i dati sopra come esempio. Voglio che una nuova colonna mostri: se il prodotto è “Vestito” e l'ordine è maggiore di 300, allora applica uno sconto del 50% sul prezzo originale; altrimenti, mantieni il prezzo originale.
1. Seleziona la tabella dati e clicca su Dati > Da Tabella/Intervallo per andare alla finestra Editor Power Query.
2. Nella finestra aperta, clicca su Aggiungi Colonna > Colonna Personalizzata. Nella finestra Colonna Personalizzata aperta, effettua le seguenti operazioni:
- Inserisci un nome per la nuova colonna nel campo Nome nuova colonna;
- Quindi, inserisci la seguente formula nel campo formula della colonna personalizzata.
- = if [Prodotto] ="Vestito" and [Ordine] > 300 then [Prezzo]*0.5
else [Prezzo]
3. Quindi, clicca sul pulsante OK per tornare alla finestra Editor Power Query, e otterrai una nuova colonna con i dati di cui hai bisogno, vedi screenshot:
4. Infine, carica questi dati in un nuovo foglio di lavoro cliccando su Home > Chiudi e Carica > Chiudi e Carica.
Istruzione if con logiche OR e AND
Bene, gli esempi precedenti sono facili da comprendere. Ora, rendiamolo più difficile. Puoi combinare AND e OR per formare qualsiasi condizione tu possa immaginare. In questo tipo, puoi utilizzare parentesi nella formula per definire regole complesse.
Prendiamo ancora i dati sopra come esempio, supponiamo che voglia che una nuova colonna mostri: se il prodotto è “Vestito” e il suo ordine è maggiore di 300, oppure il prodotto è “Pantaloni” e il suo ordine è maggiore di 300, allora mostra “A+”, altrimenti, mostra “Altro”.
1. Seleziona la tabella dati e clicca su Dati > Da Tabella/Intervallo per andare alla finestra Editor Power Query.
2. Nella finestra aperta, clicca su Aggiungi Colonna > Colonna Personalizzata. Nella finestra Colonna Personalizzata aperta, effettua le seguenti operazioni:
- Inserisci un nome per la nuova colonna nel campo Nome nuova colonna;
- Quindi, inserisci la seguente formula nel campo formula della colonna personalizzata.
- =if ([Prodotto] = "Vestito" and [Ordine] > 300 ) or
([Prodotto] = "Pantaloni" and [Ordine] > 300 )
then "A+"
else "Altro"
3. Quindi, clicca sul pulsante OK per tornare alla finestra Editor Power Query, e otterrai una nuova colonna con i dati di cui hai bisogno, vedi screenshot:
4. Infine, carica questi dati in un nuovo foglio di lavoro cliccando su Home > Chiudi e Carica > Chiudi e Carica.
Nel campo formula della colonna personalizzata, puoi utilizzare i seguenti operatori logici:
- = : Uguale a
- <> : Diverso da
- > : Maggiore di
- >= : Maggiore o uguale a
- < : Minore di
- <= : Minore o uguale a
I migliori strumenti per la produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, invece che in nuove finestre.
- Aumenta la tua produttività del50% e riduce centinaia di clic del mouse ogni giorno!