Si applica a
Excel per Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010

Una funzione personalizzata usa il linguaggio della formula M, accetta un set di valori di input e quindi restituisce un singolo valore di output. Se si vuole riutilizzare più volte la logica o applicare lo stesso set di trasformazioni a una query o a un valore diverso, è consigliabile creare una funzione personalizzata e quindi richiamarla dove e quando necessario. Esistono diversi modi per creare una funzione personalizzata: 

Di seguito è riportato un semplice esempio di funzione personalizzata che segue una lunga tradizione di programmazione.

  1. Per creare una query vuota:Excel    Seleziona dati > Recupera dati > da altre origini > query vuota.Power Query    Fare clic con il pulsante destro del mouse su un punto vuoto nel riquadro Query a sinistra e quindi selezionare Nuova query > Altre origini > Query vuota.

  2. Nel riquadro Query a sinistra fai doppio clic sul nome e quindi rinomina la nuova query vuota in "HelloWorld".

  3. Selezionare la nuova query e quindi selezionare Home > Editor avanzato.

  4. Sostituire il codice di base del modello con il codice seguente:

    let      HelloWorld = () => ("Hello World") in      HelloWorld

  5. Scegliere Fatto.

  6. Hai modificato la query "HelloWorld" in una funzione personalizzata. Si noti l'icona della funzione Icona Funzione a sinistra.

  7. Per richiamare la funzione, selezionarla e quindi selezionare Richiama nell'anteprima dei dati.Richiamare la funzione personalizzata HelloWorld

  8. I risultati della funzione vengono visualizzati in Anteprima dati e aggiunti al riquadro Query come query con il nome predefinito Funzione richiamata. Potresti volerlo rinominare con qualcosa di più significativo, ad esempio "HelloWorldResult".

  9. Selezionare la query e quindi selezionare Home > Chiudi & Carica per visualizzare i risultati in un foglio di lavoro.

Risultati 

Risultati di HelloWorld in un foglio di lavoro

Nell'esempio seguente viene illustrato come passare un parametro a una funzione personalizzata per convertire un numero decimale in esadecimale.

  1. Per creare una query vuota:Excel    Seleziona dati > Recupera dati > da altre origini > query vuota.Power Query    Fare clic con il pulsante destro del mouse su un punto vuoto nel riquadro Query a sinistra e quindi selezionare Nuova query > Altre origini > Query vuota.

  2. Nel riquadro Query a sinistra rinominare la nuova query vuota in "MyHex".

  3. Selezionare la nuova query e quindi selezionare Home > Editor avanzato.

  4. Sostituire il codice di base del modello con il codice seguente:

    let      MyHex = (parameter1) => Number.ToText(parameter1,"X") in      MyHex

  5. Scegliere Fatto.

  6. La query , "MyHex", è stata modificata in una funzione personalizzata. Si noti l'icona della funzione Icona Funzione a sinistra.

  7. Per richiamare la funzione, selezionarla e quindi in Anteprima dati immettere un numero nella casella parametro1 e selezionare Richiama.

    Richiamare la funzione personalizzata MyHex

  8. I risultati della funzione vengono visualizzati in anteprima dati e aggiunti al riquadro Query come query con il nome predefinito Funzione richiamata. È possibile rinominarla con un nome più significativo, ad esempio "MyHexResult".

  9. Selezionare la query e quindi selezionare Home > Chiudi & Carica per visualizzare i risultati in un foglio di lavoro.

Risultati 

Risultato della funzione MyHex in un foglio di lavoro

Se è stata creata una funzione con almeno un parametro, è possibile richiamarla come funzione personalizzata per creare una nuova colonna e un nuovo valore per ogni riga di una tabella.

  1. Per aprire una query, individuane una che è stata precedentemente caricata dall'Editor di Power Query, seleziona una cella nei dati e quindi scegli Query > Modifica. Per altre informazioni, vedere Creare, modificare e caricare una query in Excel (Power Query).For more information see Create, edit, and load a query in Excel (Power Query).Nota    In questo esempio la query deve contenere almeno una colonna di un tipo di dati Numero intero .

  2. Creare la funzione personalizzata "MyHex", come illustrato nella sezione Creare e richiamare una funzione personalizzata con un parametro con il Editor avanzato.

  3. Nella query selezionare Aggiungi colonna > Richiama funzione personalizzata. Viene visualizzata la finestra di dialogo Richiama funzione personalizzata .

  4. Immettere il nuovo nome di colonna, ad esempio "HexConvert", nella casella Nuovo nome colonna .

  5. Selezionare il nome di una funzione personalizzata predefinita nell'elenco a discesa Query funzione. In questo esempio selezionare "MyHex".

  6. Poiché la funzione personalizzata fa riferimento a un parametro, il parametro viene visualizzato.

  7. Selezionare una colonna di un tipo di dati Numero intero come parametro per la funzione.Finestra di dialogo Richiama funzione personalizzata

  8. Selezionare OK.

Risultato

Viene creata una nuova colonna che mostra il valore esadecimale della colonna Numero intero immesso come parametro.

Nuova colonna MyHex di valori in un foglio di lavoro

Vedere anche

Guida di Power Query per Excel

Creare formule di Power Query in Excel

Creare una query con parametri

Gestire le query

Informazioni sulle funzioni Power Query M (docs.com)

Uso di funzioni personalizzate (docs.com)

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.